From c59fba0c924632797e04645bc1c08b3f256344ff Mon Sep 17 00:00:00 2001 From: Gavin Date: Wed, 3 Nov 2021 15:25:25 +0800 Subject: [PATCH] =?UTF-8?q?add=20DFU=E4=BE=8B=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2.ble_app_dfu/README.md | 10 + .../ble_app_buttonless_dfu/hex/readme.txt | 3 + 2.ble_app_dfu/ble_app_buttonless_dfu/main.c | 853 + .../pca10040/s132/armgcc/Makefile | 252 + .../ble_app_buttonless_dfu_gcc_nrf52.ld | 114 + .../pca10040/s132/config/sdk_config.h | 5247 ++++++ ...app_buttonless_dfu_pca10040_s132.emProject | 147 + ...app_buttonless_dfu_pca10040_s132.emSession | 61 + .../pca10040/s132/ses/flash_placement.xml | 51 + .../pca10056/s140/armgcc/Makefile | 248 + .../ble_app_buttonless_dfu_gcc_nrf52.ld | 114 + .../pca10056/s140/config/sdk_config.h | 5275 ++++++ ...app_buttonless_dfu_pca10056_s140.emProject | 147 + ...app_buttonless_dfu_pca10056_s140.emSession | 7 + .../pca10056/s140/ses/flash_placement.xml | 51 + 2.ble_app_dfu/dfu_public_key.c | 12 + 2.ble_app_dfu/secure_bootloader/main.c | 148 + .../secure_bootloader/nrf_crypto_allocator.h | 58 + ...secure_bootloader_ble_s132_pca10040.uvoptx | 221 + ...ecure_bootloader_ble_s132_pca10040.uvprojx | 7139 ++++++++ .../pca10040_s132_ble/armgcc/Makefile | 262 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 156 + .../pca10040_s132_ble/config/sdk_config.h | 5378 ++++++ .../secure_bootloader_ble_s132_pca10040.ewd | 1350 ++ .../secure_bootloader_ble_s132_pca10040.ewp | 1174 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../pca10040_s132_ble/ses/flash_placement.xml | 59 + ...ure_bootloader_ble_s132_pca10040.emProject | 158 + ...ure_bootloader_ble_s132_pca10040.emSession | 44 + ..._bootloader_ble_s132_pca10040_debug.uvoptx | 221 + ...bootloader_ble_s132_pca10040_debug.uvprojx | 7661 ++++++++ .../pca10040_s132_ble_debug/armgcc/Makefile | 273 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 156 + .../config/sdk_config.h | 5461 ++++++ .../pca10040_s132_ble_debug/hex/license.txt | 3 + ...ure_bootloader_ble_s132_pca10040_debug.hex | 12599 ++++++++++++++ ...ure_bootloader_ble_s132_pca10040_debug.ewd | 1350 ++ ...ure_bootloader_ble_s132_pca10040_debug.ewp | 1187 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../ses/flash_placement.xml | 59 + ...otloader_ble_s132_pca10040_debug.emProject | 166 + ...otloader_ble_s132_pca10040_debug.emSession | 7 + .../pca10040_s212_ant/armgcc/Makefile | 246 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 150 + .../pca10040_s212_ant/config/sdk_config.h | 5026 ++++++ .../pca10040_s212_ant/ses/flash_placement.xml | 58 + ...ure_bootloader_ant_s212_pca10040.emProject | 151 + ...ure_bootloader_ant_s212_pca10040.emSession | 7 + .../pca10040_s212_ant_debug/armgcc/Makefile | 257 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 150 + .../config/sdk_config.h | 5109 ++++++ .../ses/flash_placement.xml | 58 + ...otloader_ant_s212_pca10040_debug.emProject | 159 + ...otloader_ant_s212_pca10040_debug.emSession | 7 + ...secure_bootloader_uart_mbr_pca10040.uvoptx | 221 + ...ecure_bootloader_uart_mbr_pca10040.uvprojx | 1349 ++ .../pca10040_uart/armgcc/Makefile | 250 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 120 + .../pca10040_uart/config/sdk_config.h | 5130 ++++++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../secure_bootloader_uart_mbr_pca10040.ewd | 1350 ++ .../secure_bootloader_uart_mbr_pca10040.ewp | 1159 ++ .../pca10040_uart/ses/flash_placement.xml | 53 + ...ure_bootloader_uart_mbr_pca10040.emProject | 151 + ...ure_bootloader_uart_mbr_pca10040.emSession | 7 + ..._bootloader_uart_mbr_pca10040_debug.uvoptx | 221 + ...bootloader_uart_mbr_pca10040_debug.uvprojx | 1397 ++ .../pca10040_uart_debug/armgcc/Makefile | 262 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 120 + .../pca10040_uart_debug/config/sdk_config.h | 5258 ++++++ .../pca10040_uart_debug/hex/license.txt | 3 + ...ure_bootloader_uart_mbr_pca10040_debug.hex | 3007 ++++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + ...ure_bootloader_uart_mbr_pca10040_debug.ewd | 1350 ++ ...ure_bootloader_uart_mbr_pca10040_debug.ewp | 1173 ++ .../ses/flash_placement.xml | 53 + ...otloader_uart_mbr_pca10040_debug.emProject | 160 + ...otloader_uart_mbr_pca10040_debug.emSession | 7 + ...ecure_bootloader_ble_s112_pca10040e.uvoptx | 221 + ...cure_bootloader_ble_s112_pca10040e.uvprojx | 6703 +++++++ .../pca10040e_s112_ble/armgcc/Makefile | 259 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 150 + .../pca10040e_s112_ble/config/sdk_config.h | 5344 ++++++ .../secure_bootloader_ble_s112_pca10040e.ewd | 1350 ++ .../secure_bootloader_ble_s112_pca10040e.ewp | 1168 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../ses/flash_placement.xml | 58 + ...re_bootloader_ble_s112_pca10040e.emProject | 151 + ...re_bootloader_ble_s112_pca10040e.emSession | 7 + ...bootloader_ble_s112_pca10040e_debug.uvoptx | 221 + ...ootloader_ble_s112_pca10040e_debug.uvprojx | 7661 ++++++++ .../pca10040e_s112_ble_debug/armgcc/Makefile | 274 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 156 + .../config/sdk_config.h | 5461 ++++++ ...re_bootloader_ble_s112_pca10040e_debug.ewd | 1350 ++ ...re_bootloader_ble_s112_pca10040e_debug.ewp | 1189 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../ses/flash_placement.xml | 59 + ...tloader_ble_s112_pca10040e_debug.emProject | 166 + ...tloader_ble_s112_pca10040e_debug.emSession | 7 + ...ecure_bootloader_uart_mbr_pca10040e.uvoptx | 221 + ...cure_bootloader_uart_mbr_pca10040e.uvprojx | 1349 ++ .../pca10040e_uart/armgcc/Makefile | 251 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 120 + .../pca10040e_uart/config/sdk_config.h | 5130 ++++++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../secure_bootloader_uart_mbr_pca10040e.ewd | 1350 ++ .../secure_bootloader_uart_mbr_pca10040e.ewp | 1161 ++ .../pca10040e_uart/ses/flash_placement.xml | 53 + ...re_bootloader_uart_mbr_pca10040e.emProject | 151 + ...re_bootloader_uart_mbr_pca10040e.emSession | 7 + ...secure_bootloader_ble_s140_pca10056.uvoptx | 221 + ...ecure_bootloader_ble_s140_pca10056.uvprojx | 7133 ++++++++ .../pca10056_s140_ble/armgcc/Makefile | 249 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 156 + .../pca10056_s140_ble/config/sdk_config.h | 5394 ++++++ .../secure_bootloader_ble_s140_pca10056.ewd | 1350 ++ .../secure_bootloader_ble_s140_pca10056.ewp | 1161 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../pca10056_s140_ble/ses/flash_placement.xml | 59 + ...ure_bootloader_ble_s140_pca10056.emProject | 156 + ...ure_bootloader_ble_s140_pca10056.emSession | 7 + ..._bootloader_ble_s140_pca10056_debug.uvoptx | 221 + ...bootloader_ble_s140_pca10056_debug.uvprojx | 7655 ++++++++ .../pca10056_s140_ble_debug/armgcc/Makefile | 260 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 156 + .../config/sdk_config.h | 5477 ++++++ .../pca10056_s140_ble_debug/hex/license.txt | 3 + ...ure_bootloader_ble_s140_pca10056_debug.hex | 12852 ++++++++++++++ ...ure_bootloader_ble_s140_pca10056_debug.ewd | 1350 ++ ...ure_bootloader_ble_s140_pca10056_debug.ewp | 1174 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../ses/flash_placement.xml | 59 + ...otloader_ble_s140_pca10056_debug.emProject | 164 + ...otloader_ble_s140_pca10056_debug.emSession | 7 + ...secure_bootloader_uart_mbr_pca10056.uvoptx | 221 + ...ecure_bootloader_uart_mbr_pca10056.uvprojx | 1343 ++ .../pca10056_uart/armgcc/Makefile | 237 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 120 + .../pca10056_uart/config/sdk_config.h | 5158 ++++++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../secure_bootloader_uart_mbr_pca10056.ewd | 1350 ++ .../secure_bootloader_uart_mbr_pca10056.ewp | 1146 ++ .../pca10056_uart/ses/flash_placement.xml | 53 + ...ure_bootloader_uart_mbr_pca10056.emProject | 149 + ...ure_bootloader_uart_mbr_pca10056.emSession | 7 + ..._bootloader_uart_mbr_pca10056_debug.uvoptx | 221 + ...bootloader_uart_mbr_pca10056_debug.uvprojx | 1391 ++ .../pca10056_uart_debug/armgcc/Makefile | 249 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 120 + .../pca10056_uart_debug/config/sdk_config.h | 5286 ++++++ .../pca10056_uart_debug/hex/license.txt | 3 + ...ure_bootloader_uart_mbr_pca10056_debug.hex | 3059 ++++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + ...ure_bootloader_uart_mbr_pca10056_debug.ewd | 1350 ++ ...ure_bootloader_uart_mbr_pca10056_debug.ewp | 1160 ++ .../ses/flash_placement.xml | 53 + ...otloader_uart_mbr_pca10056_debug.emProject | 158 + ...otloader_uart_mbr_pca10056_debug.emSession | 7 + .../secure_bootloader_usb_mbr_pca10056.uvoptx | 221 + ...secure_bootloader_usb_mbr_pca10056.uvprojx | 1409 ++ .../pca10056_usb/armgcc/Makefile | 251 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 120 + .../pca10056_usb/config/sdk_config.h | 5350 ++++++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../secure_bootloader_usb_mbr_pca10056.ewd | 1350 ++ .../secure_bootloader_usb_mbr_pca10056.ewp | 1167 ++ .../pca10056_usb/ses/flash_placement.xml | 53 + ...cure_bootloader_usb_mbr_pca10056.emProject | 162 + ...cure_bootloader_usb_mbr_pca10056.emSession | 7 + ...e_bootloader_usb_mbr_pca10056_debug.uvoptx | 221 + ..._bootloader_usb_mbr_pca10056_debug.uvprojx | 1481 ++ .../pca10056_usb_debug/armgcc/Makefile | 267 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 120 + .../pca10056_usb_debug/config/sdk_config.h | 5918 +++++++ .../pca10056_usb_debug/hex/license.txt | 3 + ...cure_bootloader_usb_mbr_pca10056_debug.hex | 4199 +++++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + ...cure_bootloader_usb_mbr_pca10056_debug.ewd | 1350 ++ ...cure_bootloader_usb_mbr_pca10056_debug.ewp | 1185 ++ .../ses/flash_placement.xml | 53 + ...ootloader_usb_mbr_pca10056_debug.emProject | 175 + ...ootloader_usb_mbr_pca10056_debug.emSession | 7 + ...ecure_bootloader_ble_s112_pca10056e.uvoptx | 221 + ...cure_bootloader_ble_s112_pca10056e.uvprojx | 6703 +++++++ .../pca10056e_s112_ble/armgcc/Makefile | 257 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 150 + .../pca10056e_s112_ble/config/sdk_config.h | 5344 ++++++ .../secure_bootloader_ble_s112_pca10056e.ewd | 1350 ++ .../secure_bootloader_ble_s112_pca10056e.ewp | 1166 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../ses/flash_placement.xml | 58 + ...re_bootloader_ble_s112_pca10056e.emProject | 151 + ...re_bootloader_ble_s112_pca10056e.emSession | 7 + ...bootloader_ble_s112_pca10056e_debug.uvoptx | 221 + ...ootloader_ble_s112_pca10056e_debug.uvprojx | 7661 ++++++++ .../pca10056e_s112_ble_debug/armgcc/Makefile | 272 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 156 + .../config/sdk_config.h | 5461 ++++++ ...re_bootloader_ble_s112_pca10056e_debug.ewd | 1350 ++ ...re_bootloader_ble_s112_pca10056e_debug.ewp | 1187 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../ses/flash_placement.xml | 59 + ...tloader_ble_s112_pca10056e_debug.emProject | 166 + ...tloader_ble_s112_pca10056e_debug.emSession | 7 + ...ecure_bootloader_uart_mbr_pca10056e.uvoptx | 221 + ...cure_bootloader_uart_mbr_pca10056e.uvprojx | 1349 ++ .../pca10056e_uart/armgcc/Makefile | 249 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 120 + .../pca10056e_uart/config/sdk_config.h | 5130 ++++++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../secure_bootloader_uart_mbr_pca10056e.ewd | 1350 ++ .../secure_bootloader_uart_mbr_pca10056e.ewp | 1159 ++ .../pca10056e_uart/ses/flash_placement.xml | 53 + ...re_bootloader_uart_mbr_pca10056e.emProject | 151 + ...re_bootloader_uart_mbr_pca10056e.emSession | 7 + ...secure_bootloader_ble_s113_pca10100.uvoptx | 221 + ...ecure_bootloader_ble_s113_pca10100.uvprojx | 6703 +++++++ .../pca10100_s113_ble/armgcc/Makefile | 254 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 150 + .../pca10100_s113_ble/config/sdk_config.h | 5360 ++++++ .../secure_bootloader_ble_s113_pca10100.ewd | 1350 ++ .../secure_bootloader_ble_s113_pca10100.ewp | 1162 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../pca10100_s113_ble/ses/flash_placement.xml | 58 + ...ure_bootloader_ble_s113_pca10100.emProject | 151 + ...ure_bootloader_ble_s113_pca10100.emSession | 7 + ..._bootloader_ble_s113_pca10100_debug.uvoptx | 221 + ...bootloader_ble_s113_pca10100_debug.uvprojx | 7661 ++++++++ .../pca10100_s113_ble_debug/armgcc/Makefile | 269 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 156 + .../config/sdk_config.h | 5477 ++++++ ...ure_bootloader_ble_s113_pca10100_debug.ewd | 1350 ++ ...ure_bootloader_ble_s113_pca10100_debug.ewp | 1183 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../ses/flash_placement.xml | 59 + ...otloader_ble_s113_pca10100_debug.emProject | 166 + ...otloader_ble_s113_pca10100_debug.emSession | 7 + ...secure_bootloader_ble_s140_pca10100.uvoptx | 221 + ...ecure_bootloader_ble_s140_pca10100.uvprojx | 6703 +++++++ .../pca10100_s140_ble/armgcc/Makefile | 254 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 150 + .../pca10100_s140_ble/config/sdk_config.h | 5360 ++++++ .../secure_bootloader_ble_s140_pca10100.ewd | 1350 ++ .../secure_bootloader_ble_s140_pca10100.ewp | 1162 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../pca10100_s140_ble/ses/flash_placement.xml | 58 + ...ure_bootloader_ble_s140_pca10100.emProject | 151 + ...ure_bootloader_ble_s140_pca10100.emSession | 7 + ..._bootloader_ble_s140_pca10100_debug.uvoptx | 221 + ...bootloader_ble_s140_pca10100_debug.uvprojx | 7661 ++++++++ .../pca10100_s140_ble_debug/armgcc/Makefile | 269 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 156 + .../config/sdk_config.h | 5477 ++++++ ...ure_bootloader_ble_s140_pca10100_debug.ewd | 1350 ++ ...ure_bootloader_ble_s140_pca10100_debug.ewp | 1183 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../ses/flash_placement.xml | 59 + ...otloader_ble_s140_pca10100_debug.emProject | 166 + ...otloader_ble_s140_pca10100_debug.emSession | 7 + ...ecure_bootloader_ble_s112_pca10100e.uvoptx | 221 + ...cure_bootloader_ble_s112_pca10100e.uvprojx | 6703 +++++++ .../pca10100e_s112_ble/armgcc/Makefile | 257 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 150 + .../pca10100e_s112_ble/config/sdk_config.h | 5344 ++++++ .../secure_bootloader_ble_s112_pca10100e.ewd | 1350 ++ .../secure_bootloader_ble_s112_pca10100e.ewp | 1166 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../ses/flash_placement.xml | 58 + ...re_bootloader_ble_s112_pca10100e.emProject | 151 + ...re_bootloader_ble_s112_pca10100e.emSession | 7 + ...bootloader_ble_s112_pca10100e_debug.uvoptx | 221 + ...ootloader_ble_s112_pca10100e_debug.uvprojx | 7661 ++++++++ .../pca10100e_s112_ble_debug/armgcc/Makefile | 272 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 156 + .../config/sdk_config.h | 5461 ++++++ ...re_bootloader_ble_s112_pca10100e_debug.ewd | 1350 ++ ...re_bootloader_ble_s112_pca10100e_debug.ewp | 1187 ++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../ses/flash_placement.xml | 59 + ...tloader_ble_s112_pca10100e_debug.emProject | 166 + ...tloader_ble_s112_pca10100e_debug.emSession | 7 + ...secure_bootloader_usb_mbr_pca10100e.uvoptx | 221 + ...ecure_bootloader_usb_mbr_pca10100e.uvprojx | 1415 ++ .../pca10100e_usb/armgcc/Makefile | 263 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 120 + .../pca10100e_usb/config/sdk_config.h | 5334 ++++++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + .../secure_bootloader_usb_mbr_pca10100e.ewd | 1350 ++ .../secure_bootloader_usb_mbr_pca10100e.ewp | 1180 ++ .../pca10100e_usb/ses/flash_placement.xml | 53 + ...ure_bootloader_usb_mbr_pca10100e.emProject | 164 + ...ure_bootloader_usb_mbr_pca10100e.emSession | 7 + ..._bootloader_usb_mbr_pca10100e_debug.uvoptx | 221 + ...bootloader_usb_mbr_pca10100e_debug.uvprojx | 1487 ++ .../pca10100e_usb_debug/armgcc/Makefile | 279 + .../armgcc/secure_bootloader_gcc_nrf52.ld | 120 + .../pca10100e_usb_debug/config/sdk_config.h | 5890 +++++++ .../iar/secure_bootloader_iar_nRF5x.icf | 61 + ...ure_bootloader_usb_mbr_pca10100e_debug.ewd | 1350 ++ ...ure_bootloader_usb_mbr_pca10100e_debug.ewp | 1198 ++ .../ses/flash_placement.xml | 53 + ...otloader_usb_mbr_pca10100e_debug.emProject | 177 + ...otloader_usb_mbr_pca10100e_debug.emSession | 7 + .../secure_bootloader/secure_bootloader.eww | 52 + 2.ble_app_dfu/test_image/app_00.hex | 3372 ++++ 2.ble_app_dfu/test_image/app_11.hex | 3372 ++++ 2.ble_app_dfu/test_image/app_dfu_00.zip | Bin 0 -> 54405 bytes 2.ble_app_dfu/test_image/app_dfu_11.zip | Bin 0 -> 54405 bytes 2.ble_app_dfu/test_image/app_release.hex | 14472 ++++++++++++++++ 2.ble_app_dfu/test_image/dfu_public_key.c | 12 + 2.ble_app_dfu/test_image/key.pem | 5 + 2.ble_app_dfu/test_image/output_1.hex | 14370 +++++++++++++++ 2.ble_app_dfu/test_image/sd_7.2.0.hex | 9547 ++++++++++ .../test_image/secure_bootloader.hex | 1469 ++ 2.ble_app_dfu/test_image/settings.hex | 104 + README.md | 3 +- 317 files changed, 433726 insertions(+), 1 deletion(-) create mode 100644 2.ble_app_dfu/README.md create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/hex/readme.txt create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/main.c create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/armgcc/Makefile create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/armgcc/ble_app_buttonless_dfu_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/config/sdk_config.h create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/ses/ble_app_buttonless_dfu_pca10040_s132.emProject create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/ses/ble_app_buttonless_dfu_pca10040_s132.emSession create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/armgcc/Makefile create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/armgcc/ble_app_buttonless_dfu_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/config/sdk_config.h create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/ses/ble_app_buttonless_dfu_pca10056_s140.emProject create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/ses/ble_app_buttonless_dfu_pca10056_s140.emSession create mode 100644 2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/dfu_public_key.c create mode 100644 2.ble_app_dfu/secure_bootloader/main.c create mode 100644 2.ble_app_dfu/secure_bootloader/nrf_crypto_allocator.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/arm5_no_packs/secure_bootloader_ble_s132_pca10040.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/arm5_no_packs/secure_bootloader_ble_s132_pca10040.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/iar/secure_bootloader_ble_s132_pca10040.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/iar/secure_bootloader_ble_s132_pca10040.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/ses/secure_bootloader_ble_s132_pca10040.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/ses/secure_bootloader_ble_s132_pca10040.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/arm5_no_packs/secure_bootloader_ble_s132_pca10040_debug.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/arm5_no_packs/secure_bootloader_ble_s132_pca10040_debug.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/hex/license.txt create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/hex/secure_bootloader_ble_s132_pca10040_debug.hex create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/iar/secure_bootloader_ble_s132_pca10040_debug.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/iar/secure_bootloader_ble_s132_pca10040_debug.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/ses/secure_bootloader_ble_s132_pca10040_debug.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/ses/secure_bootloader_ble_s132_pca10040_debug.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/ses/secure_bootloader_ant_s212_pca10040.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/ses/secure_bootloader_ant_s212_pca10040.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/ses/secure_bootloader_ant_s212_pca10040_debug.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/ses/secure_bootloader_ant_s212_pca10040_debug.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart/iar/secure_bootloader_uart_mbr_pca10040.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart/iar/secure_bootloader_uart_mbr_pca10040.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart/ses/secure_bootloader_uart_mbr_pca10040.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart/ses/secure_bootloader_uart_mbr_pca10040.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10040_debug.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10040_debug.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/hex/license.txt create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/hex/secure_bootloader_uart_mbr_pca10040_debug.hex create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/iar/secure_bootloader_uart_mbr_pca10040_debug.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/iar/secure_bootloader_uart_mbr_pca10040_debug.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/ses/secure_bootloader_uart_mbr_pca10040_debug.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/ses/secure_bootloader_uart_mbr_pca10040_debug.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10040e.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10040e.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/iar/secure_bootloader_ble_s112_pca10040e.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/iar/secure_bootloader_ble_s112_pca10040e.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/ses/secure_bootloader_ble_s112_pca10040e.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/ses/secure_bootloader_ble_s112_pca10040e.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10040e_debug.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10040e_debug.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10040e_debug.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10040e_debug.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10040e_debug.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10040e_debug.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040e.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040e.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_uart/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_uart/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_uart/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_uart/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_uart/iar/secure_bootloader_uart_mbr_pca10040e.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_uart/iar/secure_bootloader_uart_mbr_pca10040e.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_uart/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_uart/ses/secure_bootloader_uart_mbr_pca10040e.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10040e_uart/ses/secure_bootloader_uart_mbr_pca10040e.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10056.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10056.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/iar/secure_bootloader_ble_s140_pca10056.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/iar/secure_bootloader_ble_s140_pca10056.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/ses/secure_bootloader_ble_s140_pca10056.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/ses/secure_bootloader_ble_s140_pca10056.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10056_debug.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10056_debug.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/hex/license.txt create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/hex/secure_bootloader_ble_s140_pca10056_debug.hex create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10056_debug.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10056_debug.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10056_debug.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10056_debug.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart/iar/secure_bootloader_uart_mbr_pca10056.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart/iar/secure_bootloader_uart_mbr_pca10056.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart/ses/secure_bootloader_uart_mbr_pca10056.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart/ses/secure_bootloader_uart_mbr_pca10056.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10056_debug.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10056_debug.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/hex/license.txt create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/hex/secure_bootloader_uart_mbr_pca10056_debug.hex create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/iar/secure_bootloader_uart_mbr_pca10056_debug.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/iar/secure_bootloader_uart_mbr_pca10056_debug.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/ses/secure_bootloader_uart_mbr_pca10056_debug.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/ses/secure_bootloader_uart_mbr_pca10056_debug.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10056.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10056.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb/iar/secure_bootloader_usb_mbr_pca10056.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb/iar/secure_bootloader_usb_mbr_pca10056.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb/ses/secure_bootloader_usb_mbr_pca10056.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb/ses/secure_bootloader_usb_mbr_pca10056.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10056_debug.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10056_debug.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/hex/license.txt create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/hex/secure_bootloader_usb_mbr_pca10056_debug.hex create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/iar/secure_bootloader_usb_mbr_pca10056_debug.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/iar/secure_bootloader_usb_mbr_pca10056_debug.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/ses/secure_bootloader_usb_mbr_pca10056_debug.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/ses/secure_bootloader_usb_mbr_pca10056_debug.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10056e.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10056e.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/iar/secure_bootloader_ble_s112_pca10056e.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/iar/secure_bootloader_ble_s112_pca10056e.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/ses/secure_bootloader_ble_s112_pca10056e.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/ses/secure_bootloader_ble_s112_pca10056e.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10056e_debug.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10056e_debug.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10056e_debug.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10056e_debug.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10056e_debug.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10056e_debug.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056e.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056e.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_uart/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_uart/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_uart/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_uart/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_uart/iar/secure_bootloader_uart_mbr_pca10056e.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_uart/iar/secure_bootloader_uart_mbr_pca10056e.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_uart/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_uart/ses/secure_bootloader_uart_mbr_pca10056e.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10056e_uart/ses/secure_bootloader_uart_mbr_pca10056e.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/arm5_no_packs/secure_bootloader_ble_s113_pca10100.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/arm5_no_packs/secure_bootloader_ble_s113_pca10100.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/iar/secure_bootloader_ble_s113_pca10100.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/iar/secure_bootloader_ble_s113_pca10100.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/ses/secure_bootloader_ble_s113_pca10100.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/ses/secure_bootloader_ble_s113_pca10100.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/arm5_no_packs/secure_bootloader_ble_s113_pca10100_debug.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/arm5_no_packs/secure_bootloader_ble_s113_pca10100_debug.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/iar/secure_bootloader_ble_s113_pca10100_debug.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/iar/secure_bootloader_ble_s113_pca10100_debug.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/ses/secure_bootloader_ble_s113_pca10100_debug.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/ses/secure_bootloader_ble_s113_pca10100_debug.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10100.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10100.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/iar/secure_bootloader_ble_s140_pca10100.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/iar/secure_bootloader_ble_s140_pca10100.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/ses/secure_bootloader_ble_s140_pca10100.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/ses/secure_bootloader_ble_s140_pca10100.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10100_debug.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10100_debug.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10100_debug.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10100_debug.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10100_debug.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10100_debug.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10100e.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10100e.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/iar/secure_bootloader_ble_s112_pca10100e.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/iar/secure_bootloader_ble_s112_pca10100e.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/ses/secure_bootloader_ble_s112_pca10100e.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/ses/secure_bootloader_ble_s112_pca10100e.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10100e_debug.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10100e_debug.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10100e_debug.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10100e_debug.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10100e_debug.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10100e_debug.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb/iar/secure_bootloader_usb_mbr_pca10100e.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb/iar/secure_bootloader_usb_mbr_pca10100e.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb/ses/secure_bootloader_usb_mbr_pca10100e.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb/ses/secure_bootloader_usb_mbr_pca10100e.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e_debug.uvoptx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e_debug.uvprojx create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/armgcc/Makefile create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/armgcc/secure_bootloader_gcc_nrf52.ld create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/config/sdk_config.h create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/iar/secure_bootloader_iar_nRF5x.icf create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/iar/secure_bootloader_usb_mbr_pca10100e_debug.ewd create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/iar/secure_bootloader_usb_mbr_pca10100e_debug.ewp create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/ses/flash_placement.xml create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/ses/secure_bootloader_usb_mbr_pca10100e_debug.emProject create mode 100644 2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/ses/secure_bootloader_usb_mbr_pca10100e_debug.emSession create mode 100644 2.ble_app_dfu/secure_bootloader/secure_bootloader.eww create mode 100644 2.ble_app_dfu/test_image/app_00.hex create mode 100644 2.ble_app_dfu/test_image/app_11.hex create mode 100644 2.ble_app_dfu/test_image/app_dfu_00.zip create mode 100644 2.ble_app_dfu/test_image/app_dfu_11.zip create mode 100644 2.ble_app_dfu/test_image/app_release.hex create mode 100644 2.ble_app_dfu/test_image/dfu_public_key.c create mode 100644 2.ble_app_dfu/test_image/key.pem create mode 100644 2.ble_app_dfu/test_image/output_1.hex create mode 100644 2.ble_app_dfu/test_image/sd_7.2.0.hex create mode 100644 2.ble_app_dfu/test_image/secure_bootloader.hex create mode 100644 2.ble_app_dfu/test_image/settings.hex diff --git a/2.ble_app_dfu/README.md b/2.ble_app_dfu/README.md new file mode 100644 index 0000000..4f8d9da --- /dev/null +++ b/2.ble_app_dfu/README.md @@ -0,0 +1,10 @@ +# 测试DFU + +SDK的例子。 + +- 将`secure_bootloader`和`dfu_public_key.c`拷贝到`SDK`以下目录进行编译:`nRF5_SDK_17.1.0_ddde560/examples/dfu`,得到`bootloader`。 +- 将`ble_app_buttonless_dfu`拷贝到`SDK`以下目录进行编译:`nRF5_SDK_17.1.0_ddde560/examples/ble_peripheral`,得到`app` +- `test_image`目录:密钥、烧录固件、升级固件等。 + +### 运行 +烧录后,广播名为`NB_DFU00`。 \ No newline at end of file diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/hex/readme.txt b/2.ble_app_dfu/ble_app_buttonless_dfu/hex/readme.txt new file mode 100644 index 0000000..9bf02d3 --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/hex/readme.txt @@ -0,0 +1,3 @@ +You can find hex files of this example in examples/dfu/secure_dfu_test_images. +These hex files include everything needed for it to run, including a bootloader. +You will also find images to transfer via DFU. diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/main.c b/2.ble_app_dfu/ble_app_buttonless_dfu/main.c new file mode 100644 index 0000000..1d2e9a8 --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/main.c @@ -0,0 +1,853 @@ +/** + * Copyright (c) 2014 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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. + * + */ +/** @example examples/ble_peripheral/ble_app_buttonless_dfu + * + * @brief Secure DFU Buttonless Service Application main file. + * + * This file contains the source code for a sample application using the proprietary + * Secure DFU Buttonless Service. This is a template application that can be modified + * to your needs. To extend the functionality of this application, please find + * locations where the comment "// YOUR_JOB:" is present and read the comments. + */ + +#include +#include +#include + +#include "nrf_dfu_ble_svci_bond_sharing.h" +#include "nrf_svci_async_function.h" +#include "nrf_svci_async_handler.h" + +#include "nordic_common.h" +#include "nrf.h" +#include "app_error.h" +#include "ble.h" +#include "ble_hci.h" +#include "ble_srv_common.h" +#include "ble_advdata.h" +#include "ble_advertising.h" +#include "ble_conn_params.h" +#include "nrf_sdh.h" +#include "nrf_sdh_soc.h" +#include "nrf_sdh_ble.h" +#include "app_timer.h" +#include "peer_manager.h" +#include "peer_manager_handler.h" +#include "bsp_btn_ble.h" +#include "ble_hci.h" +#include "ble_advdata.h" +#include "ble_advertising.h" +#include "ble_conn_state.h" +#include "ble_dfu.h" +#include "nrf_ble_gatt.h" +#include "nrf_ble_qwr.h" +#include "fds.h" +#include "nrf_pwr_mgmt.h" +#include "nrf_drv_clock.h" +#include "nrf_power.h" +#include "nrf_log.h" +#include "nrf_log_ctrl.h" +#include "nrf_log_default_backends.h" +#include "nrf_bootloader_info.h" + +#define DEVICE_NAME "NB_DFU11" /**< Name of device. Will be included in the advertising data. */ +#define MANUFACTURER_NAME "NordicSemiconductor" /**< Manufacturer. Will be passed to Device Information Service. */ +#define APP_ADV_INTERVAL 300 /**< The advertising interval (in units of 0.625 ms. This value corresponds to 187.5 ms). */ +#define APP_ADV_DURATION 18000 /**< The advertising duration (180 seconds) in units of 10 milliseconds. */ + +#define APP_BLE_OBSERVER_PRIO 3 /**< Application's BLE observer priority. You shouldn't need to modify this value. */ +#define APP_BLE_CONN_CFG_TAG 1 /**< A tag identifying the SoftDevice BLE configuration. */ + +#define MIN_CONN_INTERVAL MSEC_TO_UNITS(30, UNIT_1_25_MS) /**< Minimum acceptable connection interval (0.1 seconds). */ +#define MAX_CONN_INTERVAL MSEC_TO_UNITS(100, UNIT_1_25_MS) /**< Maximum acceptable connection interval (0.2 second). */ +#define SLAVE_LATENCY 0 /**< Slave latency. */ +#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS) /**< Connection supervisory timeout (4 seconds). */ + +#define FIRST_CONN_PARAMS_UPDATE_DELAY APP_TIMER_TICKS(5000) /**< Time from initiating event (connect or start of notification) to first time sd_ble_gap_conn_param_update is called (5 seconds). */ +#define NEXT_CONN_PARAMS_UPDATE_DELAY APP_TIMER_TICKS(30000) /**< Time between each call to sd_ble_gap_conn_param_update after the first call (30 seconds). */ +#define MAX_CONN_PARAMS_UPDATE_COUNT 3 /**< Number of attempts before giving up the connection parameter negotiation. */ + +#define SEC_PARAM_BOND 1 /**< Perform bonding. */ +#define SEC_PARAM_MITM 0 /**< Man In The Middle protection not required. */ +#define SEC_PARAM_LESC 0 /**< LE Secure Connections not enabled. */ +#define SEC_PARAM_KEYPRESS 0 /**< Keypress notifications not enabled. */ +#define SEC_PARAM_IO_CAPABILITIES BLE_GAP_IO_CAPS_NONE /**< No I/O capabilities. */ +#define SEC_PARAM_OOB 0 /**< Out Of Band data not available. */ +#define SEC_PARAM_MIN_KEY_SIZE 7 /**< Minimum encryption key size. */ +#define SEC_PARAM_MAX_KEY_SIZE 16 /**< Maximum encryption key size. */ + +#define DEAD_BEEF 0xDEADBEEF /**< Value used as error code on stack dump, can be used to identify stack location on stack unwind. */ + +NRF_BLE_GATT_DEF(m_gatt); /**< GATT module instance. */ +NRF_BLE_QWR_DEF(m_qwr); /**< Context for the Queued Write module.*/ +BLE_ADVERTISING_DEF(m_advertising); /**< Advertising module instance. */ + +static uint16_t m_conn_handle = BLE_CONN_HANDLE_INVALID; /**< Handle of the current connection. */ +static void advertising_start(bool erase_bonds); /**< Forward declaration of advertising start function */ + +// YOUR_JOB: Use UUIDs for service(s) used in your application. +static ble_uuid_t m_adv_uuids[] = {{BLE_UUID_DEVICE_INFORMATION_SERVICE, BLE_UUID_TYPE_BLE}}; + +/**@brief Handler for shutdown preparation. + * + * @details During shutdown procedures, this function will be called at a 1 second interval + * untill the function returns true. When the function returns true, it means that the + * app is ready to reset to DFU mode. + * + * @param[in] event Power manager event. + * + * @retval True if shutdown is allowed by this power manager handler, otherwise false. + */ +static bool app_shutdown_handler(nrf_pwr_mgmt_evt_t event) +{ + switch (event) + { + case NRF_PWR_MGMT_EVT_PREPARE_DFU: + NRF_LOG_INFO("Power management wants to reset to DFU mode."); + // YOUR_JOB: Get ready to reset into DFU mode + // + // If you aren't finished with any ongoing tasks, return "false" to + // signal to the system that reset is impossible at this stage. + // + // Here is an example using a variable to delay resetting the device. + // + // if (!m_ready_for_reset) + // { + // return false; + // } + // else + //{ + // + // // Device ready to enter + // uint32_t err_code; + // err_code = sd_softdevice_disable(); + // APP_ERROR_CHECK(err_code); + // err_code = app_timer_stop_all(); + // APP_ERROR_CHECK(err_code); + //} + break; + + default: + // YOUR_JOB: Implement any of the other events available from the power management module: + // -NRF_PWR_MGMT_EVT_PREPARE_SYSOFF + // -NRF_PWR_MGMT_EVT_PREPARE_WAKEUP + // -NRF_PWR_MGMT_EVT_PREPARE_RESET + return true; + } + + NRF_LOG_INFO("Power management allowed to reset to DFU mode."); + return true; +} + +//lint -esym(528, m_app_shutdown_handler) +/**@brief Register application shutdown handler with priority 0. + */ +NRF_PWR_MGMT_HANDLER_REGISTER(app_shutdown_handler, 0); + +static void buttonless_dfu_sdh_state_observer(nrf_sdh_state_evt_t state, void *p_context) +{ + if (state == NRF_SDH_EVT_STATE_DISABLED) + { + // Softdevice was disabled before going into reset. Inform bootloader to skip CRC on next boot. + nrf_power_gpregret2_set(BOOTLOADER_DFU_SKIP_CRC); + + //Go to system off. + nrf_pwr_mgmt_shutdown(NRF_PWR_MGMT_SHUTDOWN_GOTO_SYSOFF); + } +} + +/* nrf_sdh state observer. */ +NRF_SDH_STATE_OBSERVER(m_buttonless_dfu_state_obs, 0) = + { + .handler = buttonless_dfu_sdh_state_observer, +}; + +static void advertising_config_get(ble_adv_modes_config_t *p_config) +{ + memset(p_config, 0, sizeof(ble_adv_modes_config_t)); + + p_config->ble_adv_fast_enabled = true; + p_config->ble_adv_fast_interval = APP_ADV_INTERVAL; + p_config->ble_adv_fast_timeout = APP_ADV_DURATION; +} + +static void disconnect(uint16_t conn_handle, void *p_context) +{ + UNUSED_PARAMETER(p_context); + + ret_code_t err_code = sd_ble_gap_disconnect(conn_handle, BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION); + if (err_code != NRF_SUCCESS) + { + NRF_LOG_WARNING("Failed to disconnect connection. Connection handle: %d Error: %d", conn_handle, err_code); + } + else + { + NRF_LOG_DEBUG("Disconnected connection handle %d", conn_handle); + } +} + +// YOUR_JOB: Update this code if you want to do anything given a DFU event (optional). +/**@brief Function for handling dfu events from the Buttonless Secure DFU service + * + * @param[in] event Event from the Buttonless Secure DFU service. + */ +static void ble_dfu_evt_handler(ble_dfu_buttonless_evt_type_t event) +{ + switch (event) + { + case BLE_DFU_EVT_BOOTLOADER_ENTER_PREPARE: + { + NRF_LOG_INFO("Device is preparing to enter bootloader mode."); + + // Prevent device from advertising on disconnect. + ble_adv_modes_config_t config; + advertising_config_get(&config); + config.ble_adv_on_disconnect_disabled = true; + ble_advertising_modes_config_set(&m_advertising, &config); + + // Disconnect all other bonded devices that currently are connected. + // This is required to receive a service changed indication + // on bootup after a successful (or aborted) Device Firmware Update. + uint32_t conn_count = ble_conn_state_for_each_connected(disconnect, NULL); + NRF_LOG_INFO("Disconnected %d links.", conn_count); + break; + } + + case BLE_DFU_EVT_BOOTLOADER_ENTER: + // YOUR_JOB: Write app-specific unwritten data to FLASH, control finalization of this + // by delaying reset by reporting false in app_shutdown_handler + NRF_LOG_INFO("Device will enter bootloader mode."); + break; + + case BLE_DFU_EVT_BOOTLOADER_ENTER_FAILED: + NRF_LOG_ERROR("Request to enter bootloader mode failed asynchroneously."); + // YOUR_JOB: Take corrective measures to resolve the issue + // like calling APP_ERROR_CHECK to reset the device. + break; + + case BLE_DFU_EVT_RESPONSE_SEND_ERROR: + NRF_LOG_ERROR("Request to send a response to client failed."); + // YOUR_JOB: Take corrective measures to resolve the issue + // like calling APP_ERROR_CHECK to reset the device. + APP_ERROR_CHECK(false); + break; + + default: + NRF_LOG_ERROR("Unknown event from ble_dfu_buttonless."); + break; + } +} + +/**@brief Callback function for asserts in the SoftDevice. + * + * @details This function will be called in case of an assert in the SoftDevice. + * + * @warning This handler is an example only and does not fit a final product. You need to analyze + * how your product is supposed to react in case of Assert. + * @warning On assert from the SoftDevice, the system can only recover on reset. + * + * @param[in] line_num Line number of the failing ASSERT call. + * @param[in] file_name File name of the failing ASSERT call. + */ +void assert_nrf_callback(uint16_t line_num, const uint8_t *p_file_name) +{ + app_error_handler(DEAD_BEEF, line_num, p_file_name); +} + +/**@brief Function for handling Peer Manager events. + * + * @param[in] p_evt Peer Manager event. + */ +static void pm_evt_handler(pm_evt_t const *p_evt) +{ + pm_handler_on_pm_evt(p_evt); + pm_handler_disconnect_on_sec_failure(p_evt); + pm_handler_flash_clean(p_evt); +} + +/**@brief Function for the Timer initialization. + * + * @details Initializes the timer module. This creates and starts application timers. + */ +static void timers_init(void) +{ + + // Initialize timer module. + uint32_t err_code = app_timer_init(); + APP_ERROR_CHECK(err_code); + + // Create timers. + + /* YOUR_JOB: Create any timers to be used by the application. + Below is an example of how to create a timer. + For every new timer needed, increase the value of the macro APP_TIMER_MAX_TIMERS by + one. + uint32_t err_code; + err_code = app_timer_create(&m_app_timer_id, APP_TIMER_MODE_REPEATED, timer_timeout_handler); + APP_ERROR_CHECK(err_code); */ +} + +/**@brief Function for the GAP initialization. + * + * @details This function sets up all the necessary GAP (Generic Access Profile) parameters of the + * device including the device name, appearance, and the preferred connection parameters. + */ +static void gap_params_init(void) +{ + uint32_t err_code; + ble_gap_conn_params_t gap_conn_params; + ble_gap_conn_sec_mode_t sec_mode; + + BLE_GAP_CONN_SEC_MODE_SET_OPEN(&sec_mode); + + err_code = sd_ble_gap_device_name_set(&sec_mode, + (const uint8_t *)DEVICE_NAME, + strlen(DEVICE_NAME)); + APP_ERROR_CHECK(err_code); + + /* YOUR_JOB: Use an appearance value matching the application's use case. + err_code = sd_ble_gap_appearance_set(BLE_APPEARANCE_); + APP_ERROR_CHECK(err_code); */ + + memset(&gap_conn_params, 0, sizeof(gap_conn_params)); + + gap_conn_params.min_conn_interval = MIN_CONN_INTERVAL; + gap_conn_params.max_conn_interval = MAX_CONN_INTERVAL; + gap_conn_params.slave_latency = SLAVE_LATENCY; + gap_conn_params.conn_sup_timeout = CONN_SUP_TIMEOUT; + + err_code = sd_ble_gap_ppcp_set(&gap_conn_params); + APP_ERROR_CHECK(err_code); +} + +/**@brief Function for handling Queued Write Module errors. + * + * @details A pointer to this function will be passed to each service which may need to inform the + * application about an error. + * + * @param[in] nrf_error Error code containing information about what went wrong. + */ +static void nrf_qwr_error_handler(uint32_t nrf_error) +{ + APP_ERROR_HANDLER(nrf_error); +} + +/**@brief Function for handling the YYY Service events. + * YOUR_JOB implement a service handler function depending on the event the service you are using can generate + * + * @details This function will be called for all YY Service events which are passed to + * the application. + * + * @param[in] p_yy_service YY Service structure. + * @param[in] p_evt Event received from the YY Service. + * + * + static void on_yys_evt(ble_yy_service_t * p_yy_service, + ble_yy_service_evt_t * p_evt) + { + switch (p_evt->evt_type) + { + case BLE_YY_NAME_EVT_WRITE: + APPL_LOG("[APPL]: charact written with value %s. ", p_evt->params.char_xx.value.p_str); + break; + + default: + // No implementation needed. + break; + } + }*/ + +/**@brief Function for initializing services that will be used by the application. + */ +static void services_init(void) +{ + uint32_t err_code; + nrf_ble_qwr_init_t qwr_init = {0}; + ble_dfu_buttonless_init_t dfus_init = {0}; + + // Initialize Queued Write Module. + qwr_init.error_handler = nrf_qwr_error_handler; + + err_code = nrf_ble_qwr_init(&m_qwr, &qwr_init); + APP_ERROR_CHECK(err_code); + + dfus_init.evt_handler = ble_dfu_evt_handler; + + err_code = ble_dfu_buttonless_init(&dfus_init); + APP_ERROR_CHECK(err_code); + + /* YOUR_JOB: Add code to initialize the services used by the application. + uint32_t err_code; + ble_xxs_init_t xxs_init; + ble_yys_init_t yys_init; + + // Initialize XXX Service. + memset(&xxs_init, 0, sizeof(xxs_init)); + + xxs_init.evt_handler = NULL; + xxs_init.is_xxx_notify_supported = true; + xxs_init.ble_xx_initial_value.level = 100; + + err_code = ble_bas_init(&m_xxs, &xxs_init); + APP_ERROR_CHECK(err_code); + + // Initialize YYY Service. + memset(&yys_init, 0, sizeof(yys_init)); + yys_init.evt_handler = on_yys_evt; + yys_init.ble_yy_initial_value.counter = 0; + + err_code = ble_yy_service_init(&yys_init, &yy_init); + APP_ERROR_CHECK(err_code); + */ +} + +/**@brief Function for handling the Connection Parameters Module. + * + * @details This function will be called for all events in the Connection Parameters Module which + * are passed to the application. + * @note All this function does is to disconnect. This could have been done by simply + * setting the disconnect_on_fail config parameter, but instead we use the event + * handler mechanism to demonstrate its use. + * + * @param[in] p_evt Event received from the Connection Parameters Module. + */ +static void on_conn_params_evt(ble_conn_params_evt_t *p_evt) +{ + uint32_t err_code; + + if (p_evt->evt_type == BLE_CONN_PARAMS_EVT_FAILED) + { + err_code = sd_ble_gap_disconnect(m_conn_handle, BLE_HCI_CONN_INTERVAL_UNACCEPTABLE); + APP_ERROR_CHECK(err_code); + } +} + +/**@brief Function for handling a Connection Parameters error. + * + * @param[in] nrf_error Error code containing information about what went wrong. + */ +static void conn_params_error_handler(uint32_t nrf_error) +{ + APP_ERROR_HANDLER(nrf_error); +} + +/**@brief Function for initializing the Connection Parameters module. + */ +static void conn_params_init(void) +{ + uint32_t err_code; + ble_conn_params_init_t cp_init; + + memset(&cp_init, 0, sizeof(cp_init)); + + cp_init.p_conn_params = NULL; + cp_init.first_conn_params_update_delay = FIRST_CONN_PARAMS_UPDATE_DELAY; + cp_init.next_conn_params_update_delay = NEXT_CONN_PARAMS_UPDATE_DELAY; + cp_init.max_conn_params_update_count = MAX_CONN_PARAMS_UPDATE_COUNT; + cp_init.start_on_notify_cccd_handle = BLE_GATT_HANDLE_INVALID; + cp_init.disconnect_on_fail = false; + cp_init.evt_handler = on_conn_params_evt; + cp_init.error_handler = conn_params_error_handler; + + err_code = ble_conn_params_init(&cp_init); + APP_ERROR_CHECK(err_code); +} + +/**@brief Function for starting timers. + */ +static void application_timers_start(void) +{ + /* YOUR_JOB: Start your timers. below is an example of how to start a timer. + uint32_t err_code; + err_code = app_timer_start(m_app_timer_id, TIMER_INTERVAL, NULL); + APP_ERROR_CHECK(err_code); */ +} + +/**@brief Function for putting the chip into sleep mode. + * + * @note This function will not return. + */ +static void sleep_mode_enter(void) +{ + uint32_t err_code = bsp_indication_set(BSP_INDICATE_IDLE); + + APP_ERROR_CHECK(err_code); + + // Prepare wakeup buttons. + err_code = bsp_btn_ble_sleep_mode_prepare(); + APP_ERROR_CHECK(err_code); + + //Disable SoftDevice. It is required to be able to write to GPREGRET2 register (SoftDevice API blocks it). + //GPREGRET2 register holds the information about skipping CRC check on next boot. + err_code = nrf_sdh_disable_request(); + APP_ERROR_CHECK(err_code); +} + +/**@brief Function for handling advertising events. + * + * @details This function will be called for advertising events which are passed to the application. + * + * @param[in] ble_adv_evt Advertising event. + */ +static void on_adv_evt(ble_adv_evt_t ble_adv_evt) +{ + uint32_t err_code; + + switch (ble_adv_evt) + { + case BLE_ADV_EVT_FAST: + err_code = bsp_indication_set(BSP_INDICATE_ADVERTISING); + APP_ERROR_CHECK(err_code); + break; + + case BLE_ADV_EVT_IDLE: + //sleep_mode_enter(); + advertising_start(false); + break; + + default: + break; + } +} + +/**@brief Function for handling BLE events. + * + * @param[in] p_ble_evt Bluetooth stack event. + * @param[in] p_context Unused. + */ +static void ble_evt_handler(ble_evt_t const *p_ble_evt, void *p_context) +{ + uint32_t err_code = NRF_SUCCESS; + + switch (p_ble_evt->header.evt_id) + { + case BLE_GAP_EVT_DISCONNECTED: + // LED indication will be changed when advertising starts. + break; + + case BLE_GAP_EVT_CONNECTED: + err_code = bsp_indication_set(BSP_INDICATE_CONNECTED); + APP_ERROR_CHECK(err_code); + m_conn_handle = p_ble_evt->evt.gap_evt.conn_handle; + err_code = nrf_ble_qwr_conn_handle_assign(&m_qwr, m_conn_handle); + APP_ERROR_CHECK(err_code); + break; + + case BLE_GAP_EVT_PHY_UPDATE_REQUEST: + { + NRF_LOG_DEBUG("PHY update request."); + ble_gap_phys_t const phys = + { + .rx_phys = BLE_GAP_PHY_AUTO, + .tx_phys = BLE_GAP_PHY_AUTO, + }; + err_code = sd_ble_gap_phy_update(p_ble_evt->evt.gap_evt.conn_handle, &phys); + APP_ERROR_CHECK(err_code); + break; + } + + case BLE_GATTC_EVT_TIMEOUT: + // Disconnect on GATT Client timeout event. + NRF_LOG_DEBUG("GATT Client Timeout."); + err_code = sd_ble_gap_disconnect(p_ble_evt->evt.gattc_evt.conn_handle, + BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION); + APP_ERROR_CHECK(err_code); + break; + + case BLE_GATTS_EVT_TIMEOUT: + // Disconnect on GATT Server timeout event. + NRF_LOG_DEBUG("GATT Server Timeout."); + err_code = sd_ble_gap_disconnect(p_ble_evt->evt.gatts_evt.conn_handle, + BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION); + APP_ERROR_CHECK(err_code); + break; + + default: + // No implementation needed. + break; + } +} + +/**@brief Function for initializing the BLE stack. + * + * @details Initializes the SoftDevice and the BLE event interrupt. + */ +static void ble_stack_init(void) +{ + ret_code_t err_code; + + err_code = nrf_sdh_enable_request(); + APP_ERROR_CHECK(err_code); + + // Configure the BLE stack using the default settings. + // Fetch the start address of the application RAM. + uint32_t ram_start = 0; + err_code = nrf_sdh_ble_default_cfg_set(APP_BLE_CONN_CFG_TAG, &ram_start); + APP_ERROR_CHECK(err_code); + + // Enable BLE stack. + err_code = nrf_sdh_ble_enable(&ram_start); + APP_ERROR_CHECK(err_code); + + NRF_SDH_BLE_OBSERVER(m_ble_observer, APP_BLE_OBSERVER_PRIO, ble_evt_handler, NULL); +} + +/**@brief Function for the Peer Manager initialization. + */ +static void peer_manager_init() +{ + ble_gap_sec_params_t sec_param; + ret_code_t err_code; + + err_code = pm_init(); + APP_ERROR_CHECK(err_code); + + memset(&sec_param, 0, sizeof(ble_gap_sec_params_t)); + + // Security parameters to be used for all security procedures. + sec_param.bond = SEC_PARAM_BOND; + sec_param.mitm = SEC_PARAM_MITM; + sec_param.lesc = SEC_PARAM_LESC; + sec_param.keypress = SEC_PARAM_KEYPRESS; + sec_param.io_caps = SEC_PARAM_IO_CAPABILITIES; + sec_param.oob = SEC_PARAM_OOB; + sec_param.min_key_size = SEC_PARAM_MIN_KEY_SIZE; + sec_param.max_key_size = SEC_PARAM_MAX_KEY_SIZE; + sec_param.kdist_own.enc = 1; + sec_param.kdist_own.id = 1; + sec_param.kdist_peer.enc = 1; + sec_param.kdist_peer.id = 1; + + err_code = pm_sec_params_set(&sec_param); + APP_ERROR_CHECK(err_code); + + err_code = pm_register(pm_evt_handler); + APP_ERROR_CHECK(err_code); +} + +/** @brief Clear bonding information from persistent storage. + */ +static void delete_bonds(void) +{ + ret_code_t err_code; + + NRF_LOG_INFO("Erase bonds!"); + + err_code = pm_peers_delete(); + APP_ERROR_CHECK(err_code); +} + +/**@brief Function for handling events from the BSP module. + * + * @param[in] event Event generated when button is pressed. + */ +static void bsp_event_handler(bsp_event_t event) +{ + uint32_t err_code; + + switch (event) + { + case BSP_EVENT_SLEEP: + sleep_mode_enter(); + break; // BSP_EVENT_SLEEP + + case BSP_EVENT_DISCONNECT: + err_code = sd_ble_gap_disconnect(m_conn_handle, + BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION); + if (err_code != NRF_ERROR_INVALID_STATE) + { + APP_ERROR_CHECK(err_code); + } + break; // BSP_EVENT_DISCONNECT + + case BSP_EVENT_WHITELIST_OFF: + if (m_conn_handle == BLE_CONN_HANDLE_INVALID) + { + err_code = ble_advertising_restart_without_whitelist(&m_advertising); + if (err_code != NRF_ERROR_INVALID_STATE) + { + APP_ERROR_CHECK(err_code); + } + } + break; // BSP_EVENT_KEY_0 + + default: + break; + } +} + +/**@brief Function for initializing the Advertising functionality. + */ +static void advertising_init(void) +{ + uint32_t err_code; + ble_advertising_init_t init; + + memset(&init, 0, sizeof(init)); + + init.advdata.name_type = BLE_ADVDATA_FULL_NAME; + init.advdata.include_appearance = true; + init.advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE; + init.advdata.uuids_complete.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]); + init.advdata.uuids_complete.p_uuids = m_adv_uuids; + + advertising_config_get(&init.config); + + init.evt_handler = on_adv_evt; + + err_code = ble_advertising_init(&m_advertising, &init); + APP_ERROR_CHECK(err_code); + + ble_advertising_conn_cfg_tag_set(&m_advertising, APP_BLE_CONN_CFG_TAG); +} + +/**@brief Function for initializing buttons and leds. + * + * @param[out] p_erase_bonds Will be true if the clear bonding button was pressed to wake the application up. + */ +static void buttons_leds_init(bool *p_erase_bonds) +{ + uint32_t err_code; + bsp_event_t startup_event; + + err_code = bsp_init(BSP_INIT_LEDS | BSP_INIT_BUTTONS, bsp_event_handler); + APP_ERROR_CHECK(err_code); + + err_code = bsp_btn_ble_init(NULL, &startup_event); + APP_ERROR_CHECK(err_code); + + *p_erase_bonds = (startup_event == BSP_EVENT_CLEAR_BONDING_DATA); +} + +/**@brief Function for the Power manager. + */ +static void log_init(void) +{ + uint32_t err_code = NRF_LOG_INIT(NULL); + APP_ERROR_CHECK(err_code); + + NRF_LOG_DEFAULT_BACKENDS_INIT(); +} + +/**@brief Function for initializing the GATT module. + * @details The GATT module handles ATT_MTU and Data Length update procedures automatically. + */ +static void gatt_init(void) +{ + ret_code_t err_code = nrf_ble_gatt_init(&m_gatt, NULL); + APP_ERROR_CHECK(err_code); +} + +/**@brief Function for starting advertising. + */ +static void advertising_start(bool erase_bonds) +{ + if (erase_bonds == true) + { + delete_bonds(); + // Advertising is started by PM_EVT_PEERS_DELETE_SUCCEEDED event. + } + else + { + uint32_t err_code = ble_advertising_start(&m_advertising, BLE_ADV_MODE_FAST); + APP_ERROR_CHECK(err_code); + + NRF_LOG_DEBUG("advertising is started"); + } +} + +static void power_management_init(void) +{ + uint32_t err_code = nrf_pwr_mgmt_init(); + APP_ERROR_CHECK(err_code); +} + +/**@brief Function for handling the idle state (main loop). + * + * @details If there is no pending log operation, then sleep until next the next event occurs. + */ +static void idle_state_handle(void) +{ + if (NRF_LOG_PROCESS() == false) + { + nrf_pwr_mgmt_run(); + } +} + +/**@brief Function for application main entry. + */ +int main(void) +{ + bool erase_bonds; + ret_code_t err_code; + + log_init(); + + // Initialize the async SVCI interface to bootloader before any interrupts are enabled. + err_code = ble_dfu_buttonless_async_svci_init(); + APP_ERROR_CHECK(err_code); + + timers_init(); + power_management_init(); + buttons_leds_init(&erase_bonds); + ble_stack_init(); + peer_manager_init(); + gap_params_init(); + gatt_init(); + advertising_init(); + services_init(); + conn_params_init(); + + NRF_LOG_INFO("Buttonless DFU Application started."); + + // Start execution. + application_timers_start(); + advertising_start(erase_bonds); + + // Enter main loop. + for (;;) + { + idle_state_handle(); + } +} + +/** + * @} + */ diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/armgcc/Makefile b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/armgcc/Makefile new file mode 100644 index 0000000..6d1438b --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/armgcc/Makefile @@ -0,0 +1,252 @@ +PROJECT_NAME := ble_app_buttonless_dfu_pca10040_s132 +TARGETS := nrf52832_xxaa +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../../.. +PROJ_DIR := ../../.. + +$(OUTPUT_DIRECTORY)/nrf52832_xxaa.out: \ + LINKER_SCRIPT := ble_app_buttonless_dfu_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52.S \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_uart.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52.c \ + $(SDK_ROOT)/components/libraries/button/app_button.c \ + $(SDK_ROOT)/components/libraries/util/app_error.c \ + $(SDK_ROOT)/components/libraries/util/app_error_handler_gcc.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/timer/app_timer2.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc16/crc16.c \ + $(SDK_ROOT)/components/libraries/timer/drv_rtc.c \ + $(SDK_ROOT)/components/libraries/fds/fds.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic_flags/nrf_atflags.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/pwr_mgmt/nrf_pwr_mgmt.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/sortlist/nrf_sortlist.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_clock.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_uart.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_clock.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_gpiote.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/prs/nrfx_prs.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uart.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uarte.c \ + $(SDK_ROOT)/components/libraries/bsp/bsp.c \ + $(SDK_ROOT)/components/libraries/bsp/bsp_btn_ble.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/ble/peer_manager/auth_status_tracker.c \ + $(SDK_ROOT)/components/ble/common/ble_advdata.c \ + $(SDK_ROOT)/components/ble/ble_advertising/ble_advertising.c \ + $(SDK_ROOT)/components/ble/common/ble_conn_params.c \ + $(SDK_ROOT)/components/ble/common/ble_conn_state.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/ble/peer_manager/gatt_cache_manager.c \ + $(SDK_ROOT)/components/ble/peer_manager/gatts_cache_manager.c \ + $(SDK_ROOT)/components/ble/peer_manager/id_manager.c \ + $(SDK_ROOT)/components/ble/nrf_ble_gatt/nrf_ble_gatt.c \ + $(SDK_ROOT)/components/ble/nrf_ble_qwr/nrf_ble_qwr.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_data_storage.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_database.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_id.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_manager.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_manager_handler.c \ + $(SDK_ROOT)/components/ble/peer_manager/pm_buffer.c \ + $(SDK_ROOT)/components/ble/peer_manager/security_dispatcher.c \ + $(SDK_ROOT)/components/ble/peer_manager/security_manager.c \ + $(SDK_ROOT)/components/ble/ble_services/ble_dfu/ble_dfu.c \ + $(SDK_ROOT)/components/ble/ble_services/ble_dfu/ble_dfu_bonded.c \ + $(SDK_ROOT)/components/ble/ble_services/ble_dfu/ble_dfu_unbonded.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/pwr_mgmt \ + $(SDK_ROOT)/components/libraries/sortlist \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/components/libraries/crc16 \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/softdevice/s132/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/util \ + ../config \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/ble/peer_manager \ + $(SDK_ROOT)/components/libraries/ringbuf \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/libraries/bsp \ + $(SDK_ROOT)/components/libraries/timer \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/components/ble/nrf_ble_gatt \ + $(SDK_ROOT)/components/ble/nrf_ble_qwr \ + $(SDK_ROOT)/components/libraries/button \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/softdevice/s132/headers \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/components/libraries/mutex \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/fds \ + $(SDK_ROOT)/components/ble/ble_advertising \ + $(SDK_ROOT)/components/libraries/atomic_flags \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/ble/ble_services/ble_dfu \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/log/src \ + +# Libraries common to all targets +LIB_FILES += \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DAPP_TIMER_V2 +CFLAGS += -DAPP_TIMER_V2_RTC1_ENABLED +CFLAGS += -DBL_SETTINGS_ACCESS_ONLY +CFLAGS += -DBOARD_PCA10040 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52 +CFLAGS += -DNRF52832_XXAA +CFLAGS += -DNRF52_PAN_74 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_DFU_TRANSPORT_BLE=1 +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS132 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DAPP_TIMER_V2 +ASMFLAGS += -DAPP_TIMER_V2_RTC1_ENABLED +ASMFLAGS += -DBL_SETTINGS_ACCESS_ONLY +ASMFLAGS += -DBOARD_PCA10040 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52 +ASMFLAGS += -DNRF52832_XXAA +ASMFLAGS += -DNRF52_PAN_74 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_DFU_TRANSPORT_BLE=1 +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS132 +ASMFLAGS += -DSOFTDEVICE_PRESENT + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52832_xxaa: CFLAGS += -D__HEAP_SIZE=8192 +nrf52832_xxaa: CFLAGS += -D__STACK_SIZE=8192 +nrf52832_xxaa: ASMFLAGS += -D__HEAP_SIZE=8192 +nrf52832_xxaa: ASMFLAGS += -D__STACK_SIZE=8192 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52832_xxaa + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52832_xxaa + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52832_xxaa.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52832_xxaa.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s132_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s132/hex/s132_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/armgcc/ble_app_buttonless_dfu_gcc_nrf52.ld b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/armgcc/ble_app_buttonless_dfu_gcc_nrf52.ld new file mode 100644 index 0000000..0df3ede --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/armgcc/ble_app_buttonless_dfu_gcc_nrf52.ld @@ -0,0 +1,114 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x26000, LENGTH = 0x52000 + RAM (rwx) : ORIGIN = 0x20002260, LENGTH = 0xdda0 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + .pwr_mgmt_data : + { + PROVIDE(__start_pwr_mgmt_data = .); + KEEP(*(SORT(.pwr_mgmt_data*))) + PROVIDE(__stop_pwr_mgmt_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/config/sdk_config.h b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/config/sdk_config.h new file mode 100644 index 0000000..4919a31 --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/config/sdk_config.h @@ -0,0 +1,5247 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// Board Support + +//========================================================== +// BSP_BTN_BLE_ENABLED - bsp_btn_ble - Button Control for BLE + + +#ifndef BSP_BTN_BLE_ENABLED +#define BSP_BTN_BLE_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_BLE + +//========================================================== +// BLE_ADVERTISING_ENABLED - ble_advertising - Advertising module + + +#ifndef BLE_ADVERTISING_ENABLED +#define BLE_ADVERTISING_ENABLED 1 +#endif + +// NRF_BLE_CONN_PARAMS_ENABLED - ble_conn_params - Initiating and executing a connection parameters negotiation procedure +//========================================================== +#ifndef NRF_BLE_CONN_PARAMS_ENABLED +#define NRF_BLE_CONN_PARAMS_ENABLED 1 +#endif +// NRF_BLE_CONN_PARAMS_MAX_SLAVE_LATENCY_DEVIATION - The largest acceptable deviation in slave latency. +// The largest deviation (+ or -) from the requested slave latency that will not be renegotiated. + +#ifndef NRF_BLE_CONN_PARAMS_MAX_SLAVE_LATENCY_DEVIATION +#define NRF_BLE_CONN_PARAMS_MAX_SLAVE_LATENCY_DEVIATION 499 +#endif + +// NRF_BLE_CONN_PARAMS_MAX_SUPERVISION_TIMEOUT_DEVIATION - The largest acceptable deviation (in 10 ms units) in supervision timeout. +// The largest deviation (+ or -, in 10 ms units) from the requested supervision timeout that will not be renegotiated. + +#ifndef NRF_BLE_CONN_PARAMS_MAX_SUPERVISION_TIMEOUT_DEVIATION +#define NRF_BLE_CONN_PARAMS_MAX_SUPERVISION_TIMEOUT_DEVIATION 65535 +#endif + +// + +// NRF_BLE_GATT_ENABLED - nrf_ble_gatt - GATT module +//========================================================== +#ifndef NRF_BLE_GATT_ENABLED +#define NRF_BLE_GATT_ENABLED 1 +#endif +// NRF_BLE_GATT_MTU_EXCHANGE_INITIATION_ENABLED - Enable GATT MTU exchange initiation + + +#ifndef NRF_BLE_GATT_MTU_EXCHANGE_INITIATION_ENABLED +#define NRF_BLE_GATT_MTU_EXCHANGE_INITIATION_ENABLED 1 +#endif + +// + +// NRF_BLE_QWR_ENABLED - nrf_ble_qwr - Queued writes support module (prepare/execute write) +//========================================================== +#ifndef NRF_BLE_QWR_ENABLED +#define NRF_BLE_QWR_ENABLED 1 +#endif +// NRF_BLE_QWR_MAX_ATTR - Maximum number of attribute handles that can be registered. This number must be adjusted according to the number of attributes for which Queued Writes will be enabled. If it is zero, the module will reject all Queued Write requests. +#ifndef NRF_BLE_QWR_MAX_ATTR +#define NRF_BLE_QWR_MAX_ATTR 0 +#endif + +// + +// PEER_MANAGER_ENABLED - peer_manager - Peer Manager +//========================================================== +#ifndef PEER_MANAGER_ENABLED +#define PEER_MANAGER_ENABLED 1 +#endif +// PM_MAX_REGISTRANTS - Number of event handlers that can be registered. +#ifndef PM_MAX_REGISTRANTS +#define PM_MAX_REGISTRANTS 3 +#endif + +// PM_FLASH_BUFFERS - Number of internal buffers for flash operations. +// Decrease this value to lower RAM usage. + +#ifndef PM_FLASH_BUFFERS +#define PM_FLASH_BUFFERS 4 +#endif + +// PM_CENTRAL_ENABLED - Enable/disable central-specific Peer Manager functionality. + + +// Enable/disable central-specific Peer Manager functionality. + +#ifndef PM_CENTRAL_ENABLED +#define PM_CENTRAL_ENABLED 0 +#endif + +// PM_SERVICE_CHANGED_ENABLED - Enable/disable the service changed management for GATT server in Peer Manager. + + +// If not using a GATT server, or using a server wihout a service changed characteristic, +// disable this to save code space. + +#ifndef PM_SERVICE_CHANGED_ENABLED +#define PM_SERVICE_CHANGED_ENABLED 1 +#endif + +// PM_PEER_RANKS_ENABLED - Enable/disable the peer rank management in Peer Manager. + + +// Set this to false to save code space if not using the peer rank API. + +#ifndef PM_PEER_RANKS_ENABLED +#define PM_PEER_RANKS_ENABLED 1 +#endif + +// PM_LESC_ENABLED - Enable/disable LESC support in Peer Manager. + + +// If set to true, you need to call nrf_ble_lesc_request_handler() in the main loop to respond to LESC-related BLE events. If LESC support is not required, set this to false to save code space. + +#ifndef PM_LESC_ENABLED +#define PM_LESC_ENABLED 0 +#endif + +// PM_RA_PROTECTION_ENABLED - Enable/disable protection against repeated pairing attempts in Peer Manager. +//========================================================== +#ifndef PM_RA_PROTECTION_ENABLED +#define PM_RA_PROTECTION_ENABLED 0 +#endif +// PM_RA_PROTECTION_TRACKED_PEERS_NUM - Maximum number of peers whose authorization status can be tracked. +#ifndef PM_RA_PROTECTION_TRACKED_PEERS_NUM +#define PM_RA_PROTECTION_TRACKED_PEERS_NUM 8 +#endif + +// PM_RA_PROTECTION_MIN_WAIT_INTERVAL - Minimum waiting interval (in ms) before a new pairing attempt can be initiated. +#ifndef PM_RA_PROTECTION_MIN_WAIT_INTERVAL +#define PM_RA_PROTECTION_MIN_WAIT_INTERVAL 4000 +#endif + +// PM_RA_PROTECTION_MAX_WAIT_INTERVAL - Maximum waiting interval (in ms) before a new pairing attempt can be initiated. +#ifndef PM_RA_PROTECTION_MAX_WAIT_INTERVAL +#define PM_RA_PROTECTION_MAX_WAIT_INTERVAL 64000 +#endif + +// PM_RA_PROTECTION_REWARD_PERIOD - Reward period (in ms). +// The waiting interval is gradually decreased when no new failed pairing attempts are made during reward period. + +#ifndef PM_RA_PROTECTION_REWARD_PERIOD +#define PM_RA_PROTECTION_REWARD_PERIOD 10000 +#endif + +// + +// PM_HANDLER_SEC_DELAY_MS - Delay before starting security. +// This might be necessary for interoperability reasons, especially as peripheral. + +#ifndef PM_HANDLER_SEC_DELAY_MS +#define PM_HANDLER_SEC_DELAY_MS 0 +#endif + +// + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// ble_dfu - Device Firmware Update + +//========================================================== +// BLE_DFU_ENABLED - Enable DFU Service. + + +#ifndef BLE_DFU_ENABLED +#define BLE_DFU_ENABLED 1 +#endif + +// NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS - Buttonless DFU supports bonds. + + +#ifndef NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS +#define NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// GPIOTE_ENABLED - nrf_drv_gpiote - GPIOTE peripheral driver - legacy layer +//========================================================== +#ifndef GPIOTE_ENABLED +#define GPIOTE_ENABLED 1 +#endif +// GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS - Number of lower power input pins +#ifndef GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS +#define GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS 4 +#endif + +// GPIOTE_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef GPIOTE_CONFIG_IRQ_PRIORITY +#define GPIOTE_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// NRFX_CLOCK_ENABLED - nrfx_clock - CLOCK peripheral driver +//========================================================== +#ifndef NRFX_CLOCK_ENABLED +#define NRFX_CLOCK_ENABLED 1 +#endif +// NRFX_CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef NRFX_CLOCK_CONFIG_LF_SRC +#define NRFX_CLOCK_CONFIG_LF_SRC 1 +#endif + +// NRFX_CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_CLOCK_CONFIG_IRQ_PRIORITY +#define NRFX_CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_CLOCK_CONFIG_LOG_ENABLED +#define NRFX_CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_CLOCK_CONFIG_LOG_LEVEL +#define NRFX_CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_INFO_COLOR +#define NRFX_CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_DEBUG_COLOR +#define NRFX_CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_GPIOTE_ENABLED - nrfx_gpiote - GPIOTE peripheral driver +//========================================================== +#ifndef NRFX_GPIOTE_ENABLED +#define NRFX_GPIOTE_ENABLED 1 +#endif +// NRFX_GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS - Number of lower power input pins +#ifndef NRFX_GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS +#define NRFX_GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS 1 +#endif + +// NRFX_GPIOTE_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_GPIOTE_CONFIG_IRQ_PRIORITY +#define NRFX_GPIOTE_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_GPIOTE_CONFIG_LOG_ENABLED +#define NRFX_GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_GPIOTE_CONFIG_LOG_LEVEL +#define NRFX_GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_GPIOTE_CONFIG_INFO_COLOR +#define NRFX_GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_GPIOTE_CONFIG_DEBUG_COLOR +#define NRFX_GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_PRS_ENABLED - nrfx_prs - Peripheral Resource Sharing module +//========================================================== +#ifndef NRFX_PRS_ENABLED +#define NRFX_PRS_ENABLED 1 +#endif +// NRFX_PRS_BOX_0_ENABLED - Enables box 0 in the module. + + +#ifndef NRFX_PRS_BOX_0_ENABLED +#define NRFX_PRS_BOX_0_ENABLED 0 +#endif + +// NRFX_PRS_BOX_1_ENABLED - Enables box 1 in the module. + + +#ifndef NRFX_PRS_BOX_1_ENABLED +#define NRFX_PRS_BOX_1_ENABLED 0 +#endif + +// NRFX_PRS_BOX_2_ENABLED - Enables box 2 in the module. + + +#ifndef NRFX_PRS_BOX_2_ENABLED +#define NRFX_PRS_BOX_2_ENABLED 0 +#endif + +// NRFX_PRS_BOX_3_ENABLED - Enables box 3 in the module. + + +#ifndef NRFX_PRS_BOX_3_ENABLED +#define NRFX_PRS_BOX_3_ENABLED 0 +#endif + +// NRFX_PRS_BOX_4_ENABLED - Enables box 4 in the module. + + +#ifndef NRFX_PRS_BOX_4_ENABLED +#define NRFX_PRS_BOX_4_ENABLED 1 +#endif + +// NRFX_PRS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PRS_CONFIG_LOG_ENABLED +#define NRFX_PRS_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PRS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PRS_CONFIG_LOG_LEVEL +#define NRFX_PRS_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PRS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_INFO_COLOR +#define NRFX_PRS_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PRS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_DEBUG_COLOR +#define NRFX_PRS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UARTE_ENABLED - nrfx_uarte - UARTE peripheral driver +//========================================================== +#ifndef NRFX_UARTE_ENABLED +#define NRFX_UARTE_ENABLED 1 +#endif +// NRFX_UARTE0_ENABLED - Enable UARTE0 instance +#ifndef NRFX_UARTE0_ENABLED +#define NRFX_UARTE0_ENABLED 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_HWFC +#define NRFX_UARTE_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_PARITY +#define NRFX_UARTE_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <8388608=> 31250 baud +// <10289152=> 38400 baud +// <15007744=> 56000 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UARTE_CONFIG_LOG_ENABLED +#define NRFX_UARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UARTE_CONFIG_LOG_LEVEL +#define NRFX_UARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_INFO_COLOR +#define NRFX_UARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_DEBUG_COLOR +#define NRFX_UARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UART_ENABLED - nrfx_uart - UART peripheral driver +//========================================================== +#ifndef NRFX_UART_ENABLED +#define NRFX_UART_ENABLED 1 +#endif +// NRFX_UART0_ENABLED - Enable UART0 instance +#ifndef NRFX_UART0_ENABLED +#define NRFX_UART0_ENABLED 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UART_DEFAULT_CONFIG_HWFC +#define NRFX_UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UART_DEFAULT_CONFIG_PARITY +#define NRFX_UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3866624=> 14400 baud +// <5152768=> 19200 baud +// <7729152=> 28800 baud +// <8388608=> 31250 baud +// <10309632=> 38400 baud +// <15007744=> 56000 baud +// <15462400=> 57600 baud +// <20615168=> 76800 baud +// <30924800=> 115200 baud +// <61845504=> 230400 baud +// <67108864=> 250000 baud +// <123695104=> 460800 baud +// <247386112=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UART_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UART_DEFAULT_CONFIG_BAUDRATE 30924800 +#endif + +// NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UART_CONFIG_LOG_ENABLED +#define NRFX_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UART_CONFIG_LOG_LEVEL +#define NRFX_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_INFO_COLOR +#define NRFX_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_DEBUG_COLOR +#define NRFX_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRF_CLOCK_ENABLED - nrf_drv_clock - CLOCK peripheral driver - legacy layer +//========================================================== +#ifndef NRF_CLOCK_ENABLED +#define NRF_CLOCK_ENABLED 1 +#endif +// CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef CLOCK_CONFIG_LF_SRC +#define CLOCK_CONFIG_LF_SRC 1 +#endif + +// CLOCK_CONFIG_LF_CAL_ENABLED - Calibration enable for LF Clock Source + + +#ifndef CLOCK_CONFIG_LF_CAL_ENABLED +#define CLOCK_CONFIG_LF_CAL_ENABLED 0 +#endif + +// CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef CLOCK_CONFIG_IRQ_PRIORITY +#define CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver - legacy layer +//========================================================== +#ifndef UART_ENABLED +#define UART_ENABLED 1 +#endif +// UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef UART_DEFAULT_CONFIG_HWFC +#define UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef UART_DEFAULT_CONFIG_PARITY +#define UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef UART_DEFAULT_CONFIG_BAUDRATE +#define UART_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// UART_EASY_DMA_SUPPORT - Driver supporting EasyDMA + + +#ifndef UART_EASY_DMA_SUPPORT +#define UART_EASY_DMA_SUPPORT 1 +#endif + +// UART_LEGACY_SUPPORT - Driver supporting Legacy mode + + +#ifndef UART_LEGACY_SUPPORT +#define UART_LEGACY_SUPPORT 1 +#endif + +// UART0_ENABLED - Enable UART0 instance +//========================================================== +#ifndef UART0_ENABLED +#define UART0_ENABLED 1 +#endif +// UART0_CONFIG_USE_EASY_DMA - Default setting for using EasyDMA + + +#ifndef UART0_CONFIG_USE_EASY_DMA +#define UART0_CONFIG_USE_EASY_DMA 1 +#endif + +// + +// + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// APP_TIMER_ENABLED - app_timer - Application timer functionality +//========================================================== +#ifndef APP_TIMER_ENABLED +#define APP_TIMER_ENABLED 1 +#endif +// APP_TIMER_CONFIG_RTC_FREQUENCY - Configure RTC prescaler. + +// <0=> 32768 Hz +// <1=> 16384 Hz +// <3=> 8192 Hz +// <7=> 4096 Hz +// <15=> 2048 Hz +// <31=> 1024 Hz + +#ifndef APP_TIMER_CONFIG_RTC_FREQUENCY +#define APP_TIMER_CONFIG_RTC_FREQUENCY 1 +#endif + +// APP_TIMER_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef APP_TIMER_CONFIG_IRQ_PRIORITY +#define APP_TIMER_CONFIG_IRQ_PRIORITY 6 +#endif + +// APP_TIMER_CONFIG_OP_QUEUE_SIZE - Capacity of timer requests queue. +// Size of the queue depends on how many timers are used +// in the system, how often timers are started and overall +// system latency. If queue size is too small app_timer calls +// will fail. + +#ifndef APP_TIMER_CONFIG_OP_QUEUE_SIZE +#define APP_TIMER_CONFIG_OP_QUEUE_SIZE 10 +#endif + +// APP_TIMER_CONFIG_USE_SCHEDULER - Enable scheduling app_timer events to app_scheduler + + +#ifndef APP_TIMER_CONFIG_USE_SCHEDULER +#define APP_TIMER_CONFIG_USE_SCHEDULER 0 +#endif + +// APP_TIMER_KEEPS_RTC_ACTIVE - Enable RTC always on + + +// If option is enabled RTC is kept running even if there is no active timers. +// This option can be used when app_timer is used for timestamping. + +#ifndef APP_TIMER_KEEPS_RTC_ACTIVE +#define APP_TIMER_KEEPS_RTC_ACTIVE 0 +#endif + +// APP_TIMER_SAFE_WINDOW_MS - Maximum possible latency (in milliseconds) of handling app_timer event. +// Maximum possible timeout that can be set is reduced by safe window. +// Example: RTC frequency 16384 Hz, maximum possible timeout 1024 seconds - APP_TIMER_SAFE_WINDOW_MS. +// Since RTC is not stopped when processor is halted in debugging session, this value +// must cover it if debugging is needed. It is possible to halt processor for APP_TIMER_SAFE_WINDOW_MS +// without corrupting app_timer behavior. + +#ifndef APP_TIMER_SAFE_WINDOW_MS +#define APP_TIMER_SAFE_WINDOW_MS 300000 +#endif + +// App Timer Legacy configuration - Legacy configuration. + +//========================================================== +// APP_TIMER_WITH_PROFILER - Enable app_timer profiling + + +#ifndef APP_TIMER_WITH_PROFILER +#define APP_TIMER_WITH_PROFILER 0 +#endif + +// APP_TIMER_CONFIG_SWI_NUMBER - Configure SWI instance used. + + +#ifndef APP_TIMER_CONFIG_SWI_NUMBER +#define APP_TIMER_CONFIG_SWI_NUMBER 0 +#endif + +// +//========================================================== + +// + +// CRC16_ENABLED - crc16 - CRC16 calculation routines + + +#ifndef CRC16_ENABLED +#define CRC16_ENABLED 1 +#endif + +// FDS_ENABLED - fds - Flash data storage module +//========================================================== +#ifndef FDS_ENABLED +#define FDS_ENABLED 1 +#endif +// Pages - Virtual page settings + +// Configure the number of virtual pages to use and their size. +//========================================================== +// FDS_VIRTUAL_PAGES - Number of virtual flash pages to use. +// One of the virtual pages is reserved by the system for garbage collection. +// Therefore, the minimum is two virtual pages: one page to store data and one page to be used by the system for garbage collection. +// The total amount of flash memory that is used by FDS amounts to @ref FDS_VIRTUAL_PAGES * @ref FDS_VIRTUAL_PAGE_SIZE * 4 bytes. + +#ifndef FDS_VIRTUAL_PAGES +#define FDS_VIRTUAL_PAGES 3 +#endif + +// FDS_VIRTUAL_PAGE_SIZE - The size of a virtual flash page. + + +// Expressed in number of 4-byte words. +// By default, a virtual page is the same size as a physical page. +// The size of a virtual page must be a multiple of the size of a physical page. +// <1024=> 1024 +// <2048=> 2048 + +#ifndef FDS_VIRTUAL_PAGE_SIZE +#define FDS_VIRTUAL_PAGE_SIZE 1024 +#endif + +// FDS_VIRTUAL_PAGES_RESERVED - The number of virtual flash pages that are used by other modules. +// FDS module stores its data in the last pages of the flash memory. +// By setting this value, you can move flash end address used by the FDS. +// As a result the reserved space can be used by other modules. + +#ifndef FDS_VIRTUAL_PAGES_RESERVED +#define FDS_VIRTUAL_PAGES_RESERVED 0 +#endif + +// +//========================================================== + +// Backend - Backend configuration + +// Configure which nrf_fstorage backend is used by FDS to write to flash. +//========================================================== +// FDS_BACKEND - FDS flash backend. + + +// NRF_FSTORAGE_SD uses the nrf_fstorage_sd backend implementation using the SoftDevice API. Use this if you have a SoftDevice present. +// NRF_FSTORAGE_NVMC uses the nrf_fstorage_nvmc implementation. Use this setting if you don't use the SoftDevice. +// <1=> NRF_FSTORAGE_NVMC +// <2=> NRF_FSTORAGE_SD + +#ifndef FDS_BACKEND +#define FDS_BACKEND 2 +#endif + +// +//========================================================== + +// Queue - Queue settings + +//========================================================== +// FDS_OP_QUEUE_SIZE - Size of the internal queue. +// Increase this value if you frequently get synchronous FDS_ERR_NO_SPACE_IN_QUEUES errors. + +#ifndef FDS_OP_QUEUE_SIZE +#define FDS_OP_QUEUE_SIZE 4 +#endif + +// +//========================================================== + +// CRC - CRC functionality + +//========================================================== +// FDS_CRC_CHECK_ON_READ - Enable CRC checks. + +// Save a record's CRC when it is written to flash and check it when the record is opened. +// Records with an incorrect CRC can still be 'seen' by the user using FDS functions, but they cannot be opened. +// Additionally, they will not be garbage collected until they are deleted. +//========================================================== +#ifndef FDS_CRC_CHECK_ON_READ +#define FDS_CRC_CHECK_ON_READ 0 +#endif +// FDS_CRC_CHECK_ON_WRITE - Perform a CRC check on newly written records. + + +// Perform a CRC check on newly written records. +// This setting can be used to make sure that the record data was not altered while being written to flash. +// <1=> Enabled +// <0=> Disabled + +#ifndef FDS_CRC_CHECK_ON_WRITE +#define FDS_CRC_CHECK_ON_WRITE 0 +#endif + +// + +// +//========================================================== + +// Users - Number of users + +//========================================================== +// FDS_MAX_USERS - Maximum number of callbacks that can be registered. +#ifndef FDS_MAX_USERS +#define FDS_MAX_USERS 4 +#endif + +// +//========================================================== + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 0 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 4 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 4096 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_PWR_MGMT_ENABLED - nrf_pwr_mgmt - Power management module +//========================================================== +#ifndef NRF_PWR_MGMT_ENABLED +#define NRF_PWR_MGMT_ENABLED 1 +#endif +// NRF_PWR_MGMT_CONFIG_DEBUG_PIN_ENABLED - Enables pin debug in the module. + +// Selected pin will be set when CPU is in sleep mode. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_PIN_ENABLED +#define NRF_PWR_MGMT_CONFIG_DEBUG_PIN_ENABLED 0 +#endif +// NRF_PWR_MGMT_SLEEP_DEBUG_PIN - Pin number + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <4294967295=> Not connected + +#ifndef NRF_PWR_MGMT_SLEEP_DEBUG_PIN +#define NRF_PWR_MGMT_SLEEP_DEBUG_PIN 31 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_CPU_USAGE_MONITOR_ENABLED - Enables CPU usage monitor. + + +// Module will trace percentage of CPU usage in one second intervals. + +#ifndef NRF_PWR_MGMT_CONFIG_CPU_USAGE_MONITOR_ENABLED +#define NRF_PWR_MGMT_CONFIG_CPU_USAGE_MONITOR_ENABLED 0 +#endif + +// NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_ENABLED - Enable standby timeout. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_ENABLED +#define NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_S - Standby timeout (in seconds). +// Shutdown procedure will begin no earlier than after this number of seconds. + +#ifndef NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_S +#define NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_S 3 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_FPU_SUPPORT_ENABLED - Enables FPU event cleaning. + + +#ifndef NRF_PWR_MGMT_CONFIG_FPU_SUPPORT_ENABLED +#define NRF_PWR_MGMT_CONFIG_FPU_SUPPORT_ENABLED 1 +#endif + +// NRF_PWR_MGMT_CONFIG_AUTO_SHUTDOWN_RETRY - Blocked shutdown procedure will be retried every second. + + +#ifndef NRF_PWR_MGMT_CONFIG_AUTO_SHUTDOWN_RETRY +#define NRF_PWR_MGMT_CONFIG_AUTO_SHUTDOWN_RETRY 1 +#endif + +// NRF_PWR_MGMT_CONFIG_USE_SCHEDULER - Module will use @ref app_scheduler. + + +#ifndef NRF_PWR_MGMT_CONFIG_USE_SCHEDULER +#define NRF_PWR_MGMT_CONFIG_USE_SCHEDULER 0 +#endif + +// NRF_PWR_MGMT_CONFIG_HANDLER_PRIORITY_COUNT - The number of priorities for module handlers. +// The number of stages of the shutdown process. + +#ifndef NRF_PWR_MGMT_CONFIG_HANDLER_PRIORITY_COUNT +#define NRF_PWR_MGMT_CONFIG_HANDLER_PRIORITY_COUNT 3 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_SORTLIST_ENABLED - nrf_sortlist - Sorted list + + +#ifndef NRF_SORTLIST_ENABLED +#define NRF_SORTLIST_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// app_button - buttons handling module + +//========================================================== +// BUTTON_ENABLED - Enables Button module + + +#ifndef BUTTON_ENABLED +#define BUTTON_ENABLED 1 +#endif + +// BUTTON_HIGH_ACCURACY_ENABLED - Enables GPIOTE high accuracy for buttons + + +#ifndef BUTTON_HIGH_ACCURACY_ENABLED +#define BUTTON_HIGH_ACCURACY_ENABLED 0 +#endif + +// +//========================================================== + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 0 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_BACKEND_UART_ENABLED - nrf_log_backend_uart - Log UART backend +//========================================================== +#ifndef NRF_LOG_BACKEND_UART_ENABLED +#define NRF_LOG_BACKEND_UART_ENABLED 1 +#endif +// NRF_LOG_BACKEND_UART_TX_PIN - UART TX pin +#ifndef NRF_LOG_BACKEND_UART_TX_PIN +#define NRF_LOG_BACKEND_UART_TX_PIN 6 +#endif + +// NRF_LOG_BACKEND_UART_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRF_LOG_BACKEND_UART_BAUDRATE +#define NRF_LOG_BACKEND_UART_BAUDRATE 30801920 +#endif + +// NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE 64 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 512 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 23 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 1 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/ses/ble_app_buttonless_dfu_pca10040_s132.emProject b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/ses/ble_app_buttonless_dfu_pca10040_s132.emProject new file mode 100644 index 0000000..089ffa2 --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/ses/ble_app_buttonless_dfu_pca10040_s132.emProject @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/ses/ble_app_buttonless_dfu_pca10040_s132.emSession b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/ses/ble_app_buttonless_dfu_pca10040_s132.emSession new file mode 100644 index 0000000..eaa9799 --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/ses/ble_app_buttonless_dfu_pca10040_s132.emSession @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/ses/flash_placement.xml b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/ses/flash_placement.xml new file mode 100644 index 0000000..c213f98 --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10040/s132/ses/flash_placement.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/armgcc/Makefile b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/armgcc/Makefile new file mode 100644 index 0000000..3fe19b5 --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/armgcc/Makefile @@ -0,0 +1,248 @@ +PROJECT_NAME := ble_app_buttonless_dfu_pca10056_s140 +TARGETS := nrf52840_xxaa +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../../.. +PROJ_DIR := ../../.. + +$(OUTPUT_DIRECTORY)/nrf52840_xxaa.out: \ + LINKER_SCRIPT := ble_app_buttonless_dfu_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52840.S \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_uart.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52840.c \ + $(SDK_ROOT)/components/libraries/button/app_button.c \ + $(SDK_ROOT)/components/libraries/util/app_error.c \ + $(SDK_ROOT)/components/libraries/util/app_error_handler_gcc.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/timer/app_timer2.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc16/crc16.c \ + $(SDK_ROOT)/components/libraries/timer/drv_rtc.c \ + $(SDK_ROOT)/components/libraries/fds/fds.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic_flags/nrf_atflags.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/pwr_mgmt/nrf_pwr_mgmt.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/sortlist/nrf_sortlist.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_clock.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_uart.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_clock.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_gpiote.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/prs/nrfx_prs.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uart.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uarte.c \ + $(SDK_ROOT)/components/libraries/bsp/bsp.c \ + $(SDK_ROOT)/components/libraries/bsp/bsp_btn_ble.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/ble/peer_manager/auth_status_tracker.c \ + $(SDK_ROOT)/components/ble/common/ble_advdata.c \ + $(SDK_ROOT)/components/ble/ble_advertising/ble_advertising.c \ + $(SDK_ROOT)/components/ble/common/ble_conn_params.c \ + $(SDK_ROOT)/components/ble/common/ble_conn_state.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/ble/peer_manager/gatt_cache_manager.c \ + $(SDK_ROOT)/components/ble/peer_manager/gatts_cache_manager.c \ + $(SDK_ROOT)/components/ble/peer_manager/id_manager.c \ + $(SDK_ROOT)/components/ble/nrf_ble_gatt/nrf_ble_gatt.c \ + $(SDK_ROOT)/components/ble/nrf_ble_qwr/nrf_ble_qwr.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_data_storage.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_database.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_id.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_manager.c \ + $(SDK_ROOT)/components/ble/peer_manager/peer_manager_handler.c \ + $(SDK_ROOT)/components/ble/peer_manager/pm_buffer.c \ + $(SDK_ROOT)/components/ble/peer_manager/security_dispatcher.c \ + $(SDK_ROOT)/components/ble/peer_manager/security_manager.c \ + $(SDK_ROOT)/components/ble/ble_services/ble_dfu/ble_dfu.c \ + $(SDK_ROOT)/components/ble/ble_services/ble_dfu/ble_dfu_bonded.c \ + $(SDK_ROOT)/components/ble/ble_services/ble_dfu/ble_dfu_unbonded.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/components/libraries/pwr_mgmt \ + $(SDK_ROOT)/components/libraries/sortlist \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/components/libraries/crc16 \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/util \ + ../config \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/ble/peer_manager \ + $(SDK_ROOT)/components/libraries/ringbuf \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/libraries/bsp \ + $(SDK_ROOT)/components/libraries/timer \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/components/ble/nrf_ble_gatt \ + $(SDK_ROOT)/components/ble/nrf_ble_qwr \ + $(SDK_ROOT)/components/libraries/button \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/softdevice/s140/headers \ + $(SDK_ROOT)/components/libraries/mutex \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/fds \ + $(SDK_ROOT)/components/ble/ble_advertising \ + $(SDK_ROOT)/components/libraries/atomic_flags \ + $(SDK_ROOT)/components/softdevice/s140/headers/nrf52 \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/ble/ble_services/ble_dfu \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/log/src \ + +# Libraries common to all targets +LIB_FILES += \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DAPP_TIMER_V2 +CFLAGS += -DAPP_TIMER_V2_RTC1_ENABLED +CFLAGS += -DBL_SETTINGS_ACCESS_ONLY +CFLAGS += -DBOARD_PCA10056 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52840_XXAA +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_DFU_TRANSPORT_BLE=1 +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS140 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DAPP_TIMER_V2 +ASMFLAGS += -DAPP_TIMER_V2_RTC1_ENABLED +ASMFLAGS += -DBL_SETTINGS_ACCESS_ONLY +ASMFLAGS += -DBOARD_PCA10056 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52840_XXAA +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_DFU_TRANSPORT_BLE=1 +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS140 +ASMFLAGS += -DSOFTDEVICE_PRESENT + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52840_xxaa: CFLAGS += -D__HEAP_SIZE=8192 +nrf52840_xxaa: CFLAGS += -D__STACK_SIZE=8192 +nrf52840_xxaa: ASMFLAGS += -D__HEAP_SIZE=8192 +nrf52840_xxaa: ASMFLAGS += -D__STACK_SIZE=8192 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52840_xxaa + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52840_xxaa + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52840_xxaa.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52840_xxaa.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s140_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s140/hex/s140_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/armgcc/ble_app_buttonless_dfu_gcc_nrf52.ld b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/armgcc/ble_app_buttonless_dfu_gcc_nrf52.ld new file mode 100644 index 0000000..b56e5f0 --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/armgcc/ble_app_buttonless_dfu_gcc_nrf52.ld @@ -0,0 +1,114 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x27000, LENGTH = 0xc9000 + RAM (rwx) : ORIGIN = 0x20002270, LENGTH = 0x3dd90 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + .pwr_mgmt_data : + { + PROVIDE(__start_pwr_mgmt_data = .); + KEEP(*(SORT(.pwr_mgmt_data*))) + PROVIDE(__stop_pwr_mgmt_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/config/sdk_config.h b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/config/sdk_config.h new file mode 100644 index 0000000..c9f8cb1 --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/config/sdk_config.h @@ -0,0 +1,5275 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// Board Support + +//========================================================== +// BSP_BTN_BLE_ENABLED - bsp_btn_ble - Button Control for BLE + + +#ifndef BSP_BTN_BLE_ENABLED +#define BSP_BTN_BLE_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_BLE + +//========================================================== +// BLE_ADVERTISING_ENABLED - ble_advertising - Advertising module + + +#ifndef BLE_ADVERTISING_ENABLED +#define BLE_ADVERTISING_ENABLED 1 +#endif + +// NRF_BLE_CONN_PARAMS_ENABLED - ble_conn_params - Initiating and executing a connection parameters negotiation procedure +//========================================================== +#ifndef NRF_BLE_CONN_PARAMS_ENABLED +#define NRF_BLE_CONN_PARAMS_ENABLED 1 +#endif +// NRF_BLE_CONN_PARAMS_MAX_SLAVE_LATENCY_DEVIATION - The largest acceptable deviation in slave latency. +// The largest deviation (+ or -) from the requested slave latency that will not be renegotiated. + +#ifndef NRF_BLE_CONN_PARAMS_MAX_SLAVE_LATENCY_DEVIATION +#define NRF_BLE_CONN_PARAMS_MAX_SLAVE_LATENCY_DEVIATION 499 +#endif + +// NRF_BLE_CONN_PARAMS_MAX_SUPERVISION_TIMEOUT_DEVIATION - The largest acceptable deviation (in 10 ms units) in supervision timeout. +// The largest deviation (+ or -, in 10 ms units) from the requested supervision timeout that will not be renegotiated. + +#ifndef NRF_BLE_CONN_PARAMS_MAX_SUPERVISION_TIMEOUT_DEVIATION +#define NRF_BLE_CONN_PARAMS_MAX_SUPERVISION_TIMEOUT_DEVIATION 65535 +#endif + +// + +// NRF_BLE_GATT_ENABLED - nrf_ble_gatt - GATT module +//========================================================== +#ifndef NRF_BLE_GATT_ENABLED +#define NRF_BLE_GATT_ENABLED 1 +#endif +// NRF_BLE_GATT_MTU_EXCHANGE_INITIATION_ENABLED - Enable GATT MTU exchange initiation + + +#ifndef NRF_BLE_GATT_MTU_EXCHANGE_INITIATION_ENABLED +#define NRF_BLE_GATT_MTU_EXCHANGE_INITIATION_ENABLED 1 +#endif + +// + +// NRF_BLE_QWR_ENABLED - nrf_ble_qwr - Queued writes support module (prepare/execute write) +//========================================================== +#ifndef NRF_BLE_QWR_ENABLED +#define NRF_BLE_QWR_ENABLED 1 +#endif +// NRF_BLE_QWR_MAX_ATTR - Maximum number of attribute handles that can be registered. This number must be adjusted according to the number of attributes for which Queued Writes will be enabled. If it is zero, the module will reject all Queued Write requests. +#ifndef NRF_BLE_QWR_MAX_ATTR +#define NRF_BLE_QWR_MAX_ATTR 0 +#endif + +// + +// PEER_MANAGER_ENABLED - peer_manager - Peer Manager +//========================================================== +#ifndef PEER_MANAGER_ENABLED +#define PEER_MANAGER_ENABLED 1 +#endif +// PM_MAX_REGISTRANTS - Number of event handlers that can be registered. +#ifndef PM_MAX_REGISTRANTS +#define PM_MAX_REGISTRANTS 3 +#endif + +// PM_FLASH_BUFFERS - Number of internal buffers for flash operations. +// Decrease this value to lower RAM usage. + +#ifndef PM_FLASH_BUFFERS +#define PM_FLASH_BUFFERS 4 +#endif + +// PM_CENTRAL_ENABLED - Enable/disable central-specific Peer Manager functionality. + + +// Enable/disable central-specific Peer Manager functionality. + +#ifndef PM_CENTRAL_ENABLED +#define PM_CENTRAL_ENABLED 0 +#endif + +// PM_SERVICE_CHANGED_ENABLED - Enable/disable the service changed management for GATT server in Peer Manager. + + +// If not using a GATT server, or using a server wihout a service changed characteristic, +// disable this to save code space. + +#ifndef PM_SERVICE_CHANGED_ENABLED +#define PM_SERVICE_CHANGED_ENABLED 1 +#endif + +// PM_PEER_RANKS_ENABLED - Enable/disable the peer rank management in Peer Manager. + + +// Set this to false to save code space if not using the peer rank API. + +#ifndef PM_PEER_RANKS_ENABLED +#define PM_PEER_RANKS_ENABLED 1 +#endif + +// PM_LESC_ENABLED - Enable/disable LESC support in Peer Manager. + + +// If set to true, you need to call nrf_ble_lesc_request_handler() in the main loop to respond to LESC-related BLE events. If LESC support is not required, set this to false to save code space. + +#ifndef PM_LESC_ENABLED +#define PM_LESC_ENABLED 0 +#endif + +// PM_RA_PROTECTION_ENABLED - Enable/disable protection against repeated pairing attempts in Peer Manager. +//========================================================== +#ifndef PM_RA_PROTECTION_ENABLED +#define PM_RA_PROTECTION_ENABLED 0 +#endif +// PM_RA_PROTECTION_TRACKED_PEERS_NUM - Maximum number of peers whose authorization status can be tracked. +#ifndef PM_RA_PROTECTION_TRACKED_PEERS_NUM +#define PM_RA_PROTECTION_TRACKED_PEERS_NUM 8 +#endif + +// PM_RA_PROTECTION_MIN_WAIT_INTERVAL - Minimum waiting interval (in ms) before a new pairing attempt can be initiated. +#ifndef PM_RA_PROTECTION_MIN_WAIT_INTERVAL +#define PM_RA_PROTECTION_MIN_WAIT_INTERVAL 4000 +#endif + +// PM_RA_PROTECTION_MAX_WAIT_INTERVAL - Maximum waiting interval (in ms) before a new pairing attempt can be initiated. +#ifndef PM_RA_PROTECTION_MAX_WAIT_INTERVAL +#define PM_RA_PROTECTION_MAX_WAIT_INTERVAL 64000 +#endif + +// PM_RA_PROTECTION_REWARD_PERIOD - Reward period (in ms). +// The waiting interval is gradually decreased when no new failed pairing attempts are made during reward period. + +#ifndef PM_RA_PROTECTION_REWARD_PERIOD +#define PM_RA_PROTECTION_REWARD_PERIOD 10000 +#endif + +// + +// PM_HANDLER_SEC_DELAY_MS - Delay before starting security. +// This might be necessary for interoperability reasons, especially as peripheral. + +#ifndef PM_HANDLER_SEC_DELAY_MS +#define PM_HANDLER_SEC_DELAY_MS 0 +#endif + +// + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// ble_dfu - Device Firmware Update + +//========================================================== +// BLE_DFU_ENABLED - Enable DFU Service. + + +#ifndef BLE_DFU_ENABLED +#define BLE_DFU_ENABLED 1 +#endif + +// NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS - Buttonless DFU supports bonds. + + +#ifndef NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS +#define NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// GPIOTE_ENABLED - nrf_drv_gpiote - GPIOTE peripheral driver - legacy layer +//========================================================== +#ifndef GPIOTE_ENABLED +#define GPIOTE_ENABLED 1 +#endif +// GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS - Number of lower power input pins +#ifndef GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS +#define GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS 4 +#endif + +// GPIOTE_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef GPIOTE_CONFIG_IRQ_PRIORITY +#define GPIOTE_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// NRFX_CLOCK_ENABLED - nrfx_clock - CLOCK peripheral driver +//========================================================== +#ifndef NRFX_CLOCK_ENABLED +#define NRFX_CLOCK_ENABLED 1 +#endif +// NRFX_CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef NRFX_CLOCK_CONFIG_LF_SRC +#define NRFX_CLOCK_CONFIG_LF_SRC 1 +#endif + +// NRFX_CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_CLOCK_CONFIG_IRQ_PRIORITY +#define NRFX_CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_CLOCK_CONFIG_LOG_ENABLED +#define NRFX_CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_CLOCK_CONFIG_LOG_LEVEL +#define NRFX_CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_INFO_COLOR +#define NRFX_CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_DEBUG_COLOR +#define NRFX_CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_GPIOTE_ENABLED - nrfx_gpiote - GPIOTE peripheral driver +//========================================================== +#ifndef NRFX_GPIOTE_ENABLED +#define NRFX_GPIOTE_ENABLED 1 +#endif +// NRFX_GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS - Number of lower power input pins +#ifndef NRFX_GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS +#define NRFX_GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS 1 +#endif + +// NRFX_GPIOTE_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_GPIOTE_CONFIG_IRQ_PRIORITY +#define NRFX_GPIOTE_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_GPIOTE_CONFIG_LOG_ENABLED +#define NRFX_GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_GPIOTE_CONFIG_LOG_LEVEL +#define NRFX_GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_GPIOTE_CONFIG_INFO_COLOR +#define NRFX_GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_GPIOTE_CONFIG_DEBUG_COLOR +#define NRFX_GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_PRS_ENABLED - nrfx_prs - Peripheral Resource Sharing module +//========================================================== +#ifndef NRFX_PRS_ENABLED +#define NRFX_PRS_ENABLED 1 +#endif +// NRFX_PRS_BOX_0_ENABLED - Enables box 0 in the module. + + +#ifndef NRFX_PRS_BOX_0_ENABLED +#define NRFX_PRS_BOX_0_ENABLED 0 +#endif + +// NRFX_PRS_BOX_1_ENABLED - Enables box 1 in the module. + + +#ifndef NRFX_PRS_BOX_1_ENABLED +#define NRFX_PRS_BOX_1_ENABLED 0 +#endif + +// NRFX_PRS_BOX_2_ENABLED - Enables box 2 in the module. + + +#ifndef NRFX_PRS_BOX_2_ENABLED +#define NRFX_PRS_BOX_2_ENABLED 0 +#endif + +// NRFX_PRS_BOX_3_ENABLED - Enables box 3 in the module. + + +#ifndef NRFX_PRS_BOX_3_ENABLED +#define NRFX_PRS_BOX_3_ENABLED 0 +#endif + +// NRFX_PRS_BOX_4_ENABLED - Enables box 4 in the module. + + +#ifndef NRFX_PRS_BOX_4_ENABLED +#define NRFX_PRS_BOX_4_ENABLED 1 +#endif + +// NRFX_PRS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PRS_CONFIG_LOG_ENABLED +#define NRFX_PRS_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PRS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PRS_CONFIG_LOG_LEVEL +#define NRFX_PRS_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PRS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_INFO_COLOR +#define NRFX_PRS_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PRS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_DEBUG_COLOR +#define NRFX_PRS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UARTE_ENABLED - nrfx_uarte - UARTE peripheral driver +//========================================================== +#ifndef NRFX_UARTE_ENABLED +#define NRFX_UARTE_ENABLED 1 +#endif +// NRFX_UARTE0_ENABLED - Enable UARTE0 instance +#ifndef NRFX_UARTE0_ENABLED +#define NRFX_UARTE0_ENABLED 0 +#endif + +// NRFX_UARTE1_ENABLED - Enable UARTE1 instance +#ifndef NRFX_UARTE1_ENABLED +#define NRFX_UARTE1_ENABLED 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_HWFC +#define NRFX_UARTE_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_PARITY +#define NRFX_UARTE_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <8388608=> 31250 baud +// <10289152=> 38400 baud +// <15007744=> 56000 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UARTE_CONFIG_LOG_ENABLED +#define NRFX_UARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UARTE_CONFIG_LOG_LEVEL +#define NRFX_UARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_INFO_COLOR +#define NRFX_UARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_DEBUG_COLOR +#define NRFX_UARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UART_ENABLED - nrfx_uart - UART peripheral driver +//========================================================== +#ifndef NRFX_UART_ENABLED +#define NRFX_UART_ENABLED 1 +#endif +// NRFX_UART0_ENABLED - Enable UART0 instance +#ifndef NRFX_UART0_ENABLED +#define NRFX_UART0_ENABLED 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UART_DEFAULT_CONFIG_HWFC +#define NRFX_UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UART_DEFAULT_CONFIG_PARITY +#define NRFX_UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3866624=> 14400 baud +// <5152768=> 19200 baud +// <7729152=> 28800 baud +// <8388608=> 31250 baud +// <10309632=> 38400 baud +// <15007744=> 56000 baud +// <15462400=> 57600 baud +// <20615168=> 76800 baud +// <30924800=> 115200 baud +// <61845504=> 230400 baud +// <67108864=> 250000 baud +// <123695104=> 460800 baud +// <247386112=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UART_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UART_DEFAULT_CONFIG_BAUDRATE 30924800 +#endif + +// NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UART_CONFIG_LOG_ENABLED +#define NRFX_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UART_CONFIG_LOG_LEVEL +#define NRFX_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_INFO_COLOR +#define NRFX_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_DEBUG_COLOR +#define NRFX_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRF_CLOCK_ENABLED - nrf_drv_clock - CLOCK peripheral driver - legacy layer +//========================================================== +#ifndef NRF_CLOCK_ENABLED +#define NRF_CLOCK_ENABLED 1 +#endif +// CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef CLOCK_CONFIG_LF_SRC +#define CLOCK_CONFIG_LF_SRC 1 +#endif + +// CLOCK_CONFIG_LF_CAL_ENABLED - Calibration enable for LF Clock Source + + +#ifndef CLOCK_CONFIG_LF_CAL_ENABLED +#define CLOCK_CONFIG_LF_CAL_ENABLED 0 +#endif + +// CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef CLOCK_CONFIG_IRQ_PRIORITY +#define CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver - legacy layer +//========================================================== +#ifndef UART_ENABLED +#define UART_ENABLED 1 +#endif +// UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef UART_DEFAULT_CONFIG_HWFC +#define UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef UART_DEFAULT_CONFIG_PARITY +#define UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef UART_DEFAULT_CONFIG_BAUDRATE +#define UART_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// UART_EASY_DMA_SUPPORT - Driver supporting EasyDMA + + +#ifndef UART_EASY_DMA_SUPPORT +#define UART_EASY_DMA_SUPPORT 1 +#endif + +// UART_LEGACY_SUPPORT - Driver supporting Legacy mode + + +#ifndef UART_LEGACY_SUPPORT +#define UART_LEGACY_SUPPORT 1 +#endif + +// UART0_ENABLED - Enable UART0 instance +//========================================================== +#ifndef UART0_ENABLED +#define UART0_ENABLED 1 +#endif +// UART0_CONFIG_USE_EASY_DMA - Default setting for using EasyDMA + + +#ifndef UART0_CONFIG_USE_EASY_DMA +#define UART0_CONFIG_USE_EASY_DMA 1 +#endif + +// + +// UART1_ENABLED - Enable UART1 instance +//========================================================== +#ifndef UART1_ENABLED +#define UART1_ENABLED 0 +#endif +// + +// + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// APP_TIMER_ENABLED - app_timer - Application timer functionality +//========================================================== +#ifndef APP_TIMER_ENABLED +#define APP_TIMER_ENABLED 1 +#endif +// APP_TIMER_CONFIG_RTC_FREQUENCY - Configure RTC prescaler. + +// <0=> 32768 Hz +// <1=> 16384 Hz +// <3=> 8192 Hz +// <7=> 4096 Hz +// <15=> 2048 Hz +// <31=> 1024 Hz + +#ifndef APP_TIMER_CONFIG_RTC_FREQUENCY +#define APP_TIMER_CONFIG_RTC_FREQUENCY 1 +#endif + +// APP_TIMER_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef APP_TIMER_CONFIG_IRQ_PRIORITY +#define APP_TIMER_CONFIG_IRQ_PRIORITY 6 +#endif + +// APP_TIMER_CONFIG_OP_QUEUE_SIZE - Capacity of timer requests queue. +// Size of the queue depends on how many timers are used +// in the system, how often timers are started and overall +// system latency. If queue size is too small app_timer calls +// will fail. + +#ifndef APP_TIMER_CONFIG_OP_QUEUE_SIZE +#define APP_TIMER_CONFIG_OP_QUEUE_SIZE 10 +#endif + +// APP_TIMER_CONFIG_USE_SCHEDULER - Enable scheduling app_timer events to app_scheduler + + +#ifndef APP_TIMER_CONFIG_USE_SCHEDULER +#define APP_TIMER_CONFIG_USE_SCHEDULER 0 +#endif + +// APP_TIMER_KEEPS_RTC_ACTIVE - Enable RTC always on + + +// If option is enabled RTC is kept running even if there is no active timers. +// This option can be used when app_timer is used for timestamping. + +#ifndef APP_TIMER_KEEPS_RTC_ACTIVE +#define APP_TIMER_KEEPS_RTC_ACTIVE 0 +#endif + +// APP_TIMER_SAFE_WINDOW_MS - Maximum possible latency (in milliseconds) of handling app_timer event. +// Maximum possible timeout that can be set is reduced by safe window. +// Example: RTC frequency 16384 Hz, maximum possible timeout 1024 seconds - APP_TIMER_SAFE_WINDOW_MS. +// Since RTC is not stopped when processor is halted in debugging session, this value +// must cover it if debugging is needed. It is possible to halt processor for APP_TIMER_SAFE_WINDOW_MS +// without corrupting app_timer behavior. + +#ifndef APP_TIMER_SAFE_WINDOW_MS +#define APP_TIMER_SAFE_WINDOW_MS 300000 +#endif + +// App Timer Legacy configuration - Legacy configuration. + +//========================================================== +// APP_TIMER_WITH_PROFILER - Enable app_timer profiling + + +#ifndef APP_TIMER_WITH_PROFILER +#define APP_TIMER_WITH_PROFILER 0 +#endif + +// APP_TIMER_CONFIG_SWI_NUMBER - Configure SWI instance used. + + +#ifndef APP_TIMER_CONFIG_SWI_NUMBER +#define APP_TIMER_CONFIG_SWI_NUMBER 0 +#endif + +// +//========================================================== + +// + +// CRC16_ENABLED - crc16 - CRC16 calculation routines + + +#ifndef CRC16_ENABLED +#define CRC16_ENABLED 1 +#endif + +// FDS_ENABLED - fds - Flash data storage module +//========================================================== +#ifndef FDS_ENABLED +#define FDS_ENABLED 1 +#endif +// Pages - Virtual page settings + +// Configure the number of virtual pages to use and their size. +//========================================================== +// FDS_VIRTUAL_PAGES - Number of virtual flash pages to use. +// One of the virtual pages is reserved by the system for garbage collection. +// Therefore, the minimum is two virtual pages: one page to store data and one page to be used by the system for garbage collection. +// The total amount of flash memory that is used by FDS amounts to @ref FDS_VIRTUAL_PAGES * @ref FDS_VIRTUAL_PAGE_SIZE * 4 bytes. + +#ifndef FDS_VIRTUAL_PAGES +#define FDS_VIRTUAL_PAGES 3 +#endif + +// FDS_VIRTUAL_PAGE_SIZE - The size of a virtual flash page. + + +// Expressed in number of 4-byte words. +// By default, a virtual page is the same size as a physical page. +// The size of a virtual page must be a multiple of the size of a physical page. +// <1024=> 1024 +// <2048=> 2048 + +#ifndef FDS_VIRTUAL_PAGE_SIZE +#define FDS_VIRTUAL_PAGE_SIZE 1024 +#endif + +// FDS_VIRTUAL_PAGES_RESERVED - The number of virtual flash pages that are used by other modules. +// FDS module stores its data in the last pages of the flash memory. +// By setting this value, you can move flash end address used by the FDS. +// As a result the reserved space can be used by other modules. + +#ifndef FDS_VIRTUAL_PAGES_RESERVED +#define FDS_VIRTUAL_PAGES_RESERVED 0 +#endif + +// +//========================================================== + +// Backend - Backend configuration + +// Configure which nrf_fstorage backend is used by FDS to write to flash. +//========================================================== +// FDS_BACKEND - FDS flash backend. + + +// NRF_FSTORAGE_SD uses the nrf_fstorage_sd backend implementation using the SoftDevice API. Use this if you have a SoftDevice present. +// NRF_FSTORAGE_NVMC uses the nrf_fstorage_nvmc implementation. Use this setting if you don't use the SoftDevice. +// <1=> NRF_FSTORAGE_NVMC +// <2=> NRF_FSTORAGE_SD + +#ifndef FDS_BACKEND +#define FDS_BACKEND 2 +#endif + +// +//========================================================== + +// Queue - Queue settings + +//========================================================== +// FDS_OP_QUEUE_SIZE - Size of the internal queue. +// Increase this value if you frequently get synchronous FDS_ERR_NO_SPACE_IN_QUEUES errors. + +#ifndef FDS_OP_QUEUE_SIZE +#define FDS_OP_QUEUE_SIZE 4 +#endif + +// +//========================================================== + +// CRC - CRC functionality + +//========================================================== +// FDS_CRC_CHECK_ON_READ - Enable CRC checks. + +// Save a record's CRC when it is written to flash and check it when the record is opened. +// Records with an incorrect CRC can still be 'seen' by the user using FDS functions, but they cannot be opened. +// Additionally, they will not be garbage collected until they are deleted. +//========================================================== +#ifndef FDS_CRC_CHECK_ON_READ +#define FDS_CRC_CHECK_ON_READ 0 +#endif +// FDS_CRC_CHECK_ON_WRITE - Perform a CRC check on newly written records. + + +// Perform a CRC check on newly written records. +// This setting can be used to make sure that the record data was not altered while being written to flash. +// <1=> Enabled +// <0=> Disabled + +#ifndef FDS_CRC_CHECK_ON_WRITE +#define FDS_CRC_CHECK_ON_WRITE 0 +#endif + +// + +// +//========================================================== + +// Users - Number of users + +//========================================================== +// FDS_MAX_USERS - Maximum number of callbacks that can be registered. +#ifndef FDS_MAX_USERS +#define FDS_MAX_USERS 4 +#endif + +// +//========================================================== + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 0 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 4 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 4096 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_PWR_MGMT_ENABLED - nrf_pwr_mgmt - Power management module +//========================================================== +#ifndef NRF_PWR_MGMT_ENABLED +#define NRF_PWR_MGMT_ENABLED 1 +#endif +// NRF_PWR_MGMT_CONFIG_DEBUG_PIN_ENABLED - Enables pin debug in the module. + +// Selected pin will be set when CPU is in sleep mode. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_PIN_ENABLED +#define NRF_PWR_MGMT_CONFIG_DEBUG_PIN_ENABLED 0 +#endif +// NRF_PWR_MGMT_SLEEP_DEBUG_PIN - Pin number + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <32=> 32 (P1.0) +// <33=> 33 (P1.1) +// <34=> 34 (P1.2) +// <35=> 35 (P1.3) +// <36=> 36 (P1.4) +// <37=> 37 (P1.5) +// <38=> 38 (P1.6) +// <39=> 39 (P1.7) +// <40=> 40 (P1.8) +// <41=> 41 (P1.9) +// <42=> 42 (P1.10) +// <43=> 43 (P1.11) +// <44=> 44 (P1.12) +// <45=> 45 (P1.13) +// <46=> 46 (P1.14) +// <47=> 47 (P1.15) +// <4294967295=> Not connected + +#ifndef NRF_PWR_MGMT_SLEEP_DEBUG_PIN +#define NRF_PWR_MGMT_SLEEP_DEBUG_PIN 31 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_CPU_USAGE_MONITOR_ENABLED - Enables CPU usage monitor. + + +// Module will trace percentage of CPU usage in one second intervals. + +#ifndef NRF_PWR_MGMT_CONFIG_CPU_USAGE_MONITOR_ENABLED +#define NRF_PWR_MGMT_CONFIG_CPU_USAGE_MONITOR_ENABLED 0 +#endif + +// NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_ENABLED - Enable standby timeout. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_ENABLED +#define NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_S - Standby timeout (in seconds). +// Shutdown procedure will begin no earlier than after this number of seconds. + +#ifndef NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_S +#define NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_S 3 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_FPU_SUPPORT_ENABLED - Enables FPU event cleaning. + + +#ifndef NRF_PWR_MGMT_CONFIG_FPU_SUPPORT_ENABLED +#define NRF_PWR_MGMT_CONFIG_FPU_SUPPORT_ENABLED 1 +#endif + +// NRF_PWR_MGMT_CONFIG_AUTO_SHUTDOWN_RETRY - Blocked shutdown procedure will be retried every second. + + +#ifndef NRF_PWR_MGMT_CONFIG_AUTO_SHUTDOWN_RETRY +#define NRF_PWR_MGMT_CONFIG_AUTO_SHUTDOWN_RETRY 1 +#endif + +// NRF_PWR_MGMT_CONFIG_USE_SCHEDULER - Module will use @ref app_scheduler. + + +#ifndef NRF_PWR_MGMT_CONFIG_USE_SCHEDULER +#define NRF_PWR_MGMT_CONFIG_USE_SCHEDULER 0 +#endif + +// NRF_PWR_MGMT_CONFIG_HANDLER_PRIORITY_COUNT - The number of priorities for module handlers. +// The number of stages of the shutdown process. + +#ifndef NRF_PWR_MGMT_CONFIG_HANDLER_PRIORITY_COUNT +#define NRF_PWR_MGMT_CONFIG_HANDLER_PRIORITY_COUNT 3 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_SORTLIST_ENABLED - nrf_sortlist - Sorted list + + +#ifndef NRF_SORTLIST_ENABLED +#define NRF_SORTLIST_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// app_button - buttons handling module + +//========================================================== +// BUTTON_ENABLED - Enables Button module + + +#ifndef BUTTON_ENABLED +#define BUTTON_ENABLED 1 +#endif + +// BUTTON_HIGH_ACCURACY_ENABLED - Enables GPIOTE high accuracy for buttons + + +#ifndef BUTTON_HIGH_ACCURACY_ENABLED +#define BUTTON_HIGH_ACCURACY_ENABLED 0 +#endif + +// +//========================================================== + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 0 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_BACKEND_UART_ENABLED - nrf_log_backend_uart - Log UART backend +//========================================================== +#ifndef NRF_LOG_BACKEND_UART_ENABLED +#define NRF_LOG_BACKEND_UART_ENABLED 1 +#endif +// NRF_LOG_BACKEND_UART_TX_PIN - UART TX pin +#ifndef NRF_LOG_BACKEND_UART_TX_PIN +#define NRF_LOG_BACKEND_UART_TX_PIN 6 +#endif + +// NRF_LOG_BACKEND_UART_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRF_LOG_BACKEND_UART_BAUDRATE +#define NRF_LOG_BACKEND_UART_BAUDRATE 30801920 +#endif + +// NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE 64 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 512 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 23 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 1 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/ses/ble_app_buttonless_dfu_pca10056_s140.emProject b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/ses/ble_app_buttonless_dfu_pca10056_s140.emProject new file mode 100644 index 0000000..88d4e1f --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/ses/ble_app_buttonless_dfu_pca10056_s140.emProject @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/ses/ble_app_buttonless_dfu_pca10056_s140.emSession b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/ses/ble_app_buttonless_dfu_pca10056_s140.emSession new file mode 100644 index 0000000..2f08850 --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/ses/ble_app_buttonless_dfu_pca10056_s140.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/ses/flash_placement.xml b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/ses/flash_placement.xml new file mode 100644 index 0000000..c213f98 --- /dev/null +++ b/2.ble_app_dfu/ble_app_buttonless_dfu/pca10056/s140/ses/flash_placement.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/dfu_public_key.c b/2.ble_app_dfu/dfu_public_key.c new file mode 100644 index 0000000..4a0e6a8 --- /dev/null +++ b/2.ble_app_dfu/dfu_public_key.c @@ -0,0 +1,12 @@ + +/* This file was automatically generated by nrfutil on 2021-11-03 (YY-MM-DD) at 14:30:17 */ + +#include "stdint.h" +#include "compiler_abstraction.h" + +/** @brief Public key used to verify DFU images */ +__ALIGN(4) const uint8_t pk[64] = +{ + 0x17, 0xd0, 0xeb, 0x27, 0x5d, 0x74, 0x20, 0xb6, 0x2d, 0x12, 0xe8, 0xc3, 0x2e, 0x7f, 0x4a, 0xdf, 0x53, 0xe3, 0x33, 0xf7, 0xe7, 0x13, 0x95, 0xf1, 0x21, 0x90, 0x64, 0x9a, 0x25, 0x08, 0x78, 0x7d, + 0xdd, 0x67, 0xb6, 0x34, 0xbb, 0xdc, 0x85, 0x71, 0xde, 0x61, 0x7d, 0x02, 0xda, 0xe3, 0xd1, 0x5e, 0x40, 0xbf, 0x54, 0x0f, 0x1e, 0xaf, 0x3e, 0x04, 0x73, 0x05, 0x92, 0x2c, 0xcf, 0x26, 0x72, 0x02 +}; diff --git a/2.ble_app_dfu/secure_bootloader/main.c b/2.ble_app_dfu/secure_bootloader/main.c new file mode 100644 index 0000000..44c4398 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/main.c @@ -0,0 +1,148 @@ +/** + * Copyright (c) 2016 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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. + * + */ +/** @file + * + * @defgroup bootloader_secure_ble main.c + * @{ + * @ingroup dfu_bootloader_api + * @brief Bootloader project main file for secure DFU. + * + */ + +#include +#include "boards.h" +#include "nrf_mbr.h" +#include "nrf_bootloader.h" +#include "nrf_bootloader_app_start.h" +#include "nrf_bootloader_dfu_timers.h" +#include "nrf_dfu.h" +#include "nrf_log.h" +#include "nrf_log_ctrl.h" +#include "nrf_log_default_backends.h" +#include "app_error.h" +#include "app_error_weak.h" +#include "nrf_bootloader_info.h" +#include "nrf_delay.h" + +static void on_error(void) +{ + NRF_LOG_FINAL_FLUSH(); + +#if NRF_MODULE_ENABLED(NRF_LOG_BACKEND_RTT) + // To allow the buffer to be flushed by the host. + nrf_delay_ms(100); +#endif +#ifdef NRF_DFU_DEBUG_VERSION + NRF_BREAKPOINT_COND; +#endif + NVIC_SystemReset(); +} + +void app_error_handler(uint32_t error_code, uint32_t line_num, const uint8_t *p_file_name) +{ + NRF_LOG_ERROR("%s:%d", p_file_name, line_num); + on_error(); +} + +void app_error_fault_handler(uint32_t id, uint32_t pc, uint32_t info) +{ + NRF_LOG_ERROR("Received a fault! id: 0x%08x, pc: 0x%08x, info: 0x%08x", id, pc, info); + on_error(); +} + +void app_error_handler_bare(uint32_t error_code) +{ + NRF_LOG_ERROR("Received an error: 0x%08x!", error_code); + on_error(); +} + +/** + * @brief Function notifies certain events in DFU process. + */ +static void dfu_observer(nrf_dfu_evt_type_t evt_type) +{ + switch (evt_type) + { + case NRF_DFU_EVT_DFU_FAILED: + case NRF_DFU_EVT_DFU_ABORTED: + case NRF_DFU_EVT_DFU_INITIALIZED: + break; + case NRF_DFU_EVT_TRANSPORT_ACTIVATED: + break; + case NRF_DFU_EVT_DFU_STARTED: + break; + default: + break; + } +} + +/**@brief Function for application main entry. */ +int main(void) +{ + uint32_t ret_val; + + // Must happen before flash protection is applied, since it edits a protected page. + nrf_bootloader_mbr_addrs_populate(); + + // Protect MBR and bootloader code from being overwritten. + ret_val = nrf_bootloader_flash_protect(0, MBR_SIZE); + APP_ERROR_CHECK(ret_val); + ret_val = nrf_bootloader_flash_protect(BOOTLOADER_START_ADDR, BOOTLOADER_SIZE); + APP_ERROR_CHECK(ret_val); + + (void)NRF_LOG_INIT(nrf_bootloader_dfu_timer_counter_get); + NRF_LOG_DEFAULT_BACKENDS_INIT(); + + NRF_LOG_INFO("Inside main"); + + ret_val = nrf_bootloader_init(dfu_observer); + APP_ERROR_CHECK(ret_val); + + NRF_LOG_FLUSH(); + + NRF_LOG_ERROR("After main, should never be reached."); + NRF_LOG_FLUSH(); + + APP_ERROR_CHECK_BOOL(false); +} + +/** + * @} + */ diff --git a/2.ble_app_dfu/secure_bootloader/nrf_crypto_allocator.h b/2.ble_app_dfu/secure_bootloader/nrf_crypto_allocator.h new file mode 100644 index 0000000..1fc30b9 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/nrf_crypto_allocator.h @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2019 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 NRF_CRYPTO_ALLOCATOR_H__ +#define NRF_CRYPTO_ALLOCATOR_H__ + +#include "nrf_assert.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Crypto library in bootloader case does not use dynamic allocation */ +#define NRF_CRYPTO_ALLOC(size) NULL; ASSERT(0) +#define NRF_CRYPTO_ALLOC_ON_STACK(size) NULL; ASSERT(0) +#define NRF_CRYPTO_FREE(ptr) (void)ptr; + +#ifdef __cplusplus +} +#endif + +#endif /* NRF_CRYPTO_ALLOCATOR_H__ */ diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/arm5_no_packs/secure_bootloader_ble_s132_pca10040.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/arm5_no_packs/secure_bootloader_ble_s132_pca10040.uvoptx new file mode 100644 index 0000000..85a9ec9 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/arm5_no_packs/secure_bootloader_ble_s132_pca10040.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52832_xxaa_s132 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s132_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/arm5_no_packs/secure_bootloader_ble_s132_pca10040.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/arm5_no_packs/secure_bootloader_ble_s132_pca10040.uvprojx new file mode 100644 index 0000000..1c1de6d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/arm5_no_packs/secure_bootloader_ble_s132_pca10040.uvprojx @@ -0,0 +1,7139 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52832_xxaa_s132 + 0x4 + ARM-ADS + + nRF52832_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x80000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52832_xxaa_s132 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x78000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20005968 + 0xa698 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD NRF52 NRF52832_XXAA NRF52_PAN_74 NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S132 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s132\headers;..\..\..\..\..\components\softdevice\s132\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10040,-DCONFIG_GPIO_AS_PINRESET,-DFLOAT_ABI_HARD,-DNRF52,-DNRF52832_XXAA,-DNRF52_PAN_74,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS132,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BLE_STACK_SUPPORT_REQD BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD NRF52 NRF52832_XXAA NRF52_PAN_74 NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S132 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s132\headers;..\..\..\..\..\components\softdevice\s132\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s132_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52832_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x80000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s132\hex\ + s132_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x78000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20005968 + 0xa698 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0 + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/armgcc/Makefile new file mode 100644 index 0000000..d24efbe --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/armgcc/Makefile @@ -0,0 +1,262 @@ +PROJECT_NAME := secure_bootloader_ble_s132_pca10040 +TARGETS := nrf52832_xxaa_s132 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52832_xxaa_s132.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/softdevice/s132/headers \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/softdevice/s132/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52hf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10040 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52 +CFLAGS += -DNRF52832_XXAA +CFLAGS += -DNRF52_PAN_74 +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS132 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10040 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52 +ASMFLAGS += -DNRF52832_XXAA +ASMFLAGS += -DNRF52_PAN_74 +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS132 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52832_xxaa_s132: CFLAGS += -D__HEAP_SIZE=0 +nrf52832_xxaa_s132: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52832_xxaa_s132 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52832_xxaa_s132 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52832_xxaa_s132.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52832_xxaa_s132.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s132_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s132/hex/s132_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..938ce43 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,156 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x78000, LENGTH = 0x6000 + RAM (rwx) : ORIGIN = 0x20005968, LENGTH = 0xa698 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x0007F000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0007E000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/config/sdk_config.h new file mode 100644 index 0000000..86f835e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/config/sdk_config.h @@ -0,0 +1,5378 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 16 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/iar/secure_bootloader_ble_s132_pca10040.ewd b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/iar/secure_bootloader_ble_s132_pca10040.ewd new file mode 100644 index 0000000..98132d1 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/iar/secure_bootloader_ble_s132_pca10040.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52832_xxaa_s132 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/iar/secure_bootloader_ble_s132_pca10040.ewp b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/iar/secure_bootloader_ble_s132_pca10040.ewp new file mode 100644 index 0000000..7577315 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/iar/secure_bootloader_ble_s132_pca10040.ewp @@ -0,0 +1,1174 @@ + + + + + 2 + nrf52832_xxaa_s132 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52hf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52.c + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..92dc132 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x78000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x78000; +define symbol __ICFEDIT_region_ROM_end__ = 0x7dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20005968; +define symbol __ICFEDIT_region_RAM_end__ = 0x2000ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x0007F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0007E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/ses/flash_placement.xml new file mode 100644 index 0000000..6da37b8 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/ses/flash_placement.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/ses/secure_bootloader_ble_s132_pca10040.emProject b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/ses/secure_bootloader_ble_s132_pca10040.emProject new file mode 100644 index 0000000..80530fb --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/ses/secure_bootloader_ble_s132_pca10040.emProject @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/ses/secure_bootloader_ble_s132_pca10040.emSession b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/ses/secure_bootloader_ble_s132_pca10040.emSession new file mode 100644 index 0000000..4174f10 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble/ses/secure_bootloader_ble_s132_pca10040.emSession @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/arm5_no_packs/secure_bootloader_ble_s132_pca10040_debug.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/arm5_no_packs/secure_bootloader_ble_s132_pca10040_debug.uvoptx new file mode 100644 index 0000000..85a9ec9 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/arm5_no_packs/secure_bootloader_ble_s132_pca10040_debug.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52832_xxaa_s132 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s132_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/arm5_no_packs/secure_bootloader_ble_s132_pca10040_debug.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/arm5_no_packs/secure_bootloader_ble_s132_pca10040_debug.uvprojx new file mode 100644 index 0000000..18008aa --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/arm5_no_packs/secure_bootloader_ble_s132_pca10040_debug.uvprojx @@ -0,0 +1,7661 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52832_xxaa_s132 + 0x4 + ARM-ADS + + nRF52832_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x80000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52832_xxaa_s132 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x71000 + 0xd000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20005968 + 0xa698 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD NRF52 NRF52832_XXAA NRF52_PAN_74 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S132 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s132\headers;..\..\..\..\..\components\softdevice\s132\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10040,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DFLOAT_ABI_HARD,-DNRF52,-DNRF52832_XXAA,-DNRF52_PAN_74,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS132,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BLE_STACK_SUPPORT_REQD BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD NRF52 NRF52832_XXAA NRF52_PAN_74 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S132 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s132\headers;..\..\..\..\..\components\softdevice\s132\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s132_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52832_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x80000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s132\hex\ + s132_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x71000 + 0xd000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20005968 + 0xa698 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0 + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/armgcc/Makefile new file mode 100644 index 0000000..dcb9d1c --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/armgcc/Makefile @@ -0,0 +1,273 @@ +PROJECT_NAME := secure_bootloader_ble_s132_pca10040_debug +TARGETS := nrf52832_xxaa_s132 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52832_xxaa_s132.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/softdevice/s132/headers \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/softdevice/s132/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52hf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10040 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52 +CFLAGS += -DNRF52832_XXAA +CFLAGS += -DNRF52_PAN_74 +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS132 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10040 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52 +ASMFLAGS += -DNRF52832_XXAA +ASMFLAGS += -DNRF52_PAN_74 +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS132 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52832_xxaa_s132: CFLAGS += -D__HEAP_SIZE=0 +nrf52832_xxaa_s132: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52832_xxaa_s132 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52832_xxaa_s132 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52832_xxaa_s132.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52832_xxaa_s132.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s132_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s132/hex/s132_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..562bbd6 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,156 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x71000, LENGTH = 0xd000 + RAM (rwx) : ORIGIN = 0x20005968, LENGTH = 0xa698 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x0007F000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0007E000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/config/sdk_config.h new file mode 100644 index 0000000..9315dd6 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/config/sdk_config.h @@ -0,0 +1,5461 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 16 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 4096 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 4 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 4096 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/hex/license.txt b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/hex/license.txt new file mode 100644 index 0000000..cd3f7e3 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/hex/license.txt @@ -0,0 +1,3 @@ +The provided HEX files were compiled using the projects located in the folders for the respective boards (pca10xxx). + +For license and copyright information, see the individual .c and .h files that are included in the projects. diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/hex/secure_bootloader_ble_s132_pca10040_debug.hex b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/hex/secure_bootloader_ble_s132_pca10040_debug.hex new file mode 100644 index 0000000..082c4ab --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/hex/secure_bootloader_ble_s132_pca10040_debug.hex @@ -0,0 +1,12599 @@ +:020000040000FA +:1000000000040020810A000015070000610A0000BA +:100010001F07000029070000330700000000000050 +:10002000000000000000000000000000A50A000021 +:100030003D070000000000004707000051070000D6 +:100040005B070000650700006F07000079070000EC +:10005000830700008D07000097070000A10700003C +:10006000AB070000B5070000BF070000C90700008C +:10007000D3070000DD070000E7070000F1070000DC +:10008000FB070000050800000F0800001908000029 +:10009000230800002D080000370800004108000078 +:1000A0004B080000550800005F08000069080000C8 +:1000B000730800007D080000870800009108000018 +:1000C0009B080000A5080000AF080000B908000068 +:1000D000C3080000CD080000D7080000E1080000B8 +:1000E000EB080000F5080000FF0800000909000007 +:1000F000130900001D090000270900003109000054 +:100100003B0900001FB500F003F88DE80F001FBD8C +:1001100000F0ACBC40F6FC7108684FF01022401CA7 +:1001200008D00868401C09D00868401C04D0086842 +:1001300000F037BA9069F5E79069F9E7704770B554 +:100140000B46010B184400F6FF70040B4FF0805073 +:100150000022090303692403406943431D1B104621 +:1001600000F048FA29462046BDE8704000F042BA47 +:10017000F0B54FF6FF734FF4B4751A466E1E11E0DA +:10018000A94201D3344600E00C46091B30F8027B3B +:10019000641E3B441A44F9D19CB204EB134394B25D +:1001A00004EB12420029EBD198B200EB134002EBB2 +:1001B000124140EA0140F0BDF34992B00446D1E952 +:1001C0000001CDE91001FF224021684600F0F4FB58 +:1001D00094E80F008DE80F00684610A902E004C8FB +:1001E00041F8042D8842FAD110216846FFF7C0FF7C +:1001F0001090AA208DF8440000F099F9FFF78AFFCB +:1002000040F6FC7420684FF01025401C0FD0206889 +:1002100010226946803000F078F92068401C08D030 +:100220002068082210A900F070F900F061F9A869AF +:10023000EEE7A869F5E74FF080500369406940F6A2 +:10024000FC71434308684FF01022401C06D0086838 +:1002500000F58050834203D2092070479069F7E788 +:100260000868401C04D00868401C03D00020704778 +:100270009069F9E70420704770B504460068C34DE3 +:10028000072876D2DFE800F033041929631E250021 +:10029000D4E9026564682946304600F062F92A46CE +:1002A0002146304600F031F9AA002146304600F0E0 +:1002B00057FB002800D0032070BD00F009FC4FF46C +:1002C000805007E0201D00F040F90028F4D100F034 +:1002D000FFFB60682860002070BD241D94E80700C3 +:1002E000920000F03DFB0028F6D00E2070BDFFF715 +:1002F000A2FF0028FAD1D4E901034FF0805100EBAE +:10030000830208694D69684382420ED840F6F8704E +:1003100005684FF010226D1C09D0056805EB8305B8 +:100320000B6949694B439D4203D9092070BD55694A +:10033000F4E70168491C03D00068401C02D003E0C8 +:100340005069FAE70F2070BD2046FFF735FFFFF731 +:1003500072FF0028F7D1201D00F0F7F80028F2D135 +:1003600060680028F0D100F0E2F8FFF7D3FE00F05B +:10037000BFF8072070BD10B50C46182802D0012028 +:10038000086010BD2068FFF777FF206010BD41684E +:10039000054609B1012700E0002740F6F8742068FF +:1003A0004FF01026401C2BD02068AA68920000F065 +:1003B000D7FA38B3A86881002068401C27D020688D +:1003C000FFF7BDFED7B12068401C22D026684FF051 +:1003D0008050AC686D68016942695143A9420DD9EA +:1003E000016940694143A14208D92146304600F0E5 +:1003F000B8F822462946304600F087F800F078F831 +:100400007069D2E700F093F8FFF784FEF6E77069B1 +:10041000D6E77669DBE740F6FC7420684FF01026DB +:10042000401C23D02068401C0CD02068401C1FD0EA +:100430002568206805F18005401C1BD027683879A5 +:10044000AA2819D040F6F8700168491C42D001680A +:10045000491C45D00168491C3ED001680968491C07 +:100460003ED00168491C39D000683EE0B069DAE747 +:10047000B569DEE7B769E2E710212846FFF778FEA5 +:100480003968814222D12068401C05D0D4F8001080 +:1004900001F18002C03107E0B169F9E730B108CA63 +:1004A00051F8040D984201D1012000E000208A4259 +:1004B000F4D158B1286810B1042803D0FEE72846CB +:1004C000FFF765FF3149686808600EE0FFF722FE1C +:1004D00000F00EF87169BBE77169BFE7706904E06D +:1004E0004FF480500168491C01D000F0CBFAFEE7C0 +:1004F000BFF34F8F26480168264A01F4E06111439B +:100500000160BFF34F8F00BFFDE72DE9F0411746B3 +:100510000D460646002406E03046296800F054F8EF +:10052000641C2D1D361DBC42F6D3BDE8F08140F69B +:10053000FC700168491C04D0D0F800004FF48051D1 +:10054000FDE54FF010208069F8E74FF080510A690F +:10055000496900684A43824201D810207047002050 +:10056000704770B50C4605464FF4806608E0284693 +:1005700000F017F8B44205D3A4F5806405F5805562 +:10058000002CF4D170BD0000F40A0000000000202F +:100590000CED00E00400FA05144801680029FCD0C5 +:1005A0007047134A0221116010490B68002BFCD0E0 +:1005B0000F4B1B1D186008680028FCD0002010603D +:1005C00008680028FCD07047094B10B501221A605A +:1005D000064A1468002CFCD0016010680028FCD08A +:1005E0000020186010680028FCD010BD00E4014015 +:1005F00004E5014070B50C46054600F073F810B9EB +:1006000000F07EF828B121462846BDE8704000F091 +:1006100007B821462846BDE8704000F037B8000012 +:100620007FB5002200920192029203920A0B000B06 +:100630006946012302440AE0440900F01F0651F80C +:10064000245003FA06F6354341F82450401C8242F8 +:10065000F2D80D490868009A10430860081D016827 +:10066000019A1143016000F03DF800280AD00649C4 +:1006700010310868029A10430860091D0868039A3F +:10068000104308607FBD00000006004030B50F4CED +:10069000002200BF04EB0213D3F800582DB9D3F8A1 +:1006A000045815B9D3F808581DB1521C082AF1D3C3 +:1006B00030BD082AFCD204EB0212C2F80008C3F8CD +:1006C00004180220C3F8080830BD000000E0014013 +:1006D0004FF08050D0F83001082801D0002070473A +:1006E000012070474FF08050D0F83011062905D016 +:1006F000D0F83001401C01D0002070470120704725 +:100700004FF08050D0F830010A2801D00020704707 +:100710000120704708208F490968095808471020B0 +:100720008C4909680958084714208A4909680958FA +:100730000847182087490968095808473020854923 +:100740000968095808473820824909680958084744 +:100750003C20804909680958084740207D490968BC +:100760000958084744207B49096809580847482028 +:1007700078490968095808474C207649096809589A +:10078000084750207349096809580847542071499F +:1007900009680958084758206E49096809580847E8 +:1007A0005C206C4909680958084760206949096854 +:1007B00009580847642067490968095808476820AC +:1007C00064490968095808476C2062490968095852 +:1007D000084770205F4909680958084774205D4937 +:1007E00009680958084778205A490968095808478C +:1007F0007C205849096809580847802055490968EC +:10080000095808478420534909680958084788202F +:1008100050490968095808478C204E490968095809 +:10082000084790204B4909680958084794204949CE +:10083000096809580847982046490968095808472F +:100840009C204449096809580847A0204149096883 +:1008500009580847A4203F49096809580847A820B3 +:100860003C49096809580847AC203A4909680958C1 +:100870000847B0203749096809580847B420354966 +:10088000096809580847B8203249096809580847D3 +:10089000BC203049096809580847C0202D4909681B +:1008A00009580847C4202B49096809580847C82037 +:1008B0002849096809580847CC2026490968095879 +:1008C0000847D0202349096809580847D4202149FE +:1008D000096809580847D8201E4909680958084777 +:1008E000DC201C49096809580847E02019490968B3 +:1008F00009580847E4201749096809580847E820BB +:100900001449096809580847EC2012490968095830 +:100910000847F0200F49096809580847F4200D4995 +:10092000096809580847F8200A490968095808471A +:10093000FC2008490968095808475FF48070054998 +:10094000096809580847000003480449024A034B54 +:100950007047000000000020000B0000000B0000AA +:1009600040EA010310B59B070FD1042A0DD310C82C +:1009700008C9121F9C42F8D020BA19BA884201D97E +:10098000012010BD4FF0FF3010BD1AB1D30703D0C6 +:10099000521C07E0002010BD10F8013B11F8014B7C +:1009A0001B1B07D110F8013B11F8014B1B1B01D198 +:1009B000921EF1D1184610BD02F0FF0343EA032254 +:1009C00042EA024200F005B87047704770474FF0A6 +:1009D00000020429C0F0128010F0030C00F01B800C +:1009E000CCF1040CBCF1020F18BF00F8012BA8BF1A +:1009F00020F8022BA1EB0C0100F00DB85FEAC17CDE +:100A000024BF00F8012B00F8012B48BF00F8012B90 +:100A100070474FF0000200B51346944696462039C1 +:100A200022BFA0E80C50A0E80C50B1F12001BFF4A7 +:100A3000F7AF090728BFA0E80C5048BF0CC05DF80D +:100A400004EB890028BF40F8042B08BF704748BF5B +:100A500020F8022B11F0804F18BF00F8012B7047CF +:100A6000014B1B68DB6818470000002009480A4951 +:100A70007047FFF7FBFFFFF745FB00BD20BFFDE719 +:100A8000064B1847064A1060016881F308884068E1 +:100A900000470000000B0000000B000017040000DE +:100AA000000000201EF0040F0CBFEFF30881EFF3ED +:100AB0000981886902380078182803D100E0000015 +:100AC000074A1047074A12682C3212681047000084 +:100AD00000B5054B1B68054A9B58984700BD0000B0 +:100AE0007703000000000020F00A0000040000006E +:100AF000001000000000000000FFFFFF0090D00386 +:10100000B81300201953020019C100007F520200DA +:1010100019C1000019C1000019C100000000000042 +:10102000000000000000000000000000A5530200C6 +:1010300019C100000000000019C1000019C1000022 +:101040000D5402001354020019C1000019C1000020 +:1010500019C1000019C1000019C1000019C1000028 +:101060001954020019C1000019C100001F540200E8 +:1010700019C10000255402002B5402003154020013 +:1010800019C1000019C1000019C1000019C10000F8 +:1010900019C1000019C1000019C1000019C10000E8 +:1010A00019C100003754020019C1000019C1000025 +:1010B00019C1000019C1000019C1000019C10000C8 +:1010C0003D54020019C1000019C1000019C10000FF +:1010D00019C1000019C1000019C1000019C10000A8 +:1010E00019C1000019C1000019C1000019C1000098 +:1010F00019C1000019C1000019C1000019C1000088 +:1011000019C1000019C1000000F002F824F0F3F842 +:101110000AA090E8000C82448344AAF10107DA4552 +:1011200001D124F0E8F8AFF2090EBAE80F0013F08D +:10113000010F18BFFB1A43F001031847EC470200E8 +:101140000C4802000A444FF0000C10F8013B13F069 +:10115000070408BF10F8014B1D1108BF10F8015B10 +:10116000641E05D010F8016B641E01F8016BF9D103 +:1011700013F0080F1EBF10F8014BAD1C0C1B09D15A +:101180006D1E58BF01F801CBFAD505E014F8016BCC +:1011900001F8016B6D1EF9D59142D6D3704700005E +:1011A0000023002400250026103A28BF78C1FBD870 +:1011B000520728BF30C148BF0B6070471FB500F011 +:1011C00003F88DE80F001FBD24F092B870B51A4CDB +:1011D00005460A202070A01C00F0D5F85920A080F8 +:1011E00029462046BDE8704008F098B908F0A1B93A +:1011F00070B50C461149097829B1A0F160015E294A +:1012000008D3012013E0602804D0692802D043F2FB +:1012100001000CE020CC0A4E94E80E0006EB8000A2 +:10122000A0F58050241FD0F8806E2846B04720607B +:1012300070BD012070470000080000201C00002045 +:10124000805402003249884201D2012070470020B8 +:10125000704770B50446A0F500002E4EB0F1786FCF +:1012600002D23444A4F500042948844201D2012565 +:1012700000E0002500F043F848B125B9B44204D39A +:101280002548006808E0012070BD002070BD002DD9 +:10129000F9D1B442F9D321488442F6D2F3E710B52C +:1012A0000446A0F50000B0F1786F03D21948044459 +:1012B000A4F5000400F023F84FF0804130B1164847 +:1012C000006804E08C4204D2012003E01348844209 +:1012D000F8D2002080F0010010BD10B520B1FFF75A +:1012E000DEFF08B1012010BD002010BD10B520B1F7 +:1012F000FFF7AFFF08B1012010BD002010BD084866 +:1013000008490068884201D10120704700207047D9 +:1013100000600200000000202000002008000020E3 +:101320005C000020BEBAFECA10B5044600210120B0 +:1013300000F042F800210B2000F03EF800210820C8 +:1013400000F03AF80421192000F036F804210D20AD +:1013500000F032F804210E2000F02EF804210F20B6 +:1013600000F02AF80421C84300F026F806211620D0 +:1013700000F022F80621152000F01EF82046FFF7A5 +:1013800025FF002010BD40F2011101807047FFF7DA +:101390002DBF1148704710487047104A10B51468A7 +:1013A0000E4B0F4A08331A60FFF722FF0B48001D4F +:1013B000046010BD704770474907090E002804DB20 +:1013C00000F1E02080F80014704700F00F0000F1F9 +:1013D000E02080F8141D704703F900421005024018 +:1013E00001000001FD48002101604160018170475A +:1013F0002DE9FF4F93B09B46209F160004460DD069 +:101400001046FFF726FF18B1102017B0BDE8F08F87 +:101410003146012001F0D3FE0028F6D101258DF8D8 +:1014200042504FF4C050ADF84000002210A92846A9 +:1014300006F0D6FC0028E8D18DF84250A8464FF4BB +:1014400028500025ADF840001C2229466846079523 +:101450000CF0E7FF9DF81C000DF11C0A20F00F00B6 +:10146000401C20F0F00010308DF81C0020788DF822 +:101470001D0061789DF81E000DF1400961F34200E6 +:1014800040F001008DF81E009DF8000008AA40F011 +:1014900002008DF800002089ADF83000ADF8325020 +:1014A0006089ADF83400CDF82CA060680E900AA9D0 +:1014B000CDF82890684606F088FA0028A5D1606823 +:1014C000FFF70BFF40B16068FFF710FF20B96078AD +:1014D00000F00300022801D0012000E00020BF4CF2 +:1014E00008AA0AA92072BDF8200020808DF8428049 +:1014F00042F60120ADF840009DF81E0020F00600E5 +:10150000801C20F001008DF81E000220ADF8300094 +:10151000ADF8340014A80E90684606F056FA00287C +:1015200089D1BDF82000608036B1211D304600F021 +:101530005FF90028C2D109E0BBF1000F05D00CF023 +:10154000EBFCE8BB0CF0E8FCD0BBA58017B1012F89 +:1015500043D04AE08DF8428042F6A620ADF8400024 +:1015600046461C220021684607950CF05AFF9DF85C +:101570001C00ADF8346020F00F00401C20F0F0009B +:1015800010308DF81C009DF81D0020F0FF008DF834 +:101590001D009DF81E0020F0060040F00100801C98 +:1015A0008DF81E009DF800008DF8446040F00200A8 +:1015B0008DF80000CDE90A9AADF8306011A800E07E +:1015C00011E00E9008AA0AA9684606F0FEF9002864 +:1015D000A6D1BDF82000E08008E00CF09DFC10B919 +:1015E0000CF09AFC08B103200FE7E58000200CE71F +:1015F0003EB50446794D0820ADF80000A88828B112 +:101600002046FFF726FE18B110203EBD06203EBD45 +:101610002146012001F0D3FD0028F8D12088ADF843 +:1016200004006088ADF80600A088ADF80800E088E6 +:10163000ADF80A00A88801AB6A46002106F0CCFD8F +:10164000BDF800100829E2D003203EBD7FB5634DF0 +:101650000446A88868B1002002900820ADF8080070 +:10166000CDF80CD02046FFF7F4FD20B1102004B0D7 +:1016700070BD0620FBE7A98802AA4FF6FF7006F0AE +:10168000EDFF0028F3D1BDF80810082901D0032090 +:10169000EDE7BDF800102180BDF802106180BDF8B3 +:1016A0000410A180BDF80610E180E0E701B582B02A +:1016B0000220ADF80000494802AB6A46408800218C +:1016C00006F08AFDBDF80010022900D003200EBDEF +:1016D0001CB5002100910221ADF800100190FFF728 +:1016E000DEFD08B110201CBD3C486A4641884FF61B +:1016F000FF7006F0B3FFBDF800100229F3D00320FD +:101700001CBDFEB5354C06461546207A0F46C0076F +:1017100005D00846FFF79DFD18B11020FEBD0F2033 +:10172000FEBDF82D01D90C20FEBD3046FFF791FD1E +:1017300018BB208801A905F04AFE0028F4D13078B2 +:101740008DF80500208801A906F024FD0028EBD1C2 +:1017500000909DF800009DF8051040F002008DF803 +:101760000000090703D040F008008DF80000208831 +:10177000694606F0ACFC0028D6D1ADF808502088A8 +:101780003B4602AA002106F027FDBDF80810A94239 +:10179000CAD00320FEBD7CB5054600200090019014 +:1017A0000888ADF800000C4628460195FFF795FD26 +:1017B00018B92046FFF773FD08B110207CBD15B1A4 +:1017C000BDF8000060B105486A4601884FF6FF7019 +:1017D00006F044FFBDF8001021807CBD24020020EB +:1017E0000C20FAE72F48C088002800D0012070475D +:1017F00030B5044693B000200D46014600901422F7 +:1018000001A80CF00EFE1C22002108A80CF009FE15 +:101810009DF80000CDF808D020F00F00401C20F00B +:10182000F00010308DF800009DF8010006AA20F0AD +:10183000FF008DF801009DF8200001A940F0020092 +:101840008DF8200001208DF8460042F60420ADF806 +:10185000440011A801902088ADF83C006088ADF8E4 +:101860003E00A088ADF84000E088ADF842009DF849 +:10187000020020F00600801C20F001008DF802001C +:101880000820ADF80C00ADF810000FA8059008A8CE +:1018900006F09BF8002803D1BDF81800288000202E +:1018A00013B030BD24020020F0B5007B059F1E461A +:1018B00014460D46012800D0FFDF0C2030803A206E +:1018C0003880002C08D0287A032806D0287B0128ED +:1018D00000D0FFDF17206081F0BDA889FBE72DE96C +:1018E000F0470D4686B095F80C900E991446B9F164 +:1018F000010F0BD01022007B2E8A9046052807D0BE +:10190000062839D0FFDF06B0BDE8F0870222F2E7F3 +:10191000E8890C2200EB400002EB400018803320E5 +:101920000880002CEFD0E8896081002720E0009635 +:10193000688808F1020301AA696900F097FF06EBC5 +:101940000800801C07EB470186B204EB4102BDF89A +:1019500004009081F848007808B1012300E00023DA +:101960000DF1060140460E3212F0CDFE7F1CBFB2D3 +:101970006089B842DBD8C6E734200880E889B9F12D +:10198000010F11D0122148430E301880002CBAD01C +:10199000E88960814846B9F1010F00D00220207328 +:1019A00000270DF1040A1FE00621ECE70096688885 +:1019B00008F1020301AA696900F058FF06EB08006C +:1019C000801C86B2B9F1010F12D007EBC70004EBFF +:1019D0004000BDF80410C18110220AF1020110304C +:1019E0000CF0F5FC7F1CBFB26089B842DED88AE7F4 +:1019F00007EB470104EB4102BDF80400D0810AF176 +:101A000002014046103212F0A0FEEBE72DE9F0474C +:101A10000E4688B090F80CC096F80C80378AF5898D +:101A20000C20DFF81493109902F10C04BCF1030FA1 +:101A300008D0BCF1040F3DD0BCF1070F75D0FFDF1B +:101A400008B061E705EB850C00EB4C0018803120F5 +:101A50000880002AF4D0A8F1060000F0FF0A5581A2 +:101A600024E01622002101A80CF0DBFC009770880E +:101A7000434601AA716900F0F9FEBDF80400208018 +:101A8000BDF80600E080BDF80800208199F800004C +:101A900008B1012300E00023A21C0DF10A01504609 +:101AA00012F031FE07EB080087B20A346D1EADB2AA +:101AB000D7D2C5E705EB850C00EB4C00188032202F +:101AC0000880002ABCD0A8F1050000F0FF0A55816B +:101AD00037E000977088434601AA716900F0C6FE9E +:101AE0009DF80600BDF80410E1802179420860F3FA +:101AF000000162F34101820862F38201C20862F3CD +:101B0000C301020962F30411420962F3451182091B +:101B100062F386112171C0096071BDF80700208150 +:101B200099F8000010B1012301E00EE000232246E5 +:101B30000DF10901504612F0E6FD07EB080087B2EF +:101B40000A346D1EADB2C4D27AE7A8F1020084B2A5 +:101B500005FB08FC0CF10E00188035200880002AD7 +:101B6000A7D05581948100971FFA8CF370880E32AC +:101B7000716900F07BFE63E72DE9F84F1E460A9D70 +:101B80000C4681462AB1607A00F58070D080E089E9 +:101B9000108199F80C000C274FF000084FF00E0A46 +:101BA0000D2872D2DFE800F09D070E1B272F374566 +:101BB000546972727200214648460095FFF774FE20 +:101BC000BDE8F88F207B9146082802D0032800D07A +:101BD000FFDF3780302009E0A9F80A80F0E7207B9A +:101BE0009146042800D0FFDF378031202880B9F1EA +:101BF000000FF1D1E4E7207B9146042800D0FFDFFD +:101C000037803220F2E7207B9146022800D0FFDFA8 +:101C100037803320EAE7207B1746022800D0FFDF19 +:101C20003420A6F800A02880002FC9D0A7F80A8089 +:101C3000C6E7207B1746042800D0FFDF3520A6F832 +:101C400000A02880002FBBD04046A7F80A8012E0F1 +:101C5000207B1746052802D0062800D0FFDF102081 +:101C6000308036202880002FAAD0E0897881A7F81C +:101C70000E80B9F80E00B881A2E7207B91460728B4 +:101C800000D0FFDF37803720B0E72AE04FF01200A6 +:101C900018804FF038001700288091D0E0897881B3 +:101CA000A7F80E80A7F8108099F80C000A2805D034 +:101CB0000B2809D00C280DD0FFDF81E7207B0A28F4 +:101CC00000D0FFDF01200AE0207B0B2800D0FFDFDF +:101CD000042004E0207B0C2800D0FFDF05203873AF +:101CE0006EE7FFDF6CE770B50C46054601F0ABFB15 +:101CF00020B10078222804D2082070BD43F20200EF +:101D000070BD0521284610F073FF206008B1002047 +:101D100070BD032070BD30B44880087820F00F00FB +:101D2000C01C20F0F000903001F8080B1DCA81E8BB +:101D30001D0030BC07F073BC100000202DE9FF47E8 +:101D400084B0002782460297079890468946123051 +:101D50000AF033FA401D20F00306079828B907A9B6 +:101D60005046FFF7C0FF002854D1B9F1000F05D04D +:101D70000798017B19BB052504681BE098F8000053 +:101D8000092803D00D2812D0FFDF46E0079903256C +:101D90004868B0B3497B42887143914239D98AB2CD +:101DA000B3B2011D10F097FD0446078002E0079CC6 +:101DB000042508340CB1208810B1032D29D02CE063 +:101DC0000798012112300AF02AFAADF80C000246F9 +:101DD00002AB2946504608F0B2FA070001D1A01C18 +:101DE000029007983A461230C8F80400A8F802A0FA +:101DF00003A94046029B0AF01FFAD8B10A2817D25D +:101E000000E006E0DFE800F007091414100B0D14E1 +:101E10001412132014E6002012E6112010E6082008 +:101E20000EE643F203000BE6072009E60D2007E665 +:101E3000032005E6BDF80C002346CDE900702A46D4 +:101E40005046079900F022FD57B9032D08D1079895 +:101E5000B3B2417B406871438AB2011D10F04FFD5F +:101E6000B9F1000FD7D0079981F80C90D3E72DE98D +:101E7000FE4F91461A881C468A468046FAB102AB4C +:101E8000494608F05CFA050019D04046A61C278890 +:101E900010F0F3FF3246072629463B46009610F025 +:101EA00000FC20882346CDE900504A465146404672 +:101EB00000F0ECFC002020800120BDE8FE8F002017 +:101EC000FBE710B586B01C46AAB104238DF800309C +:101ED0001388ADF808305288ADF80A208A788DF85A +:101EE0000E200988ADF80C1000236A462146FFF742 +:101EF00025FF06B010BD1020FBE770B50D4605218B +:101F000010F076FE040000D1FFDF294604F1120034 +:101F1000BDE870400AF06CB92DE9F8430D468046E3 +:101F2000002607F079FB04462878102878D2DFE8ED +:101F300000F0773B345331311231313108313131D6 +:101F400031312879001FC0B2022801D0102810D1E9 +:101F500014BBFFDF35E004B9FFDF0521404610F078 +:101F600047FE007B032806D004280BD0072828D082 +:101F7000FFDF072655E02879801FC0B2022820D055 +:101F800050B1F6E72879401FC0B2022819D01028B6 +:101F900017D0EEE704B9FFDF13E004B9FFDF2879BB +:101FA00001280ED1172137E00521404610F020FE10 +:101FB000070000D1FFDF07F1120140460AF0F5F8F3 +:101FC0002CB12A4621464046FFF7A5FE29E0132101 +:101FD000404602F021FD24E004B9FFDF0521404620 +:101FE00010F006FE060000D1FFDF694606F1120080 +:101FF0000AF0E5F8060000D0FFDFA988172901D212 +:10200000172200E00A46BDF80000824202D90146CC +:1020100002E005E01729C5D3404600F047FCD0E7B1 +:10202000FFDF3046BDE8F883401D20F0030219B100 +:1020300002FB01F0001D00E000201044704713B5C2 +:10204000009858B10024684610F0EFFB002C04D132 +:10205000F749009A4A6000220A701CBD0124002042 +:10206000F2E72DE9F0470C461546242200212046D0 +:102070000CF0D7F905B9FFDFA87860732888DFF87E +:10208000B0A3401D20F00301AF788946DAF80400C0 +:1020900010F0E9FB060000D1FFDF4FF000082660DA +:1020A000A6F8008077B109FB07F1091D0AD0DAF81C +:1020B000040010F0D8FB060000D1FFDF6660C6F810 +:1020C000008001E0C4F80480298804F11200BDE812 +:1020D000F0470AF05BB82DE9F047804601F11200A5 +:1020E0000D4681460AF069F8401DD14F20F00302E9 +:1020F0006E7B14462968786810F0E0FB3EB104FB63 +:1021000006F2121D03D06968786810F0D7FB05202D +:1021100010F016FD0446052010F01AFD201A0128C3 +:1021200002D1786810F094FB49464046BDE8F0477C +:102130000AF042B870B50546052110F059FD0400BB +:1021400000D1FFDF04F112012846BDE870400AF01B +:102150002CB82DE9F04F91B04FF0000BADF828B03E +:10216000ADF804B047880C4605469246052138462E +:1021700010F03EFD060000D1FFDF24B1A780A4F8D7 +:1021800006B0A4F808B0297809220B20B2EB111F81 +:1021900073D12A7A04F1100138274FF00C084FF060 +:1021A00012090291102A69D2DFE802F068F2F1F018 +:1021B0008008D3898EA03DDCF3EEB7B7307B0228D0 +:1021C00000D0FFDFA88908EBC001ADF80410302172 +:1021D000ADF82810002C25D06081B5F80E800027BE +:1021E0001DE004EBC709317C89F80E10F189A9F8CC +:1021F0000C10CDF800806888042305AA296900F036 +:1022000035FBBDF81410A9F8101008F10400BDF852 +:1022100016107F1C1FFA80F8A9F81210BFB260894F +:10222000B842DED80CE1307B022800D0FFDFE9891C +:1022300008EBC100ADF804003020ADF8280095F897 +:102240000C90002CA9F10400C0B20F90EAD061817B +:10225000B5F81080002725E0CDF8008068884B464F +:1022600003AA696900F002FB08EB09001FFA80F875 +:102270006F48007818B1012302E0DDE0DAE00023C6 +:1022800004EBC702009204A90C320F9812F03BFA3B +:10229000009ABDF80C007F1C1082009ABDF80E0059 +:1022A000BFB250826089B842D6D8C9E00AA800906F +:1022B00001AB224629463046FFF711FBC0E0307BD8 +:1022C000082805D0FFDF03E0307B082800D0FFDFBF +:1022D000E8891030ADF804003620ADF82800002C55 +:1022E0003FD0A9896181F189A18127E0307B09284C +:1022F00000D0FFDFA88901460C30ADF8040037207C +:10230000ADF82800002C2CD06181E8890090AB89C1 +:10231000688804F10C02296955E0E88939211030F8 +:1023200080B2ADF80400ADF82810002C72D0A98955 +:102330006181287A0E280AD002212173E989E1817E +:10234000288A0090EB8968886969029A3BE001213C +:10235000F3E70AA8009001AB224629463046FFF772 +:1023600055FB6DE0307B0A2800D0FFDFADF804900C +:10237000ADF828704CB3A9896181A4F810B0A4F815 +:102380000EB0012020735BE020E002E030E038E096 +:1023900041E0307B0B2800D0FFDF288AADF82870A1 +:1023A0001230ADF8040084B104212173A989618140 +:1023B000E989E181298A2182688A00902B8A6888CC +:1023C00004F11202696900F051FA39E0307B0C28FF +:1023D00000D0FFDFADF80490ADF828703CB30521C4 +:1023E0002173A4F80AB0A4F80EB0A4F810B027E046 +:1023F0000AA8009001AB224629463046FFF754FA5E +:102400001EE00AA8009001AB224629463046FFF79D +:10241000B3FB15E034E03B21ADF80400ADF8281023 +:1024200074B30120E080A4F808B084F80AB007E093 +:1024300010000020FFDF03E0297A012917D0FFDF19 +:10244000BDF80400AAF800006CB1BDF82800208097 +:10245000BDF804006080BDF82800392803D03C286E +:1024600001D086F80CB011B00020BDE8F08F3C21FF +:10247000ADF80400ADF8281014B1697AA172DFE755 +:10248000AAF80000EFE72DE9F84356880F4680468A +:1024900015460521304610F0ABFB040000D1FFDFEC +:1024A000123400943B46414630466A6809F0F8FF12 +:1024B000B8E570B50D46052110F09AFB040000D177 +:1024C000FFDF294604F11200BDE8704009F082BE2A +:1024D00070B50D46052110F08BFB040000D1FFDF25 +:1024E000294604F11200BDE8704009F0A0BE70B5A5 +:1024F0000546052110F07CFB040000D1FFDF04F14C +:10250000080321462846BDE870400422AFE470B5B8 +:102510000546052110F06CFB040000D1FFDF2146C9 +:1025200028462368BDE870400522A0E470B5064641 +:10253000052110F05DFB040000D1FFDF04F1120063 +:1025400009F03BFE401D20F0030511E0011D00884D +:102550000322431821463046FFF789FC00280BD0A0 +:10256000607BABB2684382B26068011D10F0FDF978 +:10257000606841880029E9D170BD70B50E460546F6 +:1025800007F04AF8040000D1FFDF012020726672D4 +:102590006580207820F00F00C01C20F0F000303063 +:1025A0002070BDE8704007F03AB8602801D00720DD +:1025B00070470878C54900F0010008700020704796 +:1025C0002DE9F0438BB00D461446814606A9FFF76E +:1025D0008AFB002814D14FF6FF7601274FF42058CC +:1025E0008CB103208DF800001020ADF8100007A872 +:1025F000059007AA204604A912F0A9F878B107208F +:102600000BB0BDE8F0830820ADF808508DF80E70CF +:102610008DF80000ADF80A60ADF80C800CE006986B +:10262000A17801742188C1818DF80E70ADF8085031 +:10263000ADF80C80ADF80A606A4602214846069B58 +:10264000FFF77CFBDCE708B501228DF8022042F69B +:102650000202ADF800200A4603236946FFF731FC69 +:1026600008BD08B501228DF8022042F60302ADF83C +:1026700000200A4604236946FFF723FC08BD00B585 +:1026800087B079B102228DF800200A88ADF80820C1 +:102690004988ADF80A1000236A460521FFF74EFB72 +:1026A00007B000BD1020FBE709B1072309E40720AC +:1026B000704770B588B00D461446064606A9FFF768 +:1026C00012FB00280ED17CB10620ADF808508DF821 +:1026D0000000ADF80A40069B6A460821DC813046BE +:1026E000FFF72CFB08B070BD05208DF80000ADF899 +:1026F0000850F0E700B587B059B107238DF80030D6 +:10270000ADF80820039100236A460921FFF716FB64 +:10271000C6E71020C4E770B588B00C460646002511 +:1027200006A9FFF7E0FA0028DCD106980121123053 +:1027300009F075FD9CB12178062921D2DFE801F06E +:10274000200505160318801E80B2C01EE28880B2E4 +:102750000AB1A3681BB1824203D90C20C2E7102042 +:10276000C0E7042904D0A08850B901E00620B9E7E9 +:10277000012913D0022905D004291CD005292AD00B +:102780000720AFE709208DF800006088ADF8080049 +:10279000E088ADF80A00A068039023E00A208DF8D5 +:1027A00000006088ADF80800E088ADF80A00A06875 +:1027B0000A25039016E00B208DF800006088ADF824 +:1027C0000800A088ADF80A00E088ADF80C00A06809 +:1027D0000B25049006E00C208DF8000060788DF841 +:1027E00008000C256A4629463046069BFFF7A6FAE4 +:1027F00078E700B587B00D228DF80020ADF80810FD +:1028000000236A461946FFF799FA49E700B587B0F1 +:1028100071B102228DF800200A88ADF8082049889D +:10282000ADF80A1000236A460621FFF787FA37E75A +:10283000102035E770B586B0064601200D46ADF88C +:1028400008108DF80000014600236A463046FFF765 +:1028500075FA040008D12946304605F0D7FC00215E +:10286000304605F0F1FC204606B070BDF8B51C46B8 +:1028700015460E46069F10F0EEFA2346FF1DBCB229 +:1028800031462A4600940FF0D8FEF8BD30B4114608 +:10289000DDE902423CB1032903D0002330BC08F03B +:1028A0002CBE0123FAE71A8030BC704770B50C4685 +:1028B0000546FFF722FB2146284605F0B6FC2846D0 +:1028C000BDE87040012105F0BFBC000010000020F1 +:1028D0004FF0E0224FF400400021C2F88001BFF326 +:1028E0004F8FBFF36F8F1748016001601649900248 +:1028F00008607047134900B500220A600A60124B55 +:102900004FF060721A60002808BF00BD0F4A104BDC +:10291000DFF840C001280CD002281CBFFFDF00BD3B +:10292000032008601A604FF4000000BFCCF80000DC +:1029300000BD022008601A604FF04070F6E700B555 +:10294000FFDF00BD00F5004008F50140A4020020B3 +:1029500014F5004004F5014070B50B2000F0BDF9FE +:10296000082000F0BAF900210B2000F0D4F9002172 +:10297000082000F0D0F9F44C01256560A560002026 +:10298000C4F84001C4F84401C4F848010B2000F029 +:10299000B5F9082000F0B2F90B2000F091F925609C +:1029A00070BD10B50B2000F098F9082000F095F9E3 +:1029B000E548012141608160E4490A68002AFCD1B0 +:1029C0000021C0F84011C0F84411C0F848110B2094 +:1029D00000F094F9BDE81040082000F08FB910B560 +:1029E0000B2000F08BF9BDE81040082000F086B9FC +:1029F00000B530B1012806D0022806D0FFDF002044 +:102A000000BDD34800BDD34800BDD248001D00BD65 +:102A100070B5D1494FF000400860D04DC00BC5F8EB +:102A20000803CF4800240460C5F840410820C4359D +:102A300000F053F9C5F83C41CA48047070BD08B5B0 +:102A4000C14A002128B1012811D002281CD0FFDF83 +:102A500008BD4FF48030C2F80803C2F84803BB48F1 +:102A60003C300160C2F84011BDE80840D0E74FF4A7 +:102A70000030C2F80803C2F84803B448403001608F +:102A8000C2F84411B3480CE04FF48020C2F80803A8 +:102A9000C2F84803AD4844300160C2F84811AD485F +:102AA000001D0068009008BD70B516460D4604462E +:102AB000022800D9FFDF0022A348012304F11001FE +:102AC0008B4000EB8401C1F8405526B1C1F840218C +:102AD000C0F8043303E0C0F80833C1F84021C0F85F +:102AE000443370BD2DE9F0411D46144630B1012834 +:102AF00033D0022838D0FFDFBDE8F081891E0022E4 +:102B000021F07F411046FFF7CFFF012D23D0002099 +:102B1000944D924F012668703E61914900203C39E6 +:102B200008600220091D08608D49042030390860C2 +:102B30008B483D34046008206C6000F0DFF83004FE +:102B4000C7F80403082000F0BBF88349F007091F09 +:102B500008602E70D0E70120DAE7012B02D00022B6 +:102B6000012005E00122FBE7012B04D00022022016 +:102B7000BDE8F04198E70122F9E774480068704722 +:102B800070B500F0D8F8704C0546D4F84001002626 +:102B9000012809D1D4F80803C00305D54FF48030CB +:102BA000C4F80803C4F84061D4F8440101280CD1EA +:102BB000D4F80803800308D54FF40030C4F80803A4 +:102BC000C4F84461012012F089FDD4F848010128BD +:102BD0000CD1D4F80803400308D54FF48020C4F882 +:102BE0000803C4F84861022012F078FD5E480560D1 +:102BF00070BD70B500F09FF85A4D0446287850B16A +:102C0000FFF706FF687818B10020687012F066FDC3 +:102C10005548046070BD0320F8E74FF0E0214FF401 +:102C20000010C1F800027047152000F067B84B494A +:102C300001200861082000F061B848494FF47C1079 +:102C4000C1F808030020024601EB8003C3F84025C9 +:102C5000C3F84021401CC0B20628F5D37047410A92 +:102C600043F609525143C0F3080010FB02F000F58F +:102C7000807001EB5020704710B5430B48F2376469 +:102C800063431B0C5C020C60384C03FB0400384BA4 +:102C90004CF2F72443435B0D13FB04F404EB402098 +:102CA00000F580704012107008681844086010BD6C +:102CB0002C484068704729490120C1F8000270473C +:102CC000002809DB00F01F0201219140400980002B +:102CD00000F1E020C0F80011704700280DDB00F083 +:102CE0001F02012191404009800000F1E020C0F85E +:102CF0008011BFF34F8FBFF36F8F7047002809DB40 +:102D000000F01F02012191404009800000F1E02005 +:102D1000C0F8801270474907090E002804DB00F153 +:102D2000E02080F80014704700F00F0000F1E02070 +:102D300080F8141D70470C48001F00680A4A0D49AE +:102D4000121D11607047000000B0004004B5004043 +:102D50004081004044B1004008F50140008000403F +:102D6000408500403C00002014050240F7C2FFFFF0 +:102D70006F0C0100010000010A4810B50468094900 +:102D800009480831086012F03DFD0648001D046046 +:102D900010BD0649002008604FF0E0210220C1F874 +:102DA000800270471005024001000001FC1F004036 +:102DB000374901200860704770B50D2000F049F8D0 +:102DC000344C0020C4F800010125C4F804530D2040 +:102DD00000F050F825604FF0E0216014C1F80001C8 +:102DE00070BD10B50D2000F034F82A480121416073 +:102DF0000021C0F80011BDE810400D2000F03AB8E5 +:102E0000254810B504682449244808310860214940 +:102E1000D1F80001012804D0FFDF1F48001D046025 +:102E200010BD1B48001D00680022C0B2C1F800217F +:102E300013F0A1F9F1E710B5164800BFD0F8001162 +:102E40000029FBD0FFF7DCFFBDE810400D2000F0AB +:102E500011B800280DDB00F01F020121914040094C +:102E6000800000F1E020C0F88011BFF34F8FBFF366 +:102E70006F8F7047002809DB00F01F02012191408D +:102E80004009800000F1E020C0F880127047000087 +:102E900004D5004000D000401005024001000001B0 +:102EA0004FF0E0214FF00070C1F8800101F5C071D2 +:102EB000BFF34F8FBFF36F8FC1F80001394B8022F2 +:102EC00083F8002441F8800C704700B502460420C6 +:102ED000354903E001EBC0031B792BB1401EC0B2A2 +:102EE000F8D2FFDFFF2000BD41F8302001EBC00128 +:102EF00000224A718A7101220A7100BD2A4A00210A +:102F000002EBC0000171704710B50446042800D3DD +:102F1000FFDF254800EBC4042079012800D0FFDF43 +:102F20006079A179401CC0B2814200D060714FF03D +:102F3000E0214FF00070C1F8000210BD70B504250B +:102F4000194E1A4C16E0217806EBC1000279012ACD +:102F500008D1427983799A4204D04279827156F835 +:102F6000310080472078401CC0B22070042801D373 +:102F7000002020706D1EEDB2E5D270BD0C4810B57A +:102F800004680B490B4808310860064890F80004B3 +:102F90004009042800D0FFDFFFF7D0FF0448001DE0 +:102FA000046010BD19E000E0DC050020580000209E +:102FB00010050240010000010548064A01689142DF +:102FC00001D1002101600449012008607047000020 +:102FD0005C000020BEBAFECA40E5014070B50C4658 +:102FE000054609F0F9FB21462846BDE870400AF085 +:102FF000DABC7047704770470021016081807047DC +:103000002CFFFFFFDBE5B151006002000101FFFF73 +:103010008400000090D76A00773D4B16B620AFF9C8 +:10302000F4D1D1B6F33F7AC76170DB6D30B5F84D9E +:103030000446062CA9780ED2DFE804F0030E0E0E2B +:103040000509FFDF08E0022906D0FFDF04E00329BD +:1030500002D0FFDF00E0FFDFAC7030BD30B50446CA +:103060001038EB4D07280CD2DFE800F0040C060CFA +:103070000C0C0C00FFDF05E0287E112802D0FFDFDA +:1030800000E0FFDF2C7630BD2DE9F04111F0CAFCE5 +:10309000044612F0FDFE201AC5B206200FF050FDC6 +:1030A000044606200FF054FD211AD94C207E122828 +:1030B00018D000200F1807200FF042FD0646072009 +:1030C0000FF046FD301A3918207E13280CD000204E +:1030D0000144A078042809D000200844281AC0B26E +:1030E000BDE8F0810120E5E70120F1E70120F4E7E8 +:1030F000C74810B590F825004108C54800F12600E2 +:1031000005D00DF02BFEBDE8104006F0A7B80DF07D +:1031100006FEF8E730B50446A1F120000D460A2866 +:103120004AD2DFE800F005070C1C2328353A3F445B +:10313000FFDF42E0207820283FD1FFDF3DE0B448A8 +:103140008178052939D0007E122836D020782428AD +:1031500033D0252831D023282FD0FFDF2DE0207851 +:1031600022282AD0232828D8FFDF26E0207822280A +:1031700023D0FFDF21E0207822281ED024281CD075 +:1031800026281AD0272818D0292816D0FFDF14E0C7 +:103190002078252811D0FFDF0FE0207825280CD0DB +:1031A000FFDF0AE02078252807D0FFDF05E0207840 +:1031B000282802D0FFDF00E0FFDF257030BD1FB5FB +:1031C00004466A46002001F0A7FEB4B1BDF8022013 +:1031D0004FF6FF700621824201D1ADF80210BDF812 +:1031E0000420824201D1ADF80410BDF808108142DC +:1031F00003D14FF44860ADF8080068460EF092F92C +:1032000006F02CF804B010BD70B514460D46064605 +:10321000FEF71FF858B90DB1A54201D90C2070BDB9 +:10322000002408E056F82400FEF713F808B1102037 +:1032300070BD641CE4B2AC42F4D3002070BD2DE933 +:10324000F04105461F4690460E4600240068FEF7F2 +:103250004DF830B9A98828680844401EFEF746F8A2 +:1032600008B110203CE728680028A88802D0B8429E +:1032700002D850E00028F5D0092031E72968085D20 +:10328000B8B1671CCA5D152A2ED03CDC152A3AD28B +:10329000DFE802F03912222228282A2A313139396E +:1032A00039393939393939392200085D30BB641C64 +:1032B000A4B2A242F9D833E00228DDD1A01C085CF8 +:1032C00088F80000072801D2400701D40A2007E748 +:1032D000307840F0010015E0C143C90707E001283C +:1032E00007D010E00620FBE60107A1F1805100297C +:1032F000F5D01846F4E63078810701D50B20EFE6CB +:1033000040F0020030702868005D384484B2A8881C +:10331000A04202D2B0E74FF4485382B2A242ADD8E5 +:103320000020DDE610B5027843F2022354080122A2 +:10333000022C12D003DC3CB1012C16D106E0032C88 +:1033400010D07F2C11D112E0002011E080790324ED +:10335000B4EB901F09D10A700BE08079B2EB901F9B +:1033600003D1F8E780798009F5D0184610BDFF2019 +:103370000870002010BD08B500208DF8000024481A +:1033800090F82E1049B190F82F0002280ED0032893 +:103390000ED0FFDF9DF8000008BD1D4869462530AE +:1033A00001F009FE0028F5D0FFDFF3E7032000E07D +:1033B00001208DF80000EDE738B50C46054669465A +:1033C00001F0F9FD00280DD19DF80010207861F37F +:1033D0004700207055F8010FC4F80100A888A4F830 +:1033E0000500002038BD38B51378A8B1022813D0E5 +:1033F000FF281AD007A46D46246800944C7905EB89 +:103400009414247864F347031370032809D00FE061 +:10341000F00100200302FF0123F0FE0313700228D5 +:10342000F3D1D8B240F0010005E043F0FE00107087 +:10343000107820F0010010700868C2F80100888838 +:10344000A2F8050038BD02210FF0D2BB38B50C46FA +:103450000978222901D2082038BDADF800008DF886 +:10346000022068460DF0BCFC05F0F8FE050003D113 +:1034700021212046FFF74EFE284638BD1CB500200E +:103480008DF80000CDF80100ADF80500FE4890F879 +:103490002E00022801D0012000E000208DF8070056 +:1034A00068460DF023FD002800D0FFDF1CBD002280 +:1034B0000A80437892B263F3451222F040020A80F8 +:1034C00000780C282BD2DFE800F02A06090E11162E +:1034D000191C1F220C2742F0110009E042F01D00C8 +:1034E00008800020704742F0110012E042F0100006 +:1034F00040F00200F4E742F01000F1E742F0010072 +:10350000EEE742F0010004E042F00200E8E742F09A +:10351000020040F00400E3E742F00400E0E7072087 +:1035200070472DE9FF478AB00025BDF82C60824620 +:103530001C4690468DF81C50700703D56068FDF757 +:1035400088FE68B9D04F4FF0010997F82E0058B1A6 +:1035500097F82F00022807D16068FDF7C7FE18B161 +:1035600010200EB0BDE8F087300702D5A089802872 +:1035700016D8700705D4B8F1000F02D097F82400D0 +:1035800070B1E07DC0F300108DF81B00617D072055 +:1035900041B1012906D00229E3D00429E1D12CE070 +:1035A0000720DEE749468DF81790F00609D4A27D82 +:1035B000072032B1012A04D0022A05D0042AD0D132 +:1035C0001BE08DF8191002E002208DF819008DF82B +:1035D00015806068B0B107A9FFF7A4FE0028C0D12C +:1035E0009DF81C00FF280AD0606850F8011FCDF834 +:1035F0000F108088ADF8130008E00620B1E743F211 +:103600000220AEE7CDF80F50ADF81350E07B002854 +:10361000F3D1207C0028F0D1607C0028EDD1A07C83 +:103620000028EAD1E07CC006E7D18DF800A0BDF803 +:103630002C00ADF80200A0680190A068029004F18F +:103640000F0001F0ACFC8DF80C00FFF794FE8DF834 +:103650000D009DF81C008DF80E008DF816508DF8A9 +:103660001850E07D08A900F00F008DF81A00684698 +:103670000EF0A0F805F0F2FD73E7F0B58FB000256D +:103680008DF830508DF814508DF8345006468DF872 +:103690002850019502950395049519B10FC901AC05 +:1036A00084E80F00784CA078052801D004280CD1BC +:1036B00001986168884200D120B90398E168884286 +:1036C00003D110B108200FB0F0BD207DC00601D598 +:1036D0001F2700E0FF273B460DAA05A903A8FFF717 +:1036E000AEFD0028EFD1A08AC10702D0C00600D4E9 +:1036F000EE273B460AAA0CA901A8FFF7A0FD002867 +:10370000E1D19DF81400C00701D00A20DBE7A08AB0 +:10371000410708D4A17D31B19DF82810890702D056 +:1037200043F20120CFE79DF82810C90709D04007D0 +:1037300007D4208818B144F25061884201D907208B +:10374000C1E78DF818508DF81960BDF80800ADF884 +:103750001A000198079006A80EF038F805F07EFDD3 +:103760000028B0D18DF820508DF82160BDF81000F0 +:10377000ADF822000398099008A80EF049F805F06A +:103780006DFD00289FD101AD241D95E80F0084E850 +:103790000F00002097E770B586B00D46040005D0F5 +:1037A000FDF7A4FD20B1102006B070BD0820FBE796 +:1037B0002078C107A98802D0FF2902D303E01F297E +:1037C00001D20920F0E780073BD4FFF75DFC38B158 +:1037D0002178C1F3C100012804D0032802D005E0FC +:1037E0001320E1E7284890F82400C8B1C8074FF03B +:1037F00001064FF0000502D08DF80F6001E08DF852 +:103800000F50FFF7B8FD8DF8000020786946C0F32F +:10381000C1008DF8010060788DF80250C20801D017 +:103820000720C1E778B1C20701D08DF80260820796 +:1038300005D59DF8022042F002028DF802204007D3 +:1038400003D50620B0E78DF80260002022780B181F +:10385000C2F38002DA7001EB40026388D380401C1F +:10386000A388C0B253810228F0D3207A0028E8D17F +:10387000607A0028E5D1A07A0028E2D1E07A002819 +:10388000DFD1207BC00601E0F0010020D9D104F196 +:10389000080001F084FB8DF80E0068460DF0F3FB84 +:1038A00005F0DCFC00288DD18DF810608DF81150EA +:1038B000E088ADF81200ADF8145004A80DF036FC05 +:1038C00005F0CCFC00288CD12078C00701D0152051 +:1038D00000E01320FFF7C2FB002065E72DE9FF475A +:1038E0000220FD4E8DF804000027708EADF8060012 +:1038F000B84643F202094CE001A80FF0E0F80500D9 +:1039000006D0708EA8B3A6F83280ADF806803EE0EF +:10391000039CA07F01072DD504F124000090A28E06 +:10392000BDF80800214604F1360301F0CFFC050084 +:1039300005D04D452AD0112D3CD0FFDF3AE0A07FC5 +:1039400020F00801E07F420862F3C711A1778108E7 +:1039500061F30000E07794F8210000F01F0084F884 +:1039600020002078282826D129212046FFF7D2FBE5 +:1039700021E014E040070AD5BDF8080004F10E016B +:1039800001F023FB05000DD04D4510D100257F1C13 +:10399000FFB202200FF0D4F8401CB842ACD8052D7D +:1039A00011D008E0A07F20F00400A07703E0112DE3 +:1039B00000D0FFDF0025BDF806007086052D04D07D +:1039C000284604B0CEE5A6F832800020F9E770B5AD +:1039D0000646FFF738FD054605F01EFE040000D13F +:1039E000FFDF6680207820F00F00801C20F0F000C0 +:1039F000203020700320207295F83E006072BDE8F0 +:103A0000704005F00CBE2DE9F04786B0040000D1EF +:103A1000FFDF2078B04D20F00F00801C20F0F00078 +:103A20007030207060680178491F1B2933D2DFE8AD +:103A300001F0FC32323255FB320EFBFB42FA3232DD +:103A40003278FAFAF9F832FAFAF7F6FAFA00C68892 +:103A50003046FFF7F8FC0546304607F044FCE0B17D +:103A60006068007A85F83E0021212846FFF752FB66 +:103A70003046FEF75FFB304603F0ECFE3146012096 +:103A800012F03EFEA87F20F01000A877FFF726FF77 +:103A9000002800D0FFDF06B064E5207820F0F000B9 +:103AA000203020700320207266806068007A607287 +:103AB00005F0B5FDD8E7C5882846FFF7C4FC00B976 +:103AC000FFDF60680079012800D0FFDF6068017ABD +:103AD00006B02846BDE8F04707F0EABDC688304684 +:103AE000FFF7B1FC050000D1FFDF05F098FD60682D +:103AF00031460089288160684089688160688089D2 +:103B0000A881012012F0FCFD0020A875A87F00F01C +:103B100003000228BFD1FFF7E1FE0028BBD0FFDF82 +:103B2000B9E7007928B10228B5D03C28B3D0FFDF2F +:103B3000B1E705F074FD6668B6F806A0307A361D68 +:103B4000012806D0687E814605F0F4FA070003D10B +:103B500001E0E878F7E7FFDF0022022150460FF08E +:103B60003EF8040000D1FFDF22212046FFF7D2FA01 +:103B70003079012800D00220A17F804668F301013E +:103B8000A177308B2081708B6081B08BA08184F80D +:103B900022908DF80880B8680090F86801906A4615 +:103BA000032150460FF01BF800B9FFDFB888ADF8CD +:103BB0001000B8788DF8120004AA052150460FF0C5 +:103BC0000EF800B9FFDFB888ADF80C00F8788DF872 +:103BD0000E0003AA042150460FF001F800B9FFDFE0 +:103BE000062106F1120001F00EFA40B37079800749 +:103BF00000D5FFDF7179E07D61F34700E075D6F80D +:103C00000600A0617089A083062106F10C0001F076 +:103C1000FAF9F0B195F825004108607806E043E034 +:103C20003BE072E05AE04FE031E045E061F34700ED +:103C30006070D5F82600C4F80200688D12E0E07DBF +:103C400020F0FE00801CE075D6F81200A061F08A1A +:103C5000D9E7607820F0FE00801C6070F068C4F83E +:103C60000200308AE080B8F1010F04D0B8F1020FF1 +:103C700005D0FFDF0FE70320FFF7D8F90BE7287E19 +:103C8000122800D0FFDF1120FFF7E8F903E706B0A4 +:103C90002046BDE8F04701F0A5BD05F0C0FC15F8D1 +:103CA000300F40F0020005E005F0B9FC15F8300FC8 +:103CB00040F004002870EEE6287E132809D015286D +:103CC000D8D11620FFF7CAF906B0BDE8F04705F0D5 +:103CD000A6BC1420F6E70000F0010020A978052911 +:103CE00009D00429C6D105F09AFC022006B0BDE82F +:103CF000F047FFF79BB900790028BBD0E87801F0C6 +:103D000035F905F08CFC0320F0E7287E122802D15B +:103D1000687E01F02BF91120D4E72DE9F05F05460C +:103D200000784FF000080009DFF8B4A891460C466F +:103D3000464601286ED002286DD007280BD00A28ED +:103D40006AD0FFDFA9F8006014B1A4F80080668093 +:103D50000020BDE8F09F6968012704F108000B7896 +:103D60004FF0020B5B1F4FF6FF721B2B7ED2DFE87A +:103D700003F0647D7D7D0E7D7D7D7D7D7D217D7D5E +:103D80007D2BFDFCFBFA7D14D2F9E7F8F700C8881B +:103D90004FF01208102621469AE14FF01C080A261F +:103DA000BCB38888A0806868807920726868C07910 +:103DB0006072C7E74FF01B08142654B3032020722B +:103DC00068688088A080BDE70A793C2ABAD00D1DBA +:103DD0004FF010082C26E4B16988A180298B6182FC +:103DE000298B2182698BA182A98BE1826B790246A2 +:103DF000A91D1846FFF7F7FA2979002001290CD0F0 +:103E000084F80FB0FF212176E06120626062A06239 +:103E100098E70FE03BE15EE199E1E77320760AF174 +:103E2000040090E80E00DAF81000C4E90930C4E993 +:103E3000071287E7A9F800608AE72C264FF01D08D3 +:103E4000002CF7D0A28005460F1D897B008861F306 +:103E500000002880B97A490861F341002880B97AC6 +:103E6000890861F382002880B97A00E00CE1C90872 +:103E700061F3C3002880B97AAA1C0911491C61F3B7 +:103E8000041000F07F0028807878B91CFFF7ABFAA7 +:103E9000387D05F1090207F11501FFF7A4FA387B17 +:103EA00001F0C0F82874787B01F0BCF86874F87EE3 +:103EB000A874787AE874387F2875B87B6875388A72 +:103EC000E882DAF81C10A961B97A504697F808A080 +:103ED000C1F34111012904D0008C504503D2824620 +:103EE00009E0FFDF10E0022903D0288820F06000FD +:103EF00009E0504504D1288820F06000403002E0FD +:103F0000288840F060002880A4F824A0524607F1D9 +:103F10001D01A8699BE011264FF02008002C89D0D4 +:103F2000A280686804F10A02007920726868007B48 +:103F3000607269688B1D48791946FFF754FA01E7EA +:103F40000A264FF02108002CE9D08888A0806868F4 +:103F5000807920726868C07960729AF8301006E043 +:103F600078E06BE052E07FE019E003E03AE021F016 +:103F70000401A6E00B264FF02208002CCFD0C88801 +:103F8000A0806868007920726868007A01F04AF8B9 +:103F900060726868407A01F045F8A072D2E61C268B +:103FA0004FF02608002CBAD0A28068684079607271 +:103FB0006868007AA0720AF1040090E80E00DAF84E +:103FC0001000C4E90530C4E90312686800793C2890 +:103FD00003D0432803D0FFDFB4E62772B2E684F8AB +:103FE00008B0AFE610264FF02408002C97D0888840 +:103FF000A0806868807920816868807A60816868BC +:104000000089A08168688089E0819BE610264FF0D6 +:104010002308002C98D08888A0806868C0882081F8 +:1040200068680089608168684089A08168688089C3 +:10403000E0819AF8301021F0020142E030264FF082 +:104040002508002C9AD0A2806968282249680AF0C5 +:10405000BEF977E62A264FF02F08002C8ED0A280DA +:1040600069682222091DF2E714264FF01B08002C74 +:1040700084D0A280686800790128B0D02772DAE97C +:104080000710C4E903105DE64A46214660E0287A3D +:10409000012803D0022817D0FFDF53E610264FF087 +:1040A0001F08002CA2D06888A080A8892081E889F8 +:1040B0006081288AA081688AE0819AF8301021F016 +:1040C00001018AF830103DE64FF01208102668888A +:1040D00000F086FF36E6287AC8B3012838D00228D7 +:1040E00036D0032801D0FFDF2CE609264FF0110857 +:1040F000002C8FD06F883846FFF7A5F990F822A0E2 +:10410000A780687A2072042138460EF083FD0521CD +:1041100038460EF07FFD002138460EF07BFD012170 +:1041200038460EF077FD032138460EF073FD02216C +:1041300038460EF06FFD062138460EF06BFD072164 +:1041400038460EF067FD504600F010FFFAE5FFE735 +:104150002846BDE8F05F01F0CFBC70B5012803D060 +:10416000052800D0FFDF70BD8DB22846FFF76BF940 +:10417000040000D1FFDF20782128F4D005F04CFAAC +:1041800080B1017821F00F01891C21F0F00110317C +:1041900001700221017245800020A075BDE87040C9 +:1041A00005F03DBA21462846BDE870401322FFF7CE +:1041B0004DB92DE9F04116460C00804600D1FFDFD5 +:1041C000307820F00F00801C20F0F00010303070AC +:1041D0002078012804D0022818D0FFDFBDE8F08144 +:1041E0004046FFF730F9050000D1FFDF0320A87536 +:1041F00005F015FA94E80F00083686E80F00F84835 +:1042000010F8301F41F001010170E7E74046FFF769 +:104210001AF9050000D1FFDFA1884FF6FF700027D3 +:10422000814202D1E288824203D0814201D1E088FA +:1042300040B105F0F4F994E80F00083686E80F0065 +:10424000AF75CBE7A87D0128C8D17823002241466D +:1042500012F0ACF90220A875C0E738B50C46242846 +:104260005ED008DC20280FD0212825D022284DD070 +:10427000232806D14EE0252841D0262832D03F28D9 +:1042800053D00725284638BD0021052012F00EFA2C +:1042900008B1112038BDA01C0DF097F904F0DEFF25 +:1042A0000500EFD1002208231146052012F07EF907 +:1042B0000528E7D0FFDFE5E76068FDF70EF808B1F5 +:1042C000102038BD618820886A460DF032FC04F069 +:1042D000C5FF0500D6D160680028D3D0BDF8001016 +:1042E0000180CFE7206820B1FDF700F808B1102564 +:1042F000C8E720460DF0ECFC1FE00546C2E7A078B9 +:1043000000F0010120880DF045FC16E0086801F07E +:104310009FFEF2E7087800F001000CF0F3FC0CE0DF +:10432000618820880DF081FB07E0087800F001002B +:104330008DF8000068460CF0B0FF04F08FFFDCE75A +:1043400070B505460C460846FCF7A9FF08B11020D9 +:1043500070BD202D07D0212D0DD0222D0BD0252D65 +:1043600009D0072070BD2088A11C0CF09DFDBDE880 +:10437000704004F073BF062070BD99482530704727 +:1043800008B53422002196480AF04BF80120FEF7C8 +:104390004DFE1120FEF762FE91496846263105F078 +:1043A000D1F88F489DF8002010F8251F62F34701CF +:1043B00021F001010170002141724FF46171A0F8F8 +:1043C000071002218172FEF793FE00B1FFDFFDF7B7 +:1043D00009F801F0D0F908BD10B50C4640220021C3 +:1043E00020460AF01EF8A07F20F00300A0772020CE +:1043F00020700020A07584F8230010BD70472DE9BF +:10440000FC410746FCF725FF10B11020BDE8FC81F8 +:10441000734E06F12501D6F825000090B6F8295014 +:10442000ADF8045096F82B408DF806403846FEF75C +:10443000C3FF0028EAD1FEF75BFE0028E6D0009912 +:1044400046F8251FB580B471E0E710B50446FCF7C7 +:1044500026FF08B1102010BD61486149224690F83E +:10446000250026314008FEF7BEFF002010BD3EB5F6 +:1044700004460D460846FCF712FF08B110203EBD69 +:1044800014B143F204003EBD55488078052803D09E +:10449000042801D008203EBD694602A80AF0C9FBE5 +:1044A0002A4669469DF80800FEF79DFF00203EBDA4 +:1044B000FEB50D4604004FF0000712D00822FEF7AB +:1044C000A3FE002812D1002609E000BF54F8260000 +:1044D0006946FEF727FF002808D1761CF6B2AE42E7 +:1044E000F4D30CF059FB10B143F20320FEBD3C4E57 +:1044F00086F824700CB300271BE000BF54F8270097 +:1045000002A9FEF70FFF00B1FFDF9DF808008DF84C +:10451000000054F8270050F8011FCDF801108088E2 +:10452000ADF8050068460CF05CFB00B1FFDF7F1CB6 +:10453000FFB2AF42E2D386F824500020FEBD2DE941 +:10454000F0478AB01546894604001FD00F4608225E +:104550002946FEF759FE002811D1002614E000BFBD +:1045600054F826006946103000F025FD002806D1D9 +:1045700047B157F82600FCF76CFE18B110200AB0BE +:10458000BDE8F087761CF6B2AE42E9D30026A5F16D +:1045900001081BE006F1010A0AF0FF0712E000BF64 +:1045A00054F82600017C4A0854F827100B7CB2EB23 +:1045B000530F05D106221130113109F0DBFE58B13D +:1045C0007F1CFFB2AF42EBD30AF0FF064645E1DBAA +:1045D0004E463CB1012006E043F20520CFE7000043 +:1045E000F001002000200CF021FB10B90CF02AFB98 +:1045F00010B143F20420C2E764B300270DF117089D +:1046000026E000BF54F827006946103000F0D3FCC4 +:1046100000B1FFDF54F82700102250F8111FCDF829 +:1046200001108088ADF8050054F827100DF107003F +:1046300009F0CDFE96B156F827101022404609F039 +:10464000C6FE68460CF0B2FA00B1FFDF7F1CFFB275 +:10465000AF42D7D3FEF712FF002090E7404601F0AB +:10466000EBFCEEE730B585B00446FDF7BBF830B99A +:1046700006200EF065FA10B1062005B030BD2046C8 +:10468000FCF7E7FD18B96068FCF730FE08B11020B0 +:10469000F3E760884AF2B811884206D82078F94DCD +:1046A00028B1012806D0022804D00720E5E7FEF74C +:1046B0001FFD18E06078022804D0032802D043F2DE +:1046C0000220DAE785F82F00C1B200200090ADF893 +:1046D000040002292CD0032927D0FFDF68460CF004 +:1046E0003DFB04F0BBFD0028C7D1606801F097FCDA +:1046F000207858B101208DF800000DF1010001F083 +:104700009BFC68460DF0ABFA00B1FFDF207885F81E +:104710002E00FEF7B3FE608860B1A88580B20CF071 +:104720007DFA00B1FFDF0020A7E78DF80500D5E78F +:104730004020FAE74FF46170EFE710B50446FCF74C +:10474000AEFD20B9606838B1FCF7C7FD08B1102094 +:1047500010BD606801F070FCCA4830F82C1F618001 +:10476000C178617080782070002010BD2DE9F84379 +:10477000144689460646FCF792FDA0B94846FCF768 +:10478000B5FD80B92046FCF7B1FD60B9BD4DA878F4 +:10479000012800D13CB13178FF2906D049B143F25C +:1047A0000400BDE8F8831020FBE7012801D00420B5 +:1047B000F7E7CCB3052811D004280FD0694620466E +:1047C000FEF775FE0028ECD1217D49B1012909D001 +:1047D000022909D0032909D00720E2E70820E0E7F1 +:1047E000024604E0012202E0022200E003228046A9 +:1047F0002346174600200099FEF793FE0028D0D1EB +:10480000A0892880A07BE875BDF80000A882AF755C +:10481000BDF80010090701D5A18931B1A18929800E +:10482000C00704D0032003E006E08021F7E7022060 +:10483000FEF7FCFB86F800804946BDE8F8430020FF +:10484000FEF71BBF7CB58F4C05460E46A0780228AC +:1048500003D0032801D008207CBD15B143F2040029 +:104860007CBD07200EF074F910B9A078032806D09B +:10487000FEF70AFC28B1A078032804D009E0122032 +:104880007CBD13207CBD304600F053FB0028F9D1DD +:10489000E670FEF770FD0AF009F901208DF80000BE +:1048A0008DF801008DF802502088ADF80400E07DFD +:1048B0008DF8060068460DF07BF804F0CFFC002868 +:1048C000E0D1A078032805D05FF00400FEF7AEFB2E +:1048D00000207CBDE07800F03CFB0520F6E71CB52D +:1048E00010B143F204001CBD664CA078042803D02C +:1048F000052801D008201CBD00208DF800000121F2 +:104900008DF801108DF8020068460DF051F804F0A2 +:10491000A5FC0028EFD1A078052805D05FF00200A3 +:10492000FEF784FB00201CBDE07800F01FFB032095 +:10493000F6E72DE9FC4180460E4603250846FCF7C4 +:10494000D5FC002866D14046FEF77DFD040004D06A +:104950002078222804D2082058E543F2020055E5C9 +:10496000A07F00F003073EB1012F0CD0002031469C +:10497000FEF725FC0500EFD1012F06D0022F1AD03B +:10498000FFDF284642E50120F1E7A07D31460228FD +:1049900001D011B107E0112038E56846FCF756FE5A +:1049A0000028D9D16946404606F045FE0500E8D109 +:1049B0000120A075E5E7A07D032804D1314890F8D7 +:1049C0003000C00701D02EB30EE026B1A07F400713 +:1049D0001ED4002100E00121404606F04CFE0500F7 +:1049E000CFD1A075002ECCD03146404600F0EDFA74 +:1049F00005461128C5D1A07F4107C2D4316844F8CB +:104A00000E1F7168616040F0040020740025B8E753 +:104A10001125B6E71020F9E470B50C460546FEF7FF +:104A200012FD010005D022462846BDE87040FEF781 +:104A30000DBD43F2020070BD10B5012807D1114B26 +:104A40009B78012B00D011B143F2040010BD0CF093 +:104A500017F9BDE8104004F001BC012300F090BA42 +:104A600000231A46194600F08BBA70B506460C466C +:104A70000846FCF7EEFB18B92068FCF710FC18B1EB +:104A8000102070BDF0010020F84D2A7E112A04D0BC +:104A9000132A00D33EB10820F3E721463046FEF743 +:104AA0007AFE60B1EDE70920132A0DD0142A0BD04D +:104AB000A188FF29E5D31520FEF7D0FA0020D4E91C +:104AC0000012C5E90712DCE7A1881F29D9D31320FA +:104AD000F2E71CB5E548007E132801D208201CBD72 +:104AE00000208DF8000068460CF020FB04F0B6FBB7 +:104AF0000028F4D11120FEF7B1FA00201CBD2DE9E9 +:104B0000F04FDFF868A3814691B09AF818009B46F1 +:104B100015460C46132803D3FFF7DBFF00281FD1EF +:104B20002046FCF796FB78BB2846FCF792FB58BB67 +:104B300020784FF00107C0074FF0000102D08DF838 +:104B40003A7001E08DF83A1020788846C0F3C10031 +:104B50008DF8000060788DF80910C10803D0072097 +:104B600011B0BDE8F08F80B1C10701D08DF8097098 +:104B7000810705D59DF8091041F002018DF8091053 +:104B8000400704D50620EBE720E08DF809709DF87A +:104B90000900810703D540F001008DF809000020CD +:104BA0006E4606EB400162884A81401CA288C0B272 +:104BB0000A820328F5D32078C0F3C100012821D050 +:104BC00003281FD04846FCF744FB08B11020C7E774 +:104BD00099F80000400808D0012809D0022807D021 +:104BE000032805D043F20220BAE78DF8028001E0E5 +:104BF0008DF80270484650F8011FCDF803108088E8 +:104C0000ADF80700FEF7B7FB8DF801000020424623 +:104C100006EB40012B88CB826B888B83AB884B845F +:104C2000EB880B85401CCA85C0B28A860328EFD367 +:104C3000E088ADF83C0068460CF025FB00288ED1DA +:104C40009AF818005546112801D0082088E7062058 +:104C50000DF07EFF38B12078C0F3C100012804D0E8 +:104C6000032802D006E012207AE795F824000028F5 +:104C70003FF475AFFEF708FA022801D213206FE760 +:104C8000584600F056F90028A1D185F819B06846B9 +:104C90000CF022FC04F0E2FA040098D1687E00F0E7 +:104CA00058F91220FEF7DAF9204659E770B56F4D32 +:104CB000287E122801D00820E3E60CF010FC04F056 +:104CC000CDFA040005D1687E00F050F91120FEF7FE +:104CD000C5F92046D5E670B5064615460C46084689 +:104CE000FCF7DDFA18B92846FCF7D9FA08B110200C +:104CF000C7E62A46214630460CF0FBFE04F0AEFA29 +:104D00000028F5D121787F29F2D10520B9E67CB5BC +:104D100005460C460846FCF79CFA08B110207CBDFD +:104D20002846FEF790FB20B10078222804D2082004 +:104D30007CBD43F202007CBD4C4890F83000400737 +:104D400001D511207CBD2178C80802D16078C20845 +:104D500001D007207CBD890801D1800801D0062040 +:104D60007CBDADF8005020788DF8020060788DF899 +:104D700003000220ADF8040068460BF076FD04F055 +:104D80006DFA7CBD70B586B014460D460646FEF73A +:104D90005AFB28B10078222805D2082006B070E618 +:104DA00043F20200FAE72846FCF7A0FA20B944B122 +:104DB0002046FCF792FA08B11020EFE700202060AF +:104DC000A0802A4890F83000800701D51120E5E73F +:104DD00003A930460BF086FD18B100BF04F03EFA7F +:104DE000DCE7ADF80060BDF81400ADF80200BDF8D6 +:104DF0001600ADF80400BDF81000BDF81210ADF8B3 +:104E00000600ADF808107DB1298809B1ADF806108B +:104E1000698809B1ADF80210A98809B1ADF8081088 +:104E2000E98809B1ADF80410DCB1BDF80610814283 +:104E300001D9081A2080BDF80210BDF81400814283 +:104E400001D9081A6080BDF80800BDF80410BDF84B +:104E500016200144BDF812001044814201D9081AFD +:104E6000A08068460BF00CFEB8E70000F0010020BF +:104E70001CB572490968CDE9001068460CF005FAC6 +:104E800004F0ECF91CBD1CB50020009001906846B0 +:104E90000CF0FBF904F0E2F91CBD70B505460C46B8 +:104EA0000846FCF7FCF908B11020EAE5214628463F +:104EB0000CF044F8BDE8704004F0D0B93EB50546AA +:104EC0000C460846FCF7EBF908B110203EBD002067 +:104ED000009001900290ADF800502089ADF80800D4 +:104EE00020788DF80200606801902089ADF80800F4 +:104EF0006089ADF80A0068460CF032F804F0AEF9AB +:104F00003EBD0EB5ADF800000020019068460CF0E3 +:104F100027F804F0A3F90EBD108008885080488857 +:104F20009080C88810818888D0800020508190812E +:104F3000704710B5044604F0FDF830B1407830B148 +:104F4000204604F010FC002010BD052010BD1220EA +:104F500010BD10B504F0EEF8040000D1FFDF60785A +:104F600000B9FFDF6078401E607010BD10B504F01E +:104F7000E1F8040000D1FFDF6078401C607010BDD4 +:104F80001CB5ADF800008DF802308DF803108DF8D7 +:104F9000042068460CF070FD04F060F91CBD0CB5EF +:104FA00027A2D2E90012CDE900120079694601EB8F +:104FB000501000780CBD0278520804D0012A02D0AB +:104FC00043F202207047FEF7ADB91FB56A46FFF7FE +:104FD000A3FF68460CF0B6FA04F040F904B010BD27 +:104FE00070B50C0006460DD0FEF72DFA050000D175 +:104FF000FFDFA68028892081288960816889A081B7 +:10500000A889E0813DE510B500231A4603E0845CE1 +:105010002343521CD2B28A42F9D30BB1002010BDF7 +:10502000012010BD00B530B1012803D0022801D005 +:10503000FFDF002000BDFF2000BD0000F45502008E +:10504000070605040302010010B50446FCF701F948 +:1050500008B1102010BD2078C0F30210042807D832 +:105060006078072804D3A178102901D8814201D2A1 +:10507000072010BDE078410706D421794A0703D400 +:10508000000701D4080701D5062010BD002010BD7F +:1050900010B513785C08837F64F3C71383771378A4 +:1050A0009C08C37F64F30003C3771078C309487872 +:1050B00063F34100487013781C090B7864F34713BD +:1050C0000B701378DB0863F3000048705078487168 +:1050D00010BD10B5C4780B7864F300030B70C4786E +:1050E000640864F341030B70C478A40864F382037A +:1050F0000B70C478E40864F3C3030B700379117870 +:1051000063F30001117003795B0863F341011170CF +:1051100003799B0863F3820111700079C00860F382 +:10512000C301117010BD70B514460D46064604F05B +:1051300073FA80B10178182221F00F01891C21F047 +:10514000F001A03100F8081B214609F040F9BDE844 +:10515000704004F064BA29463046BDE8704013221E +:10516000FEF774B92DE9F047064608A8904690E886 +:10517000300489461F4614220021284609F051F9BF +:105180000021CAF80010B8F1000F03D0B9F1000FE8 +:1051900003D114E03878C00711D02068FCF77FF8FD +:1051A000C0BBB8F1000F07D120681230286020681A +:1051B000143068602068A8602168CAF80010387848 +:1051C000800724D56068FCF788F818BBB9F1000F98 +:1051D00021D0FFF7D2F80168C6F868118188A6F8D7 +:1051E0006C11807986F86E0101F015FDF94FEF60C2 +:1051F000626862B196F8680106F2691140081032DF +:10520000FEF7F1F810223946606809F0E0F8002056 +:10521000BDE8F08706E0606820B1E8606068C6F825 +:105220006401F4E71020F3E730B5054608780C4632 +:1052300020F00F00401C20F0F00110312170002000 +:10524000607095F8230030B104280FD0052811D0E4 +:10525000062814D0FFDF20780121B1EB101F04D203 +:1052600095F8200000F01F00607030BD21F0F000C4 +:10527000203002E021F0F00030302070EBE721F028 +:10528000F0004030F9E7F0B591B0022715460C4622 +:1052900006463A46ADF80870092103AB05F04FF811 +:1052A0000490002810D004208DF804008DF80170BF +:1052B000E034099605948DF818500AA968460FF055 +:1052C00092F900B1FFDF012011B0F0BD10B588B038 +:1052D0000C460A99ADF80000CBB11868CDF8020071 +:1052E000D3F80400CDF80600ADF80A20102203A878 +:1052F00009F06DF868460CF095F903F0AFFF00284F +:1053000003D1A17F41F01001A17708B010BD0020AA +:10531000CDF80200E6E72DE9F84F0646808A0D46F3 +:1053200080B28246FEF78FF804463078DFF8A48218 +:1053300000274FF00209A8F120080F2870D2DFE8FB +:1053400000F06FF23708387D8CC8F1F0EFF35FF3AF +:10535000F300A07F00F00300022809D05FF00000F6 +:1053600080F0010150460DF043FC050003D101E03F +:105370000120F5E7FFDF98F85C10C90702D0D8F8E4 +:1053800060000BE0032105F11D0010F0D2FED5F8FE +:105390001D009149B0FBF1F201FB1200C5F81D00A0 +:1053A00070686867B068A8672078252800D0FFDF9C +:1053B000CAE0A07F00F00300022809D05FF00000DF +:1053C00080F0010150460DF013FC060003D101E00E +:1053D0000120F5E7FFDF3078810702D52178252904 +:1053E00004D040F001003070BDE8F88F85F80090DF +:1053F000307F287106F11D002D36C5E90206F3E75E +:10540000A07F00F00300022808D0002080F00101F6 +:1054100050460DF0EDFB040004D102E00120F5E759 +:10542000A7E1FFDF2078C10604D5072028703D34AE +:105430006C60D9E740F008002070D5E7E07F0007F6 +:1054400000D5FFDF307CB28800F0010301B0504688 +:10545000BDE8F04F092106F050B804B9FFDF7168CC +:1054600021B1102204F1240008F0B1FF28212046C8 +:10547000FDF750FEA07F00F0030002280ED104F1DA +:105480002400002300901A4621465046FFF71EFFD5 +:10549000112807D029212046FDF73CFE307A84F8F8 +:1054A0002000A1E7A07F000700D5FFDF14F81E0F42 +:1054B00040F008002070E782A761E761C1096078C9 +:1054C00061F34100014660F382016170307AE0705F +:1054D0008AE7A07F00F00300022809D05FF00000F7 +:1054E00080F0010150460DF083FB040003D101E080 +:1054F0000120F5E7FFDF022104F1850010F019FE1D +:105500000420287004F5B4706860B4F8850028821F +:10551000304810387C346C61C5E9028064E703E0F0 +:1055200024E15BE02DE015E0A07F00F003000228FD +:1055300007D0002080F0010150460DF059FB18B94A +:1055400001E00120F6E7FFDF324621465046BDE884 +:10555000F84FE8E504B9FFDF20782128A1D9307998 +:10556000012803D1E07F40F00800E0773246214671 +:105570005046FFF7D8FD2046BDE8F84F2321FDF740 +:10558000C9BD3279AA8005F108030921504604F00B +:10559000D6FEE86010B10520287025E7A07F00F056 +:1055A0000300022808D0002080F0010150460DF0D1 +:1055B0001FFB040003D101E00120F5E7FFDF04F148 +:1055C000620102231022081F0DF099F9077031794A +:1055D000417009E75002002040420F00A07F00F018 +:1055E0000300022808D0002080F0010150460DF091 +:1055F000FFFA050003D101E00120F5E7FFDF95F890 +:10560000840000F0030001287AD1A07F00F0030796 +:10561000E07F10F0010602D0022F04D133E095F8AC +:10562000A000C0072BD0D5F8601121B395F88320D6 +:10563000087C62F387000874A17FCA09D5F860115D +:1056400062F341000874D5F8601166F30000087435 +:10565000AEB1D5F86001102204F12401883508F0BC +:10566000B6FE287E40F001002876287820F0010060 +:1056700005F8880900E016B1022F04D02DE095F856 +:105680008800C00727D0D5F85C1121B395F8832096 +:10569000087C62F387000874A17FCA09D5F85C1101 +:1056A00062F341000874D5F85C1166F300000874D9 +:1056B0008EB1D5F85C01102204F12401883508F080 +:1056C00086FE287840F0010005F8180B287820F0B5 +:1056D000010005F8A009022F44D0002000EB400093 +:1056E00005EBC00090F88800800709D595F87C008C +:1056F000D5F86421400805F17D011032FDF773FEF5 +:105700008DF8009095F884006A4600F003008DF84B +:10571000010095F888108DF8021095F8A0008DF81A +:1057200003002146504601F05FFA2078252805D075 +:10573000212807D0FFDF2078222803D92221204604 +:10574000FDF7E8FCA07F00F0030002280CD0002049 +:1057500080F0010150460DF05DFA00283FF44FAE95 +:10576000FFDF41E60120B9E70120F1E770684770EB +:105770003AE6FFDF38E670B5FE4C002584F85C5051 +:1057800025660EF0FCFE04F11001204603F000FF38 +:1057900084F8305070BD70B50D46FDF754FE04001E +:1057A00000D1FFDF4FF4B8720021284608F039FE1F +:1057B00004F124002861A07F00F00300022809D032 +:1057C0005FF0010105F1E0000EF0DAFE002800D0E4 +:1057D000FFDF70BD0221F5E70A46014602F1E00055 +:1057E0000EF0EFBE70B50546406886B001780A2914 +:1057F00006D00D2933D00E292FD0FFDF06B070BDA3 +:1058000086883046FDF71FFE040000D1FFDF2078B8 +:105810002128F3D028281BD1686802210E3001F01E +:10582000D8F9A8B168680821801D01F0D2F978B1D3 +:1058300004F1240130460CF0BDF803F00FFD00B177 +:10584000FFDF06B02046BDE870402921FDF762BCAD +:1058500006B0BDE8704003F0E2BE01210172686845 +:10586000C6883046FDF7EFFD040000D1FFDFA07FC2 +:1058700000F00301022902D120F01000A077207867 +:1058800021280AD06868017A09B1007980B1A07F27 +:1058900000F00300022862D0FFDFA07F00F00300C9 +:1058A0000228ABD1FEF71AF80028A7D0FFDFA5E742 +:1058B00003F0B5FEA17F08062BD5E07FC00705D019 +:1058C00094F8200000F01F00102820D05FF00500A1 +:1058D00084F82300207829281DD02428DDD13146E2 +:1058E000042010F00DFF22212046FDF713FCA07FBD +:1058F00000F00300022830D05FF0000080F00101CA +:1059000030460DF087F90028C7D0FFDFC5E7062035 +:10591000DEE70420DCE701F00300022808D00020C5 +:1059200080F0010130460DF063F9050003D101E07C +:105930000120F5E7FFDF25212046FDF7EBFB0320E3 +:105940008DF80000694605F1E0000EF031FE0228F6 +:10595000A3D00028A1D0FFDF9FE70120CEE703F00E +:105960005EFE9AE72DE9F04387B0994616468846D1 +:105970000746FDF768FD04004BD02078222848D365 +:10598000232846D0E07F000743D4A07F00F0030027 +:10599000022809D05FF0000080F0010138460DF0C8 +:1059A00027F9050002D00CE00120F5E7A07F00F008 +:1059B0000300022805D00121002238460DF00FF91E +:1059C00005466946284601F036F9009800B9FFDF20 +:1059D00045B10098E03505612078222806D02428BA +:1059E00004D007E000990020086103E0252120464B +:1059F000FDF790FB0098012141704762868001A964 +:105A0000C0E902890EF0EFFD022802D0002800D084 +:105A1000FFDF07B0BDE8F08370B586B00546FDF73F +:105A200012FD017822291ED9807F00F00300022890 +:105A300008D0002080F0010128460DF0D9F80400BC +:105A40002FD101E00120F5E7FFDF2AE0B4F85E0086 +:105A500004F1620630440178427829B12146284693 +:105A6000FFF711FCB0B9C9E6ADF8042009212846BA +:105A700002AB04F064FC03900028F4D005208DF8FC +:105A80000000694604F1E0000EF092FD022801D00A +:105A900000B1FFDF02231022314604F15E000CF05A +:105AA00064FFB4F860000028D0D1A7E610B586B036 +:105AB0000446FDF7C8FC017822291BD9807F00F03D +:105AC0000300022808D0002080F0010120460DF0DC +:105AD0008FF8040003D101E00120F5E7FFDF062085 +:105AE0008DF80000694604F1E0000EF061FD002829 +:105AF00000D0FFDF06B010BD2DE9F05F05460C4673 +:105B000000270078904601093E4604F1080BBA468A +:105B100002297DD0072902D00A2909D146E0686808 +:105B200001780A2905D00D2930D00E292ED0FFDFAB +:105B3000BBE114271C26002C6BD08088A080FDF7C9 +:105B400082FC5FEA000900D1FFDF99F817005A468E +:105B5000400809F11801FDF746FC6868C0892082F9 +:105B6000696851F8060FC4F812004868C4F81600B6 +:105B7000A07E01E03002002020F0060040F001008D +:105B8000A07699F81E0040F020014DE01A270A2661 +:105B9000002CD1D0C088A080FDF755FC050000D1B5 +:105BA000FFDF59462846FFF73FFB7EE10CB1A88B8B +:105BB000A080287A0B287DD006DC01287BD0022823 +:105BC00008D0032804D135E00D2875D00E2874D0F4 +:105BD000FFDF6AE11E270926002CADD0A088FDF763 +:105BE00032FC5FEA000900D1FFDF287B00F00300F0 +:105BF0000128207A1BD020F001002072297B89081F +:105C000061F341002072297BC90861F3820001E041 +:105C100041E1F2E02072297B090961F3C30020729F +:105C200099F81E0040F0400189F81E103DE140F057 +:105C30000100E2E713270D26002CAAD0A088FDF76B +:105C400002FC8146807F00F00300022808D000207B +:105C500080F00101A0880CF0CBFF050003D101E02A +:105C60000120F5E7FFDF99F81E0000F00302022A89 +:105C700050D0686F817801F003010129217A4BD05F +:105C800021F00101217283789B0863F341012172A5 +:105C90008378DB0863F38201217283781B0963F345 +:105CA000C3012172037863F306112172437863F311 +:105CB000C71103E061E0A9E090E0A1E0217284F85F +:105CC00009A0C178A172022A29D00279E17A62F38F +:105CD0000001E1720279520862F34101E172027936 +:105CE000920862F38201E1720279D20862F3C30181 +:105CF000E1724279217B62F30001217342795208FB +:105D000062F3410121734279920862F382012173A7 +:105D1000407928E0A86FADE741F00101B2E7427990 +:105D2000E17A62F30001E1724279520862F34101C3 +:105D3000E1724279920862F38201E1724279D208FB +:105D400062F3C301E1720279217B62F300012173E6 +:105D50000279520862F3410121730279920862F3D9 +:105D6000820121730079C00860F3C301217399F89F +:105D70000000232831D9262140E018271026E4B35B +:105D8000A088FDF760FB8346807F00F003000228B7 +:105D900009D0002080F00101A0880CF029FF5FEA03 +:105DA000000903D101E00120F4E7FFDFE868A0600B +:105DB00099F8000040F0040189F8001099F80100FA +:105DC000800708D5012020739BF8000023286CD998 +:105DD0002721584651E084F80CA066E015270F26CD +:105DE0005CB1A088FDF72FFB814606225946E86882 +:105DF00008F076FB0120A073A0E041E048463CE0BB +:105E000016270926E4B3287B20724EE0287B192749 +:105E10000E26ACB3C4F808A0A4F80CA0012807D043 +:105E2000022805D0032805D0042803D0FFDF0DE0A9 +:105E3000207207E0697B042801F00F0141F0800126 +:105E400021721ED0607A20F003006072A088FDF7F6 +:105E5000FAFA05460078212827D0232800D0FFDF52 +:105E6000A87F00F00300022813D0002080F0010179 +:105E7000A0880CF0CFFE22212846FDF74BF914E054 +:105E800004E0607A20F00300401CDEE7A8F8006020 +:105E900010E00120EAE70CB16888A080287A68B396 +:105EA00001280AD002284FD0FFDFA8F800600CB10B +:105EB000278066800020BDE8F09F15270F26002C64 +:105EC000E4D0A088FDF7BFFA807F00F0030002282D +:105ED00008D0002080F00101A0880CF089FE0500A8 +:105EE00003D101E00120F5E7FFDFD5F81D00062210 +:105EF000594608F0F5FA84F80EA0D6E717270926C8 +:105F0000002CC3D0A088FDF79EFA8146807F00F068 +:105F10000300022808D0002080F00101A0880CF0C6 +:105F200067FE050003D101E00120F5E7FFDF687897 +:105F3000800701D5022000E00120207299F80000BE +:105F40002328B2D9272159E719270E26002C9DD0E6 +:105F5000A088FDF778FA5FEA000900D1FFDFC4F8F6 +:105F600008A0A4F80CA084F808A0A07A40F00300D0 +:105F7000A07299F81E10C90961F38200A07299F805 +:105F80001F2099F81E1012EAD11F05D099F8201091 +:105F900001F01F0110292BD020F00800A07299F801 +:105FA0001F10607A61F3C3006072697A01F0030127 +:105FB0000129A2D140F00400607299F81E0000F09F +:105FC00003000228E87A16D0217B60F300012173D8 +:105FD000AA7A607B62F300006073EA7A520862F387 +:105FE00041012173A97A490861F3410060735CE7BC +:105FF00040F00800D2E7617B60F300016173AA7A88 +:10600000207B62F300002073EA7A520862F34101B8 +:106010006173A97A490861F34100207345E710B51F +:10602000F74C30B10146102204F1200008F0CFF9FE +:10603000012084F8300010BD10B5044600F0EBFDDF +:10604000EF4920461022BDE81040203108F0BFB9CA +:1060500070B5EB4D06004FF0000413D0FBF7F9F8D4 +:1060600008B110240CE00621304608F020FA411C4B +:1060700005D028665FF0010085F85C0000E0072489 +:10608000204670BD0020F7E7007810F00F0204D022 +:10609000012A05D0022A0CD110E0000909D10AE03A +:1060A0000009012807D0022805D0032803D00428BE +:1060B00001D0072070470870002070470620704705 +:1060C00005282AD2DFE800F003070F171F00087821 +:1060D00020F0FF001EE0087820F00F00401C20F0A8 +:1060E000F000103016E0087820F00F00401C20F07F +:1060F000F00020300EE0087820F00F00401C20F067 +:10610000F000303006E0087820F00F00401C20F04E +:10611000F0004030087000207047072070472DE9DC +:10612000F041804688B00D4600270846FBF7DEF8B0 +:10613000A8B94046FDF787F9040003D0207822284B +:1061400015D104E043F2020008B0BDE8F08145B982 +:10615000A07F410603D500F00300022801D01020E3 +:10616000F2E7A07FC10601D4010702D50DB10820D6 +:10617000EAE7E17F090701D50D20E5E700F003001C +:1061800002280DD165B12846FEF75EFF0700DBD17E +:10619000FBF728FB20B9E878800701D50620D3E774 +:1061A000A07F00F00300022808D0002080F0010149 +:1061B00040460CF01DFD060002D00FE00120F5E77F +:1061C000A07F00F0030002280ED0002080F0010123 +:1061D000002240460CF003FD060007D0A07F00F02F +:1061E0000300022804D009E00120EFE70420ABE718 +:1061F00025B12A4631462046FEF74AFF6946304619 +:1062000000F019FD009800B9FFDF0099022006F1A7 +:10621000E0024870C1F824804A6100220A81A27F0E +:1062200002F00302022A1CD001200871287800F035 +:106230000102087E62F3010008762A78520862F3B0 +:10624000820008762A78920862F3C30008762A78DA +:10625000D20862F30410087624212046FCF75AFF86 +:1062600033E035B30871301D886130784009087714 +:106270007078C0F340004877287800F00102887FEA +:1062800062F301008877A27FD20962F382008877E7 +:10629000E27F62F3C3008877727862F30410887734 +:1062A000A878C87701F1210228462031FEF711FFB6 +:1062B00003E0032008710520087625212046FCF71D +:1062C00029FFA07F20F04000A07701A900980EF0E0 +:1062D0008AF9022801D000B1FFDF384634E72DE902 +:1062E000FF4F9346474A0D4699B09A4607CA0AABF4 +:1062F000002783E807001998FDF7A5F8060006D0E7 +:106300003078262806D008201DB0BDE8F08F43F273 +:106310000200F9E7B07F00F00309B9F1020F11D0D4 +:106320004DB95846FEF790FE0028EDD1B07F00F041 +:106330000300022806D0BBF1000F11D0FBF752FA80 +:1063400020B10DE0BBF1000F4FD109E006200CF0A9 +:10635000F7FB28B19BF80300800701D50620D3E79F +:10636000B07F00F00300022808D0002080F0010177 +:1063700019980CF03DFC040003D101E00120F5E781 +:10638000FFDF852D27D007DCEDB1812D1DD0822DBB +:106390001DD0832D08D11CE0862D1ED0882D1ED047 +:1063A000892D1ED08A2D1ED00F2020710F281CD0C1 +:1063B00003F032F9D8B101208DF83C00201D109077 +:1063C0002079B0B156E10020EFE70120EDE702208F +:1063D000EBE70320E9E70520E7E70620E5E70820EB +:1063E000E3E70920E1E70A20DFE707208CE7112037 +:1063F0008AE7B9F1020F07D0A56F07D1A06F06E0B9 +:1064000030020020FC550200656FF6E7606F8046A1 +:106410002DD04FF0010001904FF0020000905A463D +:1064200021463046FEF734FE9BF8000000F00101E3 +:10643000A87861F30100A870B17FC90961F38200F7 +:10644000A870F17F61F3C300A870617861F3041054 +:10645000A8702078400928706078C0F34000687008 +:106460009BF80200E87000206871287103E00220A8 +:10647000019001200090A87898F80210C0F3C000A5 +:10648000C1F3C001084003902CD05046FAF7E1FE5A +:10649000C0BBDAF80C00FAF7DCFE98BBDAF81C0097 +:1064A000FAF7D7FE70BBDAF80C00A060DAF81C002F +:1064B000E060607898F8012042EA500161F3410001 +:1064C000607098F80210C0B200EA111161F3000088 +:1064D000607000202077009906F11700022907D08C +:1064E000012106E0607898F8012002EA5001E5E712 +:1064F000002104EB810148610199701C022902D03E +:10650000012101E028E0002104EB81014861A87825 +:1065100000F00300012857D198F8020000F00300B2 +:10652000012851D1B9F1020F04D02A1D691D584626 +:10653000FEF7CFFD287998F8041008408DF8340054 +:10654000697998F8052011408DF8381008433BD040 +:106550005046FAF77EFE08B11020D5E60AF1100188 +:106560008B46B9F1020F17D00846002104F18C03C5 +:10657000CDE9000304F5AE7202920DAB2046039AFA +:10658000FEF7F0FD0028E8D1B9F1020F08D050461F +:1065900008D14FF0010107E050464FF00101E5E757 +:1065A0005846F5E74FF0000104F1A403CDE90003DC +:1065B00004F5B072029281F001010EAB2046039AFD +:1065C000FEF7D0FD0028C8D16078800733D4A878C2 +:1065D00098F80210C0F38000C1F3800108432AD06C +:1065E000297898F800000AAAB9F1020F06D032F80B +:1065F00011204300DA4002F003070AE032F81020CD +:106600004B00DA4012F0030705D0012F0AD0022F09 +:106610000AD0032F06D0039A6AB1012906D00429B3 +:1066200004D008E00227F6E70127F4E7012801D0AB +:10663000042800D10427B07F40F08000B077F17FBC +:10664000039860F30001F1776078800705D5032097 +:10665000A071039870B9002029E00220022F18D001 +:10666000012F18D0042F2AD00020A071B07F20F075 +:106670008000B07725213046FCF74CFD0FA904F1CE +:10668000E0000DF095FF10B1022800D0FFDF0020E0 +:106690003AE6A071DFE7A0710D22002104F120008D +:1066A00007F0BFFE207840F00200207001208DF836 +:1066B0005C0017AA3146199800F096FADAE7012033 +:1066C000A071D7E72DE9F04387B09046894604468C +:1066D0000025FCF7B8FE060006D03078272806D043 +:1066E000082007B0BDE8F08343F20200F9E7B07F6D +:1066F00000F00300022809D05FF0000080F00101E3 +:1067000020460CF075FA040003D101E00120F5E702 +:10671000FFDFA7795FEA090005D0012821D0B9F190 +:10672000020F26D110E0B8F1000F22D1012F05D0C1 +:10673000022F05D0032F05D0FFDF2EE00C252CE023 +:1067400001252AE0022528E04046FAF782FDB0B98B +:10675000032F0ED11022414604F11D0007F037FE31 +:106760001BE0012F02D0022F03D104E0B8F1000F8B +:1067700013D00720B5E74046FAF76BFD08B11020AB +:10678000AFE71022002104F11D0007F04AFE0621A8 +:10679000404607F08CFEC4F81D002078252140F00B +:1067A000020020703046FCF7B5FC2078C10713D0FA +:1067B00020F00100207002208DF8000004F11D007F +:1067C00002908DF804506946C3300DF0F1FE0228A6 +:1067D00003D010B1FFDF00E02577002081E730B55E +:1067E00087B00D460446FCF72EFE98B1807F00F07E +:1067F0000300022811D0002080F0010120460CF097 +:10680000F7F904000ED02846FAF723FD38B110201E +:1068100007B030BD43F20200FAE70120ECE7207830 +:10682000400701D40820F3E7294604F13D00202267 +:10683000054607F0CCFD207840F0100020700107DD +:106840000FD520F00800207007208DF80000694661 +:1068500004F1E00001950DF0ABFE022801D000B17B +:10686000FFDF0020D4E770B50D460646FCF7EBFDD0 +:1068700018B10178272921D102E043F2020070BD4E +:10688000807F00F00300022808D0002080F0010182 +:1068900030460CF0ADF9040003D101E00120F5E72A +:1068A000FFDFA079022809D16078C00706D02A4608 +:1068B00021463046FEF7E7FC10B10FE0082070BD1E +:1068C000B4F860000E280BD204F1620102231022FA +:1068D000081F0CF014F8012101704570002070BDF4 +:1068E000112070BD70B5064614460D460846FAF7ED +:1068F000B0FC18B92046FAF7D2FC08B1102070BDE0 +:10690000A6F57F40FF380ED03046FCF79CFD38B12D +:10691000417822464B08811C1846FCF764FD07E0CD +:1069200043F2020070BD2046FDF78FFD0028F9D12B +:106930001021E01D0FF0FDFBE21D294604F11700B8 +:1069400000F089F9002070BD2DE9F04104468AB0BD +:106950001546884600270846FAF7C8FC18B92846A5 +:10696000FAF7C4FC18B110200AB0BDE8F081204647 +:10697000FCF769FD060003D0307827281BD102E020 +:1069800043F20200F0E7B07F00F00300022809D0D4 +:106990005FF0000080F0010120460CF029F90400AE +:1069A00003D101E00120F5E7FFDF2078400702D5A1 +:1069B0006078800701D40820D6E7B07F00F003009C +:1069C000022803D0A06F03D1A16F02E0606FFAE745 +:1069D000616F407800B19DB1487810B1B8F1000FF7 +:1069E0000ED0ADB1EA1D06A8E16800F034F910221E +:1069F00006A905F1170007F0BDFC18B1042707E050 +:106A00000720B1E71022E91D04F12D0007F0DFFC9B +:106A1000B8F1000F06D0102208F1070104F11D00A3 +:106A200007F0D5FC2078252140F002002070304688 +:106A3000FCF770FB2078C10715D020F00100207012 +:106A400002208DF8000004F11D0002901030039028 +:106A50008DF804706946B3300DF0AAFD022803D00A +:106A600010B1FFDF00E0277700207DE7F8B515467D +:106A70000E460746FCF7E7FC040004D020782228E5 +:106A800004D00820F8BD43F20200F8BDA07F00F05A +:106A90000300022802D043F20500F8BD3046FAF7A1 +:106AA000D8FB18B92846FAF7D4FB08B11020F8BD76 +:106AB00000953288B31C21463846FEF707FC1128A2 +:106AC00015D00028F3D1297C4A08A17F62F3C711B1 +:106AD000A177297CE27F61F30002E277297C8908B3 +:106AE00084F82010A17F21F04001A177F8BDA17F9B +:106AF0000907FBD4D6F80200C4F83600D6F8060021 +:106B0000C4F83A003088A0861022294604F12400F7 +:106B100007F05DFC287C4108E07F61F34100E077ED +:106B2000297C61F38200E077287C800884F82100CA +:106B3000A07F40F00800A0770020D3E770B50D4695 +:106B400006460BB1072070BDFCF77DFC040007D0A2 +:106B50002078222802D3A07F800604D4082070BDAC +:106B600043F2020070BDADB1294630460AF022FF63 +:106B700002F074FB297C4A08A17F62F3C711A17758 +:106B8000297CE27F61F30002E277297C890884F89E +:106B9000201004E030460AF030FF02F05FFBA17FD6 +:106BA00021F02001A17770BD70B50D46FCF74BFCBC +:106BB000040005D02846FAF772FB20B1102070BD02 +:106BC00043F2020070BD29462046FEF72DFB00204F +:106BD00070BD04E010F8012B0AB100207047491E77 +:106BE00089B2F7D20120704770B51546064602F00B +:106BF00013FD040000D1FFDF207820F00F00801C7F +:106C000020F0F0002030207066802868A060BDE889 +:106C1000704002F004BD10B5134C94F83000002809 +:106C200008D104F12001A1F110000DF003FD0120B5 +:106C300084F8300010BD10B190F8B9202AB10A488C +:106C400090F8350018B1002003E0B83001E00648A4 +:106C500034300860704708B50023009313460A4695 +:106C60000CF0C5F908BD00003002002018B1817891 +:106C7000012938D101E010207047018842F6011245 +:106C8000881A914231D018DC42F60102A1EB0200D1 +:106C900091422AD00CDC41B3B1F5C05F25D06FF42E +:106CA000C050081821D0A0F57060FF381BD11CE03F +:106CB00001281AD002280AD117E0B0F5807F14D03D +:106CC00008DC012811D002280FD003280DD0FF289E +:106CD00009D10AE0B0F5817F07D0A0F580700338B4 +:106CE00003D0012801D0002070470F2070470A28E8 +:106CF0001FD008DC0A2818D2DFE800F0191B1F1F7C +:106D0000171F231D1F21102815D008DC0B2812D0B7 +:106D10000C2810D00D2816D00F2806D10DE0112810 +:106D20000BD084280BD087280FD003207047002079 +:106D3000704705207047072070470F2070470420D8 +:106D40007047062070470C20704743F202007047DE +:106D500038B50C46050041D06946FFF795F9002883 +:106D600019D19DF80010607861F3020060706946E7 +:106D7000681CFFF789F900280DD19DF80010607894 +:106D800061F3C5006070A978C1F34101012903D006 +:106D9000022905D0072038BD217821F0200102E02A +:106DA000217841F020012170410704D0A978C90859 +:106DB00061F386106070607810F0380F07D0A97802 +:106DC000090961F3C710607010F0380F02D16078C4 +:106DD000400603D5207840F040002070002038BDE8 +:106DE00070B504460020088015466068FFF7B0FFC4 +:106DF000002816D12089A189884211D8606880783E +:106E0000C0070AD0B1F5007F0AD840F20120B1FBDB +:106E1000F0F200FB1210288007E0B1F5FF7F01D9E6 +:106E20000C2070BD01F201212980002070BD10B539 +:106E30000478137864F3000313700478640864F32F +:106E4000410313700478A40864F382031370047878 +:106E5000E40864F3C30313700478240964F304138F +:106E600013700478640964F3451313700078800983 +:106E700060F38613137031B10878C10701D1800720 +:106E800001D5012000E0002060F3C713137010BD8E +:106E90004278530702D002F0070306E012F0380FE1 +:106EA00002D0C2F3C20300E001234A7863F3020276 +:106EB0004A70407810F0380F02D0C0F3C20005E0ED +:106EC000430702D000F0070000E0012060F3C50294 +:106ED0004A7070472DE9F04F95B00D00824613D0EF +:106EE00012220021284607F09CFA4FF6FF7B05AAE4 +:106EF0000121584607F05DF80024264637464FF436 +:106F000020586FF4205972E0102015B0BDE8F08FC2 +:106F10009DF81E0001280AD1BDF81C1041450BD078 +:106F200011EB09000AD001280CD002280CD0042C47 +:106F30000ED0052C0FD10DE0012400E00224BDF895 +:106F40001A6008E0032406E00424BDF81A7002E089 +:106F5000052400E00624BDF81A10514547D12C74D1 +:106F6000BEB34FF0000810AA4FF0070ACDE9028225 +:106F7000CDE900A80DF13C091023CDF81090424650 +:106F80003146584607F0E5F808BBBDF83C002A46F4 +:106F9000C0B210A90DF0D9FBC8B9AE81CFB1CDE90F +:106FA00000A80DF1080C0AAE40468CE841021323FC +:106FB00000223946584607F0CCF840B9BDF83C00ED +:106FC000F11CC01EC0B22A1D0DF0BFFB10B1032082 +:106FD0009BE70AE0BDF82900E881062C05D19DF861 +:106FE0001E00A872BDF81C00288100208DE705A8AE +:106FF00006F0EBFF00288BD0FFF779FE85E72DE93F +:10700000F0471C46DDE90978DDF8209015460E00B2 +:10701000824600D1FFDF0CB1208818B1D5B1112014 +:10702000BDE8F087022D01D0012100E0002106F12A +:10703000140005F087FEA8F8000002463B462946EA +:10704000504603F07CF9C9F8000008B9A41C3C6064 +:107050000020E5E71320E3E7F0B41446DDE904522D +:107060008DB1002314B1022C09D101E0012306E007 +:107070000D7CEE0703D025F0010501230D74214698 +:10708000F0BC04F03ABA1A80F0BC70472DE9FE4F0C +:1070900091461A881C468A468046FAB102AB494698 +:1070A00003F04DF9050019D04046A61C27880BF0C7 +:1070B000E4FE3246072629463B4600960BF0F1FADD +:1070C00020882346CDE900504A4651464046FFF706 +:1070D000C3FF002020800120BDE8FE8F0020FBE7D9 +:1070E0002DE9F04786B082460EA8904690E8B000A1 +:1070F000894604AA05A903A88DE807001E462A466A +:1071000021465046FFF77BFF039901B101213970F9 +:10711000002818D1FA4904F1140204AB086003985E +:1071200005998DE8070042464946504606F0BDF9EC +:10713000A8B1092811D2DFE800F005080510100AEF +:107140000C0C0E00002006B06AE71120FBE70720B8 +:10715000F9E70820F7E70D20F5E70320F3E7BDF88E +:1071600010100398CDE9000133462A4621465046C7 +:10717000FFF772FFE6E72DE9F04389B01646DDE937 +:1071800010870D4681461C461422002103A807F0F3 +:1071900048F9012002218DF810108DF80C008DF8AF +:1071A0001170ADF8146064B1A278D20709D08DF8DF +:1071B0001600E088ADF81A00A088ADF81800A068A5 +:1071C000079008A80095CDE90110424603A948465A +:1071D0006B68FFF785FF09B0BDE8F083F0B58BB0B1 +:1071E00000240646069407940727089405A80994E6 +:1071F000019400970294CDE903400D4610232246E6 +:10720000304606F0A6FF78B90AA806A901940097AF +:107210000294CDE90310BDF814300022294630460F +:1072200006F035FD002801D0FFF761FD0BB0F0BD81 +:1072300006F0C6BB2DE9FC410C468046002602F054 +:10724000EBF9054620780D287ED2DFE800F0BC0778 +:1072500013B325BD49496383AF959B00A8480068D7 +:1072600020B1417841F010014170ADE0404602F09C +:1072700003FAA9E0042140460BF0BAFC070000D154 +:10728000FFDF07F11401404605F0F1FCA5BB132117 +:107290004046FDF7C1FB97E0042140460BF0A8FCF7 +:1072A000070000D1FFDFE088ADF800000020B881C2 +:1072B0009DF80000010704D5C00602D5A088B8815A +:1072C00005E09DF8010040067ED5A088F88105B94B +:1072D000FFDF22462946404601F0C0FC022673E04B +:1072E000E188ADF800109DF8011009060FD50728B8 +:1072F00003D006280AD00AE024E0042140460BF01F +:1073000077FC060000D1FFDFA088F0810226CDB90E +:10731000FFDF17E0042140460BF06AFC070000D1B4 +:10732000FFDF07F1140006F082FB90F0010F02D19D +:10733000E079000648D5387C022640F00200387417 +:1073400005B9FFDF224600E03DE02946404601F056 +:1073500085FC39E0042140460BF04AFC017C002DFD +:1073600001F00206C1F340016171017C21F00201CC +:107370000174E7D1FFDFE5E702260121404602F074 +:10738000ADF921E0042140460BF032FC054660686F +:1073900000902089ADF8040001226946404602F0C1 +:1073A000BEF9287C20F0020028740DE0002DC9D120 +:1073B000FFDFC7E7022600214046FBF789F8002DD2 +:1073C000C0D1FFDFBEE7FFDF3046BDE8FC813EB540 +:1073D0000C0009D001466B4601AA002006F03EFFD2 +:1073E00020B1FFF784FC3EBD10203EBD0020208070 +:1073F000A0709DF8050002A900F00700FEF760FEEE +:1074000050B99DF8080020709DF8050002A9C0F34E +:10741000C200FEF755FE08B103203EBD9DF80800EE +:1074200060709DF80500C109A07861F30410A07098 +:107430009DF80510890961F3C300A0709DF8041040 +:10744000890601D5022100E0012161F342009DF887 +:10745000001061F30000A07000203EBD70B514461E +:1074600006460D4651EA040005D075B10846F9F705 +:1074700034FF78B901E0072070BD2946304606F098 +:1074800054FF10B1BDE8704031E454B12046F9F723 +:1074900024FF08B1102070BD21463046BDE8704081 +:1074A00095E7002070BD2DE9FC5F0C46904605462F +:1074B000002701780822007A3E46B2EB111F7DD1E9 +:1074C00004F10A0100910A31821E4FF0020A04F110 +:1074D000080B0191092A72D2DFE802F0EDE005F510 +:1074E00028287BAACE00688804210BF081FB0600C7 +:1074F00000D1FFDFB08928B152270726C3E0000082 +:107500009402002051271026002C7DD06888A0808E +:107510000120A071A88900220099FFF79FFF002891 +:1075200073D1A8892081288AE081D1E0B5F8129032 +:10753000072824D1E87B000621D5512709F1140042 +:1075400086B2002CE1D0A88900220099FFF786FFBF +:1075500000285AD16888A08084F806A0A8892081D4 +:107560000120A073288A2082A4F81290A88A009093 +:1075700068884B46A969019A01F04CFBA8E05027A6 +:1075800009F1120086B2002C3ED0A889002259468B +:10759000FFF764FF002838D16888A080A889E080C0 +:1075A000287A072813D002202073288AE081E87BFC +:1075B000C0096073A4F81090A88A01E085E082E019 +:1075C000009068884B4604F11202A969D4E70120B3 +:1075D000EAE7B5F81290512709F1140086B2002CA1 +:1075E00066D0688804210BF003FB83466888A0807E +:1075F000A88900220099FFF731FF00286ED184F896 +:1076000006A0A889208101E052E067E00420A07371 +:10761000288A2082A4F81290A88A009068884B4695 +:10762000A969019A01F0F6FAA989ABF80E104FE0AA +:107630006888FBF708FF0746688804210BF0D8FA32 +:10764000064607B9FFDF06B9FFDF687BC00702D037 +:107650005127142601E0502712264CB36888A080D9 +:10766000502F06D084F806A0287B594601F0E2FA94 +:107670002EE0287BA11DF9E7FE49A88949898142AE +:1076800005D1542706269CB16888A08020E05327A6 +:107690000BE06888A080A889E08019E06888042150 +:1076A0000BF0A6FA00B9FFDF55270826002CF0D111 +:1076B000A8F8006011E056270726002CF8D068884B +:1076C000A080002013E0FFDF02E0012808D0FFDFE8 +:1076D000A8F800600CB1278066800020BDE8FC9F00 +:1076E00057270726002CE3D06888A080687AA0710D +:1076F000EEE7401D20F0030009B14143091D01EBF5 +:107700004000704713B5DB4A00201071009848B163 +:10771000002468460BF089F8002C02D1D64A009963 +:1077200011601CBD01240020F4E770B50D4614461D +:10773000064686B05C220021284606F072FE04B997 +:10774000FFDFA0786874A2782188284601F09DFAAE +:107750000020A881E881228805F11401304605F057 +:107760006AFA6A460121304606F023FC1AE000BF9F +:107770009DF80300000715D5BDF806103046FFF749 +:107780002DFD9DF80300BDF8061040F010008DF8A7 +:107790000300BDF80300ADF81400FF233046059A3E +:1077A00006F08BFD684606F010FC0028E0D006B01D +:1077B00070BD10B50C4601F1140005F074FA0146D5 +:1077C000627C2046BDE8104001F094BA30B5044612 +:1077D000A84891B04FF6FF75C18905AA284606F062 +:1077E000E8FB30E09DF81E00A0422AD001282AD1F3 +:1077F000BDF81C00B0F5205F03D042F601018842BD +:1078000021D1002002AB0AAA0CA9019083E807004D +:1078100007200090BDF81A1010230022284606F019 +:1078200098FC38B9BDF828000BAAC0B20CA90CF01E +:107830008CFF10B1032011B030BD9DF82E00A04286 +:1078400001D10020F7E705A806F0BFFB0028C9D04A +:107850000520F0E770B5054604210BF0C9F90400D6 +:1078600000D1FFDF04F114010C46284605F0FFF9B2 +:1078700021462846BDE8704005F000BA70B58AB0D0 +:107880000C460646FBF7DFFD050014D028782228B9 +:1078900027D30CB1A08890B101208DF80C000320F3 +:1078A0008DF8100000208DF8110054B1A088ADF8BB +:1078B0001800206807E043F202000AB070BD0920FA +:1078C000FBE7ADF818000590042130460BF090F965 +:1078D000040000D1FFDF04F1140005F0FAF90007FD +:1078E00001D40820E9E701F097FE60B108A8022161 +:1078F0000094CDE9011095F8232003A93046636870 +:10790000FFF7EEFBD9E71120D7E72DE9F04FB2F8EA +:1079100002A0834689B0154689465046FBF793FD81 +:107920000746042150460BF063F9002604460596ED +:107930004FF002080696ADF81C6007B9FFDF04B9E6 +:10794000FFDF4146504603F03FFF50B907AA06A9A2 +:1079500005A88DE807004246214650466368FFF7B8 +:107960004EFB444807AB0660DDE9051204F1140044 +:10797000CDF80090CDE90320CDE9013197F823201F +:10798000594650466B6805F0EDF906000AD0022E04 +:1079900004D0032E14D0042E00D0FFDF09B03046EF +:1079A000BDE8F08FBDF81C000028F7D00599CDE99F +:1079B00000104246214650466368FFF74DFBEDE755 +:1079C000687840F008006870E8E72DE9F04F99B05A +:1079D00004464FF000082748ADF81C80ADF8208021 +:1079E000ADF82480A0F80880ADF81480ADF81880B8 +:1079F000ADF82C80ADF82880007916460D46474634 +:107A0000012808D0022806D0032804D0042802D078 +:107A1000082019B0C4E72046F9F71BFC70BB2846C4 +:107A2000F9F717FC50BB6068F9F760FC30BB606881 +:107A300048B160892189884202D8B1F5007F01D917 +:107A40000C20E6E780460EAA06A92846FFF7C8F9EB +:107A50000028DED168688078C0F34100022808D190 +:107A60009DF8190010F0380F03D02869F9F735FC9C +:107A700020B904E0940200201800002022E005A9AB +:107A80002069FFF765F90028C3D1206948B1607803 +:107A900080079DF8150000F0380001D5F0B300E034 +:107AA000E0BB9DF8140080060ED59DF8150010F07F +:107AB000380F03D06068F9F710FC18B96068F9F75F +:107AC00015FC08B11020A4E70AA96069FFF740F986 +:107AD00000289ED1606940B19DF8290000F007019F +:107AE00001293CD110F0380F39D00BA9A069FFF75C +:107AF0002FF900288DD19DF8280080062FD49DF8FD +:107B00002C0080062BD4A06950B19DF82D0000F008 +:107B10000701012923D110F0380F00E01FE01ED02B +:107B2000E06818B10078D0B11C2818D20FAA611CE7 +:107B30002046FFF77CF90121384661F30F20824689 +:107B40008DF85210B94642F603000F46ADF85000CA +:107B50000DF13F0218A928680CF0F9FD08B10720C3 +:107B600057E79DF8600015A9CDF80090C01CCDE93D +:107B7000019100F0FF0B00230BF20122514614A8E3 +:107B800006F042F9F0BBBDF854000C90FE482A897B +:107B900029690092CDE901106B89BDF83820286869 +:107BA000069906F031F901007ED120784FF0020AE3 +:107BB000C10601D480062BD5CDF80C90606950B970 +:107BC0000AA906A8FFF764F99DF8290020F007002C +:107BD000401C8DF829009DF8280008A940F0C80035 +:107BE0008DF828008DF8527042F60210ADF8500062 +:107BF00003AACDF800A0CDE90121002340F2032221 +:107C000014A800E01EE00A9906F0FEF801004BD12E +:107C1000DD484D4608385B460089ADF83D000FA8A9 +:107C2000CDE90290CDF80490CDF810904FF00709FF +:107C30000022CDF80090BDF854104FF6FF7006F00A +:107C400026F810B1FFF753F8E3E69DF83C00000674 +:107C500024D52946012060F30F218DF852704FF48E +:107C600024500395ADF8500062789DF80C00002375 +:107C700062F300008DF80C006278CDF800A0520885 +:107C800062F341008DF80C0003AACDE9012540F212 +:107C9000032214A806F0B8F8010005D1606888B383 +:107CA0002069A8B905A900E084E006A8FFF7F0F86C +:107CB0006078800706D49DF8150020F038008DF814 +:107CC000150005E09DF8140040F040008DF8140008 +:107CD0008DF8527042F60110ADF85000208940F244 +:107CE0000121B0FBF1F201FB1202606809ABCDF893 +:107CF0000080CDE90103002314A8059906F084F85B +:107D0000010057D12078C00728D00395A06950B949 +:107D10000BA906A8FFF7BCF89DF82D0020F007007E +:107D2000401C8DF82D009DF82C008DF8527040F00D +:107D300040008DF82C0042F60310ADF8500007A962 +:107D400003AACDF800A0CDE90121002340F20322CF +:107D500014A80B9906F058F801002BD1E06868B31D +:107D60002946012060F30F218DF8527042F604106D +:107D7000ADF85000E068002302788DF85820407874 +:107D80008DF85900E06816AA4088ADF85A00E068FE +:107D900000798DF85C00E068C088ADF85D00CDF832 +:107DA0000090CDE901254FF4027214A806F02CF8DA +:107DB000010003D00C9800F0C9FF2AE672480321A5 +:107DC0000838017156B100893080BDF824007080F8 +:107DD000BDF82000B080BDF81C00F080002018E63F +:107DE00070B501258AB016460B46012802D002283C +:107DF00016D104E08DF80E504FF4205003E08DF8BA +:107E00000E5042F60100ADF80C005BB10024601C7E +:107E100060F30F2404AA08A918460CF098FC18B1C6 +:107E200007204AE5102048E504A99DF8202056487F +:107E3000CDE90021801E02900023214603A802F212 +:107E4000012205F0E1FF10B1FEF751FF35E54E4884 +:107E500008380EB1C1883180057100202DE5F0B5DC +:107E600093B0074601268DF83E6041F60100ADF85B +:107E70003C0012AA0FA93046FFF7B2FF002849D1F3 +:107E8000414C0025083CEFB31C22002102A806F05B +:107E9000C8FA9DF808008DF83E6040F020008DF88B +:107EA000080042F60520ADF83C000E959DF83A001A +:107EB000119520F00600801C8DF83A009DF83800DE +:107EC0006A4620F0FF008DF838009DF8390009A9B6 +:107ED00020F0FF008DF839000420ADF82C00ADF83B +:107EE00030000EA80A9011A80D900FA80990ADF8C7 +:107EF0002E5002A8FFF769FD00280BD1BDF8000045 +:107F0000608100E008E0BDF80400A081401CE08131 +:107F10002571002013B0F0BD6581A581BDF8480032 +:107F2000F4E72DE9F74F1849A0B000240839179459 +:107F30000A79A146012A04D0022A02D0082023B0DF +:107F40002EE5CA88824201D00620F8E721988A46A9 +:107F5000824201D10720F2E70120214660F30F2180 +:107F6000ADF848004FF6FF780691ADF84A808DF8DD +:107F70006E0042F6020B8DF872401CA9ADF86CB091 +:107F8000ADF87040139101E09C020020ADF85080E4 +:107F900012A806F049F800252E462F460DAB072201 +:107FA00012A9404606F043F878B10A285DD195B38E +:107FB0008EB3ADF86450ADF866609DF85E008DF844 +:107FC000144019AC012864D06BE09DF83A001FB34F +:107FD000012859D1BDF8381059451FD118A809A951 +:107FE00001940294CDE9031007200090BDF83610EB +:107FF00010230022404606F0ACF8B0BBBDF860008C +:10800000042801D006284AD1BDF8241021988142C5 +:108010003AD10F2093E73AE0012835D1BDF8380076 +:10802000B0F5205F03D042F6010188422CD1BAF8A6 +:108030000600BDF83610884201D1012700E0002774 +:1080400005B19EB1219881421ED118A809AA0194B8 +:108050000294CDE90320072000900D461023002252 +:10806000404606F076F800B902E02DE04E460BE0FF +:10807000BDF86000022801D0102810D1C0B217AAA4 +:1080800009A90CF062FB50B9BDF8369086E70520CF +:1080900055E705A917A8221D0CF059FB08B10320CC +:1080A0004DE79DF814000023001DC2B28DF8142086 +:1080B00022980092CDE901401BA8069905F0A4FE84 +:1080C00010B902228AF80420FEF711FE37E710B536 +:1080D0000B46401E88B084B205AA00211846FEF760 +:1080E000A6FE00200DF1080C06AA05A901908CE857 +:1080F0000700072000900123002221464FF6FF7061 +:1081000005F0C5FD0446BDF81800012800D0FFDFCA +:108110002046FEF7ECFD08B010BDF0B5F74F044661 +:1081200087B038790E46032804D0042802D00820EE +:1081300007B0F0BD04AA03A92046FEF751FE0500D2 +:10814000F6D160688078C0F3410002280AD19DF81A +:108150000D0010F0380F05D02069F9F7BEF808B10E +:108160001020E5E7208905AA21698DE807006389C9 +:10817000BDF810202068039905F046FE10B1FEF707 +:10818000B6FDD5E716B1BDF8140030800420387173 +:108190002846CDE7F8B50C0006460CD001464FF650 +:1081A000FF7500236A46284606F058F828B100BF3C +:1081B000FEF79DFDF8BD1020F8BD69462046FEF78C +:1081C000C7FD0028F8D1A078314600F00103284609 +:1081D000009A06F072F8EBE730B587B0144600223B +:1081E0000DF1080C05AD01928CE82C0007220092DD +:1081F0000A46014623884FF6FF7005F048FDBDF89A +:1082000014102180FEF773FD07B030BD70B50D4628 +:1082100004210AF0EDFC040000D1FFDF294604F13F +:108220001400BDE8704004F04DBD70B50D4604214A +:108230000AF0DEFC040000D1FFDF294604F114003F +:10824000BDE8704004F061BD70B50D4604210AF030 +:10825000CFFC040000D1FFDF294604F11400BDE883 +:10826000704004F079BD70B5054604210AF0C0FCE9 +:10827000040000D1FFDF214628462368BDE8704096 +:108280000122FEF703BF70B5064604210AF0B0FCD8 +:10829000040000D1FFDF04F1140004F004FD401DD0 +:1082A00020F0030511E0011D00880022431821463B +:1082B0003046FEF7EBFE00280BD0607CABB2684383 +:1082C00082B2A068011D0AF050FBA0684188002915 +:1082D000E9D170BD70B5054604210AF089FC04009F +:1082E00000D1FFDF214628466368BDE870400222C6 +:1082F000FEF7CCBE70B50E46054601F08DF90400C0 +:1083000000D1FFDF0120207266726580207820F0A6 +:108310000F00001D20F0F00040302070BDE87040DC +:1083200001F07DB910B50446012900D0FFDF2046D9 +:10833000BDE810400121FAF7CBB82DE9F04F97B016 +:108340004FF0000A0C008346ADF814A0D04619D0B7 +:10835000E06830B1A068A8B10188ADF81410A0F8A9 +:1083600000A05846FBF76FF8070043F2020961D0FE +:10837000387822285CD3042158460AF039FC0500DD +:1083800005D103E0102017B0BDE8F08FFFDF05F145 +:10839000140004F088FC401D20F00306A07801289A +:1083A00003D0022801D00720EDE7218807AA58460C +:1083B00005F0FFFD30BB07A805F007FE10BB07A8BE +:1083C00005F003FE48B99DF82600012805D1BDF847 +:1083D0002400A0F52451023902D04FF45050D2E7C6 +:1083E000E068B0B1CDE902A00720009005AACDF861 +:1083F00004A00492A2882188BDF81430584605F0E4 +:1084000046FC10B1FEF773FCBDE7A168BDF814008F +:1084100008809DF81F00C00602D543F20140B2E774 +:108420000B9838B1A1780078012905D080071AD4BB +:108430000820A8E74846A6E7C007F9D002208DF833 +:108440003C00A8684FF00009A0B1697C42887143E4 +:1084500091420FD98AB2B3B2011D0AF03CFA8046AC +:10846000A0F800A006E003208DF83C00D5F80080BD +:108470004FF001099DF8200010F0380F00D1FFDF08 +:108480009DF820001E49C0F3C200084497F823104D +:1084900010F8010C884201D90F2074E72088ADF84C +:1084A000400014A90095CDE90191434607220FA988 +:1084B0005846FEF715FE002891D19DF8500050B99E +:1084C000A078012807D1687CB3B2704382B2A86853 +:1084D000011D0AF014FA002055E770B5064615464E +:1084E0000C460846FEF7C2FB002805D12A46214665 +:1084F0003046BDE8704073E470BD12E59402002080 +:108500000656020070B51E4614460D0009D044B14F +:10851000616831B138B1FC49C988814203D0072074 +:1085200070BD102070BD2068FEF7A0FB0028F9D1B7 +:10853000324621462846BDE87040FFF746BA70B57E +:1085400015460C0006D038B1EF490989814203D0A5 +:10855000072070BD102070BD2068FEF787FB002843 +:10856000F9D129462046BDE87040D6E570B50646EB +:1085700086B00D4614461046F8F791FED0BB6068F1 +:10858000F8F7B4FEB0BBA6F57F40FF3803D0304605 +:10859000FAF759FF80B128466946FEF79BFC002890 +:1085A0000CD19DF810100F2008293DD2DFE801F012 +:1085B00008060606060A0A0843F2020006B070BD65 +:1085C0000320FBE79DF80210012908D1BDF8001037 +:1085D000B1F5C05FF2D06FF4C052D142EED09DF839 +:1085E000061001290DD1BDF80410A1F52851062966 +:1085F00007D200E029E0DFE801F0030304030303EE +:10860000DCE79DF80A1001290FD1BDF80810B1F57B +:10861000245FD3D0A1F60211B1F50051CED00129CB +:10862000CCD0022901D1C9E7FFDF606878B9002307 +:1086300005AA2946304605F011FE10B1FEF757FB9A +:10864000BCE79DF81400800601D41020B6E76188CD +:10865000224628466368FFF7BFFDAFE72DE9F043E8 +:10866000814687B0884614461046F8F718FE18B1C0 +:10867000102007B0BDE8F083002306AA4146484613 +:1086800005F0ECFD18B100BFFEF731FBF1E79DF8F6 +:108690001800C00602D543F20140EAE7002507278B +:1086A00005A8019500970295CDE9035062884FF621 +:1086B000FF734146484605F04CFD060013D1606843 +:1086C000F8F7EDFD60B960680195CDE902500097BB +:1086D0000495238862884146484605F03AFD0646DF +:1086E000BDF8140020803046CEE739B1864B0A88A9 +:1086F0009B899A4202D843F2030070471DE610B5E9 +:1087000086B0814C0423ADF81430638943B1A48949 +:108710008C4201D2914205D943F2030006B010BD4C +:108720000620FBE7ADF81010002100910191ADF893 +:10873000003002218DF8021005A9029104A90391CD +:10874000ADF812206946FFF7F8FDE7E72DE9FC4791 +:1087500081460D460846F8F77CFD88BB4846FAF787 +:1087600072FE5FEA00080AD098F80000222829D398 +:10877000042148460AF03CFA070005D103E043F221 +:108780000200BDE8FC87FFDF07F1140004F0A1FA46 +:1087900006462878012803D0022804D00720F0E7F5 +:1087A000B0070FD502E016F01C0F0BD0A8792C1DD6 +:1087B000C00709D0E08838B1A068F8F74AFD18B1C1 +:1087C0001020DEE70820DCE721882A780720B1F5B1 +:1087D000847F35D01EDC40F20315A1F20313A942B9 +:1087E00026D00EDCB1F5807FCBD003DCF9B10129B6 +:1087F00026D1C6E7A1F58073013BC2D0012B1FD162 +:1088000013E0012BBDD0022B1AD0032BB9D0042BBF +:1088100016D112E0A1F20912082A11D2DFE802F003 +:108820000B04041010101004ABE7022AA9D007E0D3 +:10883000012AA6D004E0320700E0F206002AA0DAFE +:10884000CDB200F0E9FE50B198F82300CDE9000563 +:10885000FA89234639464846FEF78DFC91E71120F8 +:108860008FE72DE9F04F8BB01F4615460C46834627 +:108870000026FAF7E8FD28B10078222805D2082062 +:108880000BB081E543F20200FAE7B80801D00720F7 +:10889000F6E7032F00D100274FF6FF79CCB1022D68 +:1088A00073D32046F8F722FD30B904EB0508A8F190 +:1088B0000100F8F71BFD08B11020E1E7AD1E38F804 +:1088C000028CAAB22146484605F01CFE40455CD108 +:1088D000ADB20D49B80702D58889401C00E00120DF +:1088E0001FFA80F8F80701D08F8900E04F4605AAEB +:1088F0004146584605F05DFB4FF0070A4FF000096E +:10890000DCB320460BE000009402002040881028D1 +:108910003BD8361D304486B2AE4236D2A01902880A +:108920004245F3D351E000BF9DF8170002074CD534 +:1089300094B304EB0608361DB8F80230B6B2102B1B +:1089400023D89A19AA4220D8B8F8002091421CD105 +:10895000C0061CD5CDE900A90DF1080C0AAAA11981 +:1089600048468CE80700B8F800100022584605F089 +:108970008EF920B1FEF7BBF982E726E005E0B8F8F2 +:108980000200BDF82810884201D00B2078E7B8F823 +:108990000200304486B207E0FFE7C00604D558461F +:1089A000FEF71CFC002888D19DF81700BDF81A10AE +:1089B00020F010008DF81700BDF81700ADF800008A +:1089C000FF235846009A05F078FC05A805F0FDFA4B +:1089D00018B9BDF81A10B942A6D9042158460AF0B0 +:1089E00007F9040000D1FFDFA2895AB1CDE900A93F +:1089F0004D46002321465846FEF7BDFB0028BBD15B +:108A0000A5813DE700203BE72DE9FF4F8BB01E46D7 +:108A100017000D464FF0000412D0B00802D0072016 +:108A20000FB0B1E4032E00D100265DB10846F8F77F +:108A300054FC28B93888691E0844F8F74EFC08B180 +:108A40001020EDE7C74AB00701D5D18900E0012128 +:108A5000F0074FF6FF7802D0D089401E00E0404674 +:108A600086B206AA0B9805F0A4FA4FF000094FF061 +:108A7000070B0DF1140A38E09DF81B00000734D5F0 +:108A8000CDF80490CDF800B0CDF80890CDE9039A68 +:108A9000434600220B9805F05CFB60BB05B3BDF8B4 +:108AA00014103A8821442819091D8A4230D3BDF890 +:108AB0001E2020F8022BBDF8142020F8022BCDE94F +:108AC00000B9CDE90290CDF810A0BDF81E10BDF898 +:108AD000143000220B9805F03CFB08B103209FE7FF +:108AE000BDF814002044001D84B206A805F06DFAFC +:108AF00020B10A2806D0FEF7FAF891E7BDF81E105B +:108B0000B142B9D934B17DB13888A11C884203D2B1 +:108B10000C2085E7052083E722462946404605F0DC +:108B2000F1FC014628190180A41C3C80002077E755 +:108B300010B50446F8F7B3FB08B1102010BD894802 +:108B4000C0892080002010BDF0B58BB00D460646D0 +:108B50001422002103A805F064FC01208DF80C000C +:108B60008DF8100000208DF81100ADF8145030463B +:108B7000FAF769FC48B10078222812D30421304664 +:108B80000AF036F8040005D103E043F202000BB00E +:108B9000F0BDFFDF04F11400074604F09AF88006E8 +:108BA00001D40820F3E7207C022140F0010020746A +:108BB00009A80094CDE90110072203A93046636893 +:108BC000FEF78EFA20B1217C21F001012174DEE74D +:108BD00029463046F9F76DFC08A9384604F068F8D4 +:108BE00000B1FFDFBDF82040172C01D2172000E0B4 +:108BF0002046A84201D92C4602E0172C00D21724A7 +:108C000021463046FFF711FB21463046F9F775F94A +:108C10000020BCE7F8B51C4615460E46069F0AF034 +:108C20001AF92346FF1DBCB231462A46009409F0CA +:108C300004FDF8BD70B50C4605460E220021204605 +:108C400005F0EFFB002020802DB1012D01D0FFDFCA +:108C500070BD062000E00520A07170BD10B54880F1 +:108C60000878134620F00F00001D20F0F00080303F +:108C70000C4608701422194604F1080005F0A7FB01 +:108C800000F0CDFC3748046010BD2DE9F047DFF857 +:108C9000D890491D064621F0030117460C46D9F825 +:108CA000000009F0E0FD050000D1FFDF4FF00008F3 +:108CB0003560A5F800802146D9F8000009F0D3FD01 +:108CC000050000D1FFDF7560A5F800807FB104FBCF +:108CD00007F1091D0BD0D9F8000009F0C4FD04000C +:108CE00000D1FFDFB460C4F80080BDE8F087C6F8AB +:108CF0000880FAE72DE9F0411746491D21F00302EB +:108D0000194D064601681446286809F0D7FD224629 +:108D10007168286809F0D2FD3FB104FB07F2121D0B +:108D200003D0B168286809F0C9FD042009F008FFE4 +:108D30000446042009F00CFF201A012804D12868F9 +:108D4000BDE8F04109F084BDBDE8F08110B50C46E6 +:108D500005F0FEF800B1FFDF2046BDE81040FDF74A +:108D6000C6BF0000940200201800002038B50C4651 +:108D70008288817B19B14189914200D90A462280BB +:108D8000C188121D90B26A4608F03EFFBDF800008F +:108D9000032800D30320C1B2208801F02AF838BD8F +:108DA00038B50C468288817B19B10189914200D97E +:108DB0000A462280C188121D90B26A4608F024FF3C +:108DC000BDF80000022800D30220C1B2208801F0C3 +:108DD00010F8401CC0B238BD2DE9FF5F82468B46BB +:108DE000FB4814460BF10302D0E90110CDE9021053 +:108DF00022F0030201A84FF49071019209F015FDD1 +:108E0000F44E002C02D1F449019A8A600199014480 +:108E10000191B57F05F1010504D1E8B20BF018FC12 +:108E200000B1FFDF019800EB0510C01C20F003012A +:108E300001915CB9707AB27A1044C2B20020087015 +:108E4000308C80B204F0E3FE00B1FFDF0198316A9C +:108E500008440190214601A800F08EFF8046019849 +:108E6000C01C20F003000190B37AF27A717A04B149 +:108E7000002009F0D0FD019908440190214601A885 +:108E800000F0C2FFD34800273D4690F801900CE067 +:108E9000284600F054FF064681788088F9F7C4F828 +:108EA00071786D1C00FB0177EDB24D45F0D1019852 +:108EB000C01C20F00300019004B100203946F9F7EE +:108EC000BEF80199002708440190C2483D4690F839 +:108ED00001900CE0284600F032FF0646C1788088F9 +:108EE000FEF707FC71786D1C00FB0177EDB24D4574 +:108EF000F0D10198C01C20F00300019004B10020C3 +:108F00003946FEF7FFFB01994FF000090844019034 +:108F1000B0484D4647780EE0284600F010FF064660 +:108F2000807B30B106F1080002F072F9727800FB24 +:108F300002996D1CEDB2BD42EED10198C01C20F02B +:108F40000300019004B10020A3494A78494602F089 +:108F500063F9019908440190214601A800F0BFFE81 +:108F60000198C01D20F007000190DAF8001081423E +:108F700004D3A0EB0B01B1F5803F04DB4FF00408F4 +:108F8000CAF8000004E0CAF80000B8F1000F03D0EE +:108F9000404604B0BDE8F09F74BB90490020019AA0 +:108FA0000DF042FCFBF7ECF98A4C207F0090607FCB +:108FB000012823D0002318B3002286480021103056 +:108FC000F8F716FA00B1FFDFE07FFEF748FF00B1C7 +:108FD000FFDF80484FF4F6720021403005F021FA9F +:108FE0007C480421403080F8E91180F8EA1106211C +:108FF00080F8EB11032101710020CAE70123DAE7B1 +:1090000002AADAE770B5734C06464034207804EBC8 +:109010004015E078083598B9A01990F8E8010028C3 +:109020000FD0A0780F2800D3FFDF20220021284690 +:1090300005F0F7F9687866F3020068700120E070C7 +:10904000284670BD2DE9F04105460C460027007802 +:10905000052190463E46B1EB101F00D0FFDF287A75 +:1090600050B101280ED0FFDFA8F800600CB12780B6 +:1090700066800020BDE8F0810127092674B1688868 +:10908000A08008E00227142644B16888A0802869DF +:10909000E060A88A2082287B2072E5E7A8F80060BB +:1090A000E7E730B54B4C0120002120706170207241 +:1090B00060720322A272E0726177217721732174BA +:1090C000052121831F216183607445A161610A210B +:1090D000A177E077404D4FF4B06020626868C11C12 +:1090E00021F00301814200D0FFDF6868606030BD7D +:1090F00030B5394C1568636810339D4202D20420A4 +:10910000136030BD334B5D785A6802EB0512107066 +:1091100051700320D080172090800120D070907073 +:10912000002090735878401C587060681030606060 +:10913000002030BD70B5064626480024457807E07B +:10914000204600F0FCFD0178B14204D0641CE4B27A +:10915000AC42F5D1002070BDF7B5074608780C4643 +:1091600010B3FFF7E7FF0546A7F12006202F06D032 +:10917000052E19D2DFE806F00F3838151A0000F076 +:10918000E9FD0DB1697800E00021401AA17880B2B4 +:109190000844FF2808D8A07830B1A088022831D22E +:1091A00002E0608817282DD20720FEBD207A48B340 +:1091B00061881729F8D3A1881729F5D3A179002947 +:1091C000F2D0E1790029EFD0402811D9ECE7000076 +:1091D0000C560200B00300201C00002000000020FC +:1091E0006E52463578000000242F0BD1207A48B10A +:1091F00061884FF6FB70814202D8A188814201D973 +:109200000420FEBD65B9207802AA0121FFF770FF96 +:109210000028F6D12078FFF78DFF050000D1FFDF91 +:10922000052E18D2DFE806F0030B0E081100A07817 +:109230006870A088E8800FE06088A8800CE0A078C3 +:10924000A87009E0A078E87006E054F8020FA86062 +:109250006068E86000E0FFDF0020FEBD1A2835D01E +:109260000DDC132832D2DFE800F01B31203131272A +:109270002723252D313129313131312F0F0030286D +:1092800002D003DC1E2821D1072070473A38092874 +:109290001CD2DFE800F0151B0F1B1B1B1B1B07005C +:1092A0000020704743F20400704743F20200704709 +:1092B000042070470D2070470F207047082070472A +:1092C0001120704713207047062070470320704715 +:1092D00010B5007800F0010008F088FCBDE81040EF +:1092E000BCE710B5007800F0010008F088FCBDE88C +:1092F0001040B3E70EB5017801F001018DF80010C0 +:10930000417801F001018DF801100178C1F34001AD +:109310008DF802104178C1F340018DF803100178F7 +:1093200089088DF80410417889088DF80510817836 +:109330008DF80610C1788DF8071000798DF80800B7 +:10934000684607F018FDFFF789FF0EBD2DE9F84FBD +:10935000DFF8F883FE4C00264FF490771FE00120E1 +:1093600000F095FD0120FFF74DFE05463946D8F87F +:10937000080009F078FA686000B9FFDF686807F054 +:10938000C8FBB0B12846FAF73EFB284600F085FD41 +:1093900028B93A466968D8F8080009F08FFA94F9B4 +:1093A000E9010428DBDA022009F0CAFB07460025A0 +:1093B000A5E03A466968D8F8080009F07FFAF2E7B4 +:1093C000B8F802104046491C89B2A8F80210B94208 +:1093D00001D3002141800221B8F8020009F008FC05 +:1093E000002864D0B8F80200694608F06FFBFFF768 +:1093F00035FF00B1FFDF9DF8000078B1B8F802003A +:1094000009F03BFD5FEA000900D1FFDF484608F0A4 +:10941000A8FF18B1B8F8020002F0C4F9B8F80200C9 +:1094200009F019FD5FEA000900D1FFDF484608F0A6 +:1094300090FFE0BB0321B8F8020009F0D9FB5FEA16 +:10944000000B47D1FFDF45E0DBF8100010B10078DA +:10945000FF2849D0022000F01AFD0220FFF7D2FDBC +:109460008246484609F081F8CAF8040000B9FFDFD7 +:10947000DAF8040009F049F9002100900170B8F809 +:1094800002105046AAF8021002F092F8484609F07D +:109490003EF900B9FFDF504600F0FFFC18B99AF81A +:1094A0000100000704D50098CBF8100012E024E07A +:1094B000DBF8100038B10178491C11F0FF01017090 +:1094C00008D1FFDF06E000221146484600F005FC07 +:1094D00000B9FFDF94F9EA01022805DBB8F80200C1 +:1094E00002F02DF80028AFD194F9E901042804DB3B +:1094F000484609F070F900B101266D1CEDB2BD427D +:1095000004D294F9EA010228BFF65AAF002E7FF484 +:1095100022AFBDE8F84F032000F0B9BC10B58B4C6A +:10952000E06008682061AFF2DB10F9F7CEFC6070F4 +:1095300010BD87480021403801708448017085497A +:109540004160704770B505464FF080500C46D0F82A +:10955000A410491C05D1D0F8A810C9430904090C6E +:109560000BD050F8A01F01F0010129704168216063 +:109570008068A080287830B970BD062120460CF0A4 +:10958000D8FD01202870607940F0C000607170BD86 +:1095900070B54FF080540D46D4F88010491C0BD1A3 +:1095A000D4F88410491C07D1D4F88810491C03D181 +:1095B000D4F88C10491C0CD0D4F880100160D4F879 +:1095C00084104160D4F888108160D4F88C10C16098 +:1095D00002E010210CF0ADFDD4F89000401C0BD13E +:1095E000D4F89400401C07D1D4F89800401C03D153 +:1095F000D4F89C00401C09D054F8900F2860606893 +:109600006860A068A860E068E86070BD2846BDE8B2 +:10961000704010210CF08DBD4D480079F2E470B51A +:109620004B4CE07830B3207804EB4010407A00F0E7 +:109630000700204490F9E801002800DCFFDF2078D3 +:10964000002504EB4010407A00F00700011991F862 +:10965000E801401E81F8E8012078401CC0B220706B +:109660000F2800D12570A078401CA0700CF058FC89 +:10967000E57070BDFFDF70BD3EB50546032109F002 +:10968000B7FA0446284609F0E6FB054604B9FFDFB1 +:10969000206918B10078FF2800D1FFDF01AA6946D0 +:1096A000284600F01AFB60B9FFDF0AE0002202A999 +:1096B000284600F012FB00B9FFDF9DF8080000B15A +:1096C000FFDF9DF80000411E8DF80010EED22069EA +:1096D0000199884201D1002020613EBD70B5054648 +:1096E000A0F57F400C46FF3800D1FFDF012C01D0F0 +:1096F000FFDF70BDFFF790FF040000D1FFDF20788F +:1097000020F00F00401D20F0F000503020706580E8 +:109710000020207201202073BDE870407FE72DE912 +:10972000F04116460D460746FFF776FF040000D1CC +:10973000FFDF207820F00F00401D20F0F0005030B7 +:109740002070678001202072286805E01C0000203E +:10975000F0030020381400202061A888A08226731E +:10976000BDE8F0415BE77FB5FFF7E4FC040000D102 +:10977000FFDF02A92046FFF7F9FA054603A92046B4 +:10978000FFF70EFB8DF800508DF80100BDF80800C2 +:10979000001DADF80200BDF80C00001DADF804007E +:1097A000E088ADF80600684608F00AFA002800D004 +:1097B000FFDF7FBD2DE9F05FF64E8146307810B1B6 +:1097C0000820BDE8F09F4846F7F769FD08B1102072 +:1097D000F7E7F14C207808B9FFF763FCA17A607ACB +:1097E0004D460844C4B200F0B5FAA04207D2201A90 +:1097F000C1B22A460020FFF77BFC0028E1D1716846 +:10980000E548C91C002721F003017160B3463E46BC +:109810003D46BA463C4690F801800AE0204600F0FA +:109820008EFA4178807B0E4410FB0155641CE4B233 +:109830007F1C4445F2D10AEB870000EBC600D64EF0 +:1098400000EB85005C46F17A012200EB8100DBF839 +:109850000410451829464846FFF7BEFA070012D003 +:109860000020FFF767FC05000BD005F113006168CD +:1098700020F00300884200D0FFDF7078401E707037 +:10988000656038469DE7002229464846FFF7A4FA5E +:1098900000B1FFDFD9F8000060604FF6FF70608014 +:1098A0000120207000208CE72DE9F0410446B948E2 +:1098B00017460E46007810B10820BDE8F081084632 +:1098C000F7F7C7FC08B11020F7E7B34D287808B9BF +:1098D000FFF7E7FB601E1E2807D8012C22D1307845 +:1098E000FE281FD8A8770020E7E7A4F120001F2852 +:1098F00005D8E0B23A463146BDE8F0412CE4A4F187 +:1099000040001F2805D831462046BDE8F04100F050 +:10991000ECBAA4F1A0001F2804D80020A02C03D08A +:10992000A12C06D00720C8E7317801F00101E977C2 +:10993000C3E731680922F82901D38B0701D010460B +:10994000BBE76B7C03F00303012B04D16B8BD73394 +:109950009CB28C42F3D82962AFE72DE9F0478146EB +:109960000E460846F7F79BFC48B94846F7F7B5FCA2 +:1099700028B909F1030020F00301494502D0102065 +:10998000BDE8F08784484FF0000A4030817869B123 +:109990004178804600EB4114083437883246002174 +:1099A000204600F088FA050004D027E0A6F800A0C1 +:1099B0000520E5E7B9F1000F24D03088B84201D97D +:1099C0000C251FE0607800F00705284600F05FFADC +:1099D00008EB0507324697F8E8014946401C87F82E +:1099E000E801204607F5F47700F065FA0546387877 +:1099F000401E3870032000F04AFA2DB10C2D01D022 +:109A0000A6F800A02846BBE76078624E00F0070188 +:109A1000012923D002290CD0032934D0FFDF98F884 +:109A200001104046491CC9B288F801100F2935D0F1 +:109A300036E0616821B1000702D46088FFF71CFEA0 +:109A400098F8EA014746012802D17078F9F75CFAE4 +:109A500097F9EA010428E2DBFFDFE0E7616821B162 +:109A60004FF49072B06808F029FF98F8E901474672 +:109A7000032802D17078F9F747FA97F9E901042829 +:109A8000CDDBFFDFCBE7C00602D56088FFF7F4FD32 +:109A900098F9EB010628C2DBFFDFC0E780F801A0E0 +:109AA0008178491E8170617801F0070101EB08009F +:109AB00090F8E811491C80F8E811A3E770B50C464E +:109AC0000546F7F7C6FB18B92046F7F7E8FB08B1DB +:109AD000102070BD28460AF0F2FD207008B1002069 +:109AE00070BD042070BD70B505460AF001FEC4B219 +:109AF0002846F7F7F2FB08B1102070BD35B1287881 +:109B00002C7018B1A04201D0072070BD2046FDF78F +:109B10005DFE052805D10AF0EEFD012801D00020E8 +:109B200070BD0F2070BD70B5044615460E46084640 +:109B3000F7F78FFB18B92846F7F7B1FB08B11020EB +:109B400070BD022C03D0102C01D0092070BD2A4614 +:109B5000314620460AF0F9FD0028F7D0052070BDF7 +:109B600070B514460D460646F7F773FB38B928461C +:109B7000F7F795FB18B92046F7F7AFFB08B11020AF +:109B800070BD2246294630460AF0E1FD0028F7D094 +:109B9000072070BD1C000020B00300203EB5044625 +:109BA000F7F77DFB08B110203EBD684607F057F877 +:109BB000FFF754FB0028F7D19DF806002070BDF890 +:109BC00008006080BDF80A00A08000203EBD70B58E +:109BD00005460C460846F7F780FB20B93CB12068E3 +:109BE000F7F75DFB08B1102070BDA08828B12146B1 +:109BF0002846BDE87040FDF741BE092070BD70B534 +:109C000004460D460846F7F724FB90BB601E1E284D +:109C10000ED8032C01D9072070BD04B9FFDFFD4821 +:109C200000EB840050F8041C2846BDE8704008474B +:109C3000A4F120001F2805D829462046BDE8704021 +:109C4000FAF70BBBA4F160001F2805D8294620466F +:109C5000BDE87040F8F7A9BCF02C0BD0BF2CDAD1CE +:109C6000A878298800F0010001F058FB78B10020A5 +:109C700070BD03E0A868F7F7ECFA08B11020F7E729 +:109C8000284608F002F8BDE87040FFF7E7BA082060 +:109C9000EEE770B504460D460846F7F700FB30B90D +:109CA000601E1E280FD82846F7F7D3FA08B11020F7 +:109CB000DEE7012C03D0022C01D0032C01D10620B9 +:109CC000D6E70720D4E7A4F120001F28F9D82946B9 +:109CD0002046BDE87040FAF733BB08F009BB7CB5FD +:109CE0000446CD48007B00F0010511BB04F0BBFB2E +:109CF0000DB1226800E00022C8484178C06806F033 +:109D0000E3FCC6481030C0788DF8000010B101287F +:109D100002D004E0012000E000208DF80000684639 +:109D200007F00AF8BB4824380068019001A807F042 +:109D300043FD002D02D02068283020607CBD30B566 +:109D4000B54D04466878A04200D8FFDF686800EB94 +:109D5000041030BD70B5B04800252C46467807E0A9 +:109D60002046FFF7ECFF4078641C2844C5B2E4B2FB +:109D7000B442F5D128467BE72DE9F0410C46074671 +:109D80004FF0000800F0EDF80646FF2801D94FF02B +:109D900013083868C01C20F003023A6054EA080433 +:109DA00021D19D48F3B2072124300CF0CFFB09E00C +:109DB000072C10D2DFE804F0060408080A040600A5 +:109DC000974804E0974802E0974800E097480CF075 +:109DD000DDFB054600E0FFDFA54200D0FFDF641C8D +:109DE000E4B2072CE4D3386800EB06103860404634 +:109DF00063E5021D5143452900D245210844C01C9A +:109E0000B0FBF2F0C0B270472DE9FC5F0646824815 +:109E10004FF000088B464746444690F8019022E0F8 +:109E20002046FFF78CFF050000D1FFDF6878694608 +:109E30003844C7B22846FEF799FF824601A9284652 +:109E4000FEF7AEFF0346BDF804005246001D81B286 +:109E5000BDF80000001D80B208F048FF6A78641C5D +:109E600000FB0288E4B24C45DAD13068C01C20F017 +:109E700003003060BBF1000F00D00020424639469D +:109E800008F042FF316808443060BDE8FC9F624939 +:109E9000403108710020C87070475F494031CA786E +:109EA0002AB10A7801EB42110831814201D0012028 +:109EB0007047002070472DE9F041064600781546AE +:109EC00000F00F0400201080601E0F46052800D30C +:109ED000FFDF50482A46183800EB8400394650F816 +:109EE000043C3046BDE8F04118472DE9F0414A4EA8 +:109EF0000C46402806D0412823D042282BD04328A6 +:109F000006D123E0A07861780D18E178814201D96B +:109F10000720D2E42078012801D91320CDE4FF2DB9 +:109F200008D80AF07FFD07460BF0B2FF381A801EF2 +:109F3000A84201DA1220C0E42068B06020793073B2 +:109F40000DE0BDE8F041084600F036B80878022878 +:109F5000DED8307703E008780228D9D8707700205F +:109F6000ABE42DE9F047DFF8B0900026344699F8CD +:109F7000090099F80A2099F801700244D5B299F8BD +:109F80000B20104400F0FF0808E02046FFF7D7FE42 +:109F9000817B407811FB0066641CE4B2BC42F4D1C2 +:109FA00099F8091099F80A0029442944414400B15C +:109FB000012008443044E3E438B50446407800F01A +:109FC0000300012803D002280BD0072038BD6068A9 +:109FD00058B1F7F78BF9D0B96068F7F77EF920B977 +:109FE00015E06068F7F735F988B969462046FCF74F +:109FF0004BF80028EAD1607800F00300022817D15E +:10A000009DF80000A0B16068F7F767F980B11020F3 +:10A0100038BD000030560200B00300201C000020B4 +:10A020005B41000039B30000DD2F00004344010014 +:10A030006189F8290DD8208988420AD8607800F013 +:10A0400003020A48012A06D1D731026A89B28A423C +:10A0500001D20920DCE794E80E0000F1100585E844 +:10A060000E000AB9002101830020D1E7B0030020CF +:10A070002DE9F041074614468846084601F08AFD5E +:10A08000064608EB88001C22796802EBC0000D1818 +:10A09000688C58B14146384601F08BFD014678681E +:10A0A0000078C200082305F120000CE0E88CA8B17C +:10A0B0004146384601F084FD01467868082340781F +:10A0C000C20005F1240008F050FC38B106212172CD +:10A0D0006681D0E90010C4E9031009E02878092856 +:10A0E0000BD00520207266816868E060002028702F +:10A0F0002046BDE8F04101F02EBD072020726681A8 +:10A10000F4E72DE9F04116460D460746406801EB9D +:10A1100085011C2202EBC1014418204601F072FDAA +:10A1200040B10021708865F30F2160F31F410620C4 +:10A130000CF0E6FA09202070324629463846BDE880 +:10A14000F04195E72DE9F0410E46074600241C2119 +:10A15000F07816E004EB8403726801EBC303D25C71 +:10A160006AB1FFF759FA050000D1FFDF6F802A4678 +:10A1700021463046FFF7C5FF0120BDE8F081641C91 +:10A18000E4B2A042E6D80020F7E770B50646002406 +:10A190001C21C0780AE000BF04EB8403726801EB65 +:10A1A000C303D5182A782AB1641CE4B2A042F3D8BC +:10A1B000402070BD28220021284604F032F9706842 +:10A1C00080892881204670BD70B5034600201C257B +:10A1D000DC780CE000EB80065A6805EBC6063244DA +:10A1E000167816B1128A8A4204D0401CC0B284424A +:10A1F000F0D8402070BDF0B5044600201C26E5785C +:10A200000EE000BF00EB8007636806EBC7073B4426 +:10A210001F788F4202D15B78934204D0401CC0B2B9 +:10A220008542EFD84020F0BD0078032801D00020FF +:10A230007047012070470078022801D00020704745 +:10A24000012070470078072801D0002070470120C6 +:10A2500070472DE9F041064688461078F17815469A +:10A26000884200D3FFDF2C781C27641CF078E4B20E +:10A27000A04201D8201AC4B204EB8401706807EB35 +:10A28000C1010844017821B14146884708B12C70CA +:10A2900073E72878A042E8D1402028706DE770B5B8 +:10A2A00014460B880122A240134207D113430B80AE +:10A2B00001230A22011D08F022FB047070BD2DE964 +:10A2C000FF4F81B00878DDE90E7B9A4691460E4635 +:10A2D00040072CD4019808F0D0FD040000D1FFDF26 +:10A2E00007F1040820461FFA88F107F00DFF05006A +:10A2F00000D1FFDF204629466A4608F058F9009849 +:10A30000A0F80370A0F805A0284608F0FEF901782F +:10A3100069F306016BF3C711017020461FFA88F13B +:10A3200007F035FF00B9FFDF019806F03CF906EBB6 +:10A330000900017F491C017705B0BDE8F08F2DE9C8 +:10A34000F84F0E469A4691460746032108F050FC06 +:10A350000446008DDFF8B885002518B198F8000094 +:10A36000B0421ED1384608F088FD070000D1FFDF5B +:10A3700009F10401384689B207F0C6FE050010D085 +:10A38000384629466A4608F012F9009800210A4624 +:10A390000180817006F0C3F90098C01DCAF8000062 +:10A3A00021E098F80000B04216D104F1260734F8F5 +:10A3B000341F012000FA06F911EA090F00D0FFDF6F +:10A3C0002088012340EA090020800A22391D3846EE +:10A3D00008F0B0FA067006E0324604F1340104F1E8 +:10A3E0002600FFF75CFF0A2188F800102846BDE828 +:10A3F000F88FFEB515460C46064602AB0C22062128 +:10A40000FFF79DFF002827D00299607812220A707A +:10A41000801C487008224A80A07002982988052371 +:10A4200081806988C180A9880181E98841810025EE +:10A430000C20CDE90005062221463046FFF73FFFFC +:10A440002946002266F31F41F02310460CF0AEF8B7 +:10A450006078801C60700120FEBDFEB514460D467C +:10A460000622064602AB1146FFF769FF002812D00C +:10A47000029B132000211870A87858700220588081 +:10A480009C800620CDE9000102460523294630467E +:10A49000FFF715FF0120FEBD2DE9FE430C46804667 +:10A4A00044E002AB0E2207214046FFF748FF002898 +:10A4B00041D060681C2267788678BF1C06EB860155 +:10A4C00002EBC101451802981421017047700A215E +:10A4D0004180698A0181E98A4181A9888180A989AD +:10A4E0008181304601F056FB029905230722C8807E +:10A4F0006F700420287000250E20CDE9000521464C +:10A500004046FFF7DCFE294666F30F2168F31F4142 +:10A51000F023002206200CF049F86078FD49801CE9 +:10A52000607062682046921CFFF793FE6068807836 +:10A530004028B6D10120BDE8FE83FEB50D46064693 +:10A5400038E002AB0E2207213046FFF7F8FE002864 +:10A5500035D068681C23C17801EB810203EBC2028D +:10A560008418029815220270627842700A22428092 +:10A57000A2894281A2888281084601F00BFB014634 +:10A5800002988180618AC180E18A0181A088B8B186 +:10A590000020207000210E20CDE9000105230722B4 +:10A5A00029463046FFF78BFE6A68DB492846D21CF5 +:10A5B000FFF74FFE6868C0784028C2D10120FEBD79 +:10A5C0000620E6E72DE9FE430C46814644E020469E +:10A5D00001F002FBD0B302AB082207214846FFF787 +:10A5E000AEFE0028A7D060681C2265780679AD1CF5 +:10A5F00006EB860102EBC10147180298B7F81080FC +:10A6000006210170457004214180304601F0C2FAF4 +:10A610000146029805230722C180A0F804807D70BE +:10A62000082038700025CDE9000521464846FFF78F +:10A6300046FE294666F30F2169F31F41F0230022ED +:10A6400006200BF0B3FF6078801C60706268B3492D +:10A650002046121DFFF7FDFD606801794029B6D143 +:10A66000012068E72DE9F34F83B00D4691E02846BD +:10A6700001F0B2FA00287DD068681C2290F806A08C +:10A680000AEB8A0102EBC10144185146284601F049 +:10A6900097FAA178CB0069684978CA00014604F1AD +:10A6A000240008F07EF907468188E08B4FF000090E +:10A6B000091A8EB208B1C84607E04FF001085046AB +:10A6C00001F053FA08B9B61CB6B2208BB04200D8DC +:10A6D0000646B34602AB324607210398FFF72FFE2A +:10A6E000060007D0B8F1000F0BD0504601F03DFA3C +:10A6F00010B106E000201FE60299B8884FF0020969 +:10A7000008800196E28B3968ABEB09001FFA80F8EC +:10A710000A4403984E46009208F0AFFBDDE90021A1 +:10A72000F61D4346009607F0BCFFE08B404480B224 +:10A73000E083B988884201D1012600E00026CDE9F6 +:10A7400000B6238A072229460398FFF7B8FD504632 +:10A7500001F00BFA10B9E089401EE08156B1A078F3 +:10A76000401CA0706868E978427811FB02F1CAB217 +:10A77000012300E007E081690E3008F0C0F880F89E +:10A7800000A00020E0836A6865492846921DFFF713 +:10A7900060FD6868817940297FF469AF0120CBE5CD +:10A7A00070B5064648680D4614468179402910D197 +:10A7B00004EB84011C2202EBC101084401F043FABE +:10A7C000002806D06868294684713046BDE870408C +:10A7D00048E770BDFEB50C460746002645E020461A +:10A7E00001F0FAF9D8B360681C22417901EB8101CC +:10A7F00002EBC1014518688900B9FFDF02AB0822EE +:10A8000007213846FFF79BFD002833D00299607876 +:10A8100016220A70801C48700420488060684079C5 +:10A8200001F0B8F901460298052307228180698961 +:10A83000C1800820CDE9000621463846FFF73FFDDC +:10A840006078801C6070A88969890844B0F5803FF1 +:10A8500000D3FFDFA88969890844A8816E816268F6 +:10A8600030492046521DFFF7F4FC606841794029C9 +:10A87000B5D10120FEBD30B5438C458BC3F3C70471 +:10A88000002345B1838B641EED1AC38A6D1E1D44DF +:10A8900095FBF3F3E4B22CB1008918B1A04200D8C3 +:10A8A000204603444FF6FF70834200D303461380D3 +:10A8B0000C7030BD2DE9FC41074616460D46486830 +:10A8C00002EB86011C2202EBC10144186A4601A971 +:10A8D0002046FFF7D0FFA089618901448AB2BDF804 +:10A8E0000010914212D0081A00D5002060816868DB +:10A8F000407940280AD1204601F09BF9002805D074 +:10A900006868294646713846FFF764FFBDE8FC8158 +:10A910003000002029A2000037A2000045A200005C +:10A9200047BC000033BC00002DE9FE4F0F468146B6 +:10A9300015465088032108F05BF90190B9F8020030 +:10A9400001F01BF982460146019801F045F9002803 +:10A9500024D001981C2241680AEB8A0002EBC00057 +:10A960000C18204601F04EF9002817D1B9F8000064 +:10A97000E18A88420ED8A18961B1B8420ED1002681 +:10A980005146019801F015F9218C01EB0008608B0C +:10A9900030B114E0504601F0E8F8A0B3BDE8FE8FF6 +:10A9A000504601F0E2F808B1678308E0022FF5D3C2 +:10A9B000B9F804006083618A884224D80226B81B53 +:10A9C00087B2B8F80400A28B801A002814DD8742F1 +:10A9D00000DA38461FFA80FB688869680291D8F867 +:10A9E00000100A44009208F036FAF61D009A5B4601 +:10A9F0000299009607F021FEA08B384480B2A08314 +:10AA0000618B884207D96888019903B05246BDE836 +:10AA1000F04F01F035B91FD14FF009002872B9F895 +:10AA200002006881D8E90010C5E90410608BA88194 +:10AA3000284601F090F85146019801F0BAF8014615 +:10AA40000198082340680078C20004F1200007F054 +:10AA50008CFF0020A0836083504601F086F810B977 +:10AA6000A089401EA0816888019903B00AF0FF0206 +:10AA7000BDE8F04F1EE72DE9F041064615460F46AA +:10AA80001C461846F6F7E5FB18B92068F6F707FCF0 +:10AA900010B11020BDE8F0817168688C0978B0EBC6 +:10AAA000C10F01D31320F5E73946304601F081F894 +:10AAB0000146706808230078C20005F1200007F005 +:10AAC0001EFFD4E90012C0E900120020E2E710B531 +:10AAD0000446032108F08CF80146007800F00300DA +:10AAE000022805D02046BDE8104001F1140280E4A0 +:10AAF0008A8A2046BDE81040AFE470B504460321C1 +:10AB000008F076F8054601462046FFF75BFD002871 +:10AB100016D029462046FFF75DFE002810D02946B2 +:10AB20002046FFF70AFD00280AD029462046FFF7F5 +:10AB3000B3FC002804D029462046BDE8704091E5CA +:10AB400070BD2DE9F0410C4680461EE0E178427868 +:10AB500011FB02F1CAB2816901230E3007F005FF33 +:10AB6000077860681C22C179491EC17107EB870113 +:10AB7000606802EBC10146183946204601F02CF806 +:10AB800018B1304601F037F820B16068C17900296A +:10AB9000DCD17FE7FEF740FD050000D1FFDF0A2092 +:10ABA0002872384600F0F6FF68813946204601F0E9 +:10ABB00007F80146606808234078C20006F12400C7 +:10ABC00007F0D3FED0E90010C5E90310A5F8028014 +:10ABD000284600F0C0FFB07800B9FFDFB078401E13 +:10ABE000B07057E770B50C460546032108F000F831 +:10ABF00001464068C2792244C2712846BDE87040CF +:10AC00009FE72DE9FE4F8246507814460F464FF0DD +:10AC1000000800284FD0012807D0022822D0FFDFEB +:10AC20002068B8606068F860B8E602AB0E220821C0 +:10AC30005046FFF784FB0028F2D002981521052327 +:10AC40000170217841700A214180C0F80480C0F869 +:10AC50000880A0F80C80628882810E20CDE900086F +:10AC6000082221E0A678304600F094FF054606EB66 +:10AC700086012C22786802EBC1010822465A02ABF9 +:10AC800011465046FFF75BFB0028C9D00298072108 +:10AC90000170217841700421418008218580C6809F +:10ACA000CDE9001805230A4639465046FFF707FB51 +:10ACB00087F8088072E6A678022516B1022E13D016 +:10ACC000FFDF2A1D914602AB08215046FFF737FBF4 +:10ACD0000028A5D002980121022E01702178417030 +:10ACE0004580868002D005E00625EAE7A188C1807C +:10ACF000E1880181CDE900980523082239465046B4 +:10AD0000D4E710B50446032107F072FF014600F1B5 +:10AD100008022046BDE8104073E72DE9F04F0F46CA +:10AD200005468DB014465088032107F061FF4FF0AF +:10AD300000088DF814800646ADF81680042F7BD3EA +:10AD40006A78002A78D028784FF6FF794FF01C0AED +:10AD5000132834D008DC012871D006284AD00728EF +:10AD60006ED012280ED106E014286AD0152869D0BA +:10AD7000162807D1AAE10C2F04D1307800F0030186 +:10AD8000022907D0CDF80880CDF80C8068788DF8BE +:10AD900008004CE040F0080030706878B070012086 +:10ADA0008DF81400A888ADF81800E888ADF81A00EE +:10ADB0002889ADF81C006889ADF81E0011E1B07853 +:10ADC000904239D13078010736D5062F34D120F0A2 +:10ADD000080030706088414660F31F4100200BF08E +:10ADE0008FFC02208DF81400ADF81890A888ADF8FB +:10ADF0001A00F6E0082F1FD1A888EF88814600F0DE +:10AE0000BCFE80460146304600F0E6FE18B14046E2 +:10AE100000F0ABFEB8B1FC48D0E90010CDE902105B +:10AE20006878ADF80C908DF80800ADF80E70608869 +:10AE300002AA3146FFF7E5FE0DB0BDE8F08FB6E09F +:10AE40001EE041E0ECE0716808EB88002C2202EB88 +:10AE5000C000085AB842EFD1EB4802AAD0E902106C +:10AE6000CDE9021068788DF8080008F0FF058DF82C +:10AE70000A5060883146FFF7C4FE224629461FE08B +:10AE8000082FD9D1B5F80480E88800F076FE07468F +:10AE90000146304600F0A0FE0028CDD007EB870227 +:10AEA00071680AEBC2000844028A4245C4D10178A5 +:10AEB0000829C1D1407869788842BDD1F9B22246CB +:10AEC0003046FFF71EF9B7E70E2F7FF45BAFE98836 +:10AED0006F898B46B5F808903046FFF775F9ABF1EE +:10AEE0004001402901D309204AE0B9F1170F01D3ED +:10AEF000172F01D20B2043E040280ED000EB800238 +:10AF000071680AEBC20008440178012903D1407836 +:10AF10006978884290D00A2032E03046FFF735F950 +:10AF2000014640282BD001EB810372680AEBC30075 +:10AF300002EB0008012288F800206A7888F80120D6 +:10AF40007068AA884089B84200D93846AD89032381 +:10AF50002372A282E7812082A4F80C9065820846C1 +:10AF600000F018FE6081A8F81490A8F81870A8F8EE +:10AF70000E50A8F810B0204600F0EDFD5CE704206C +:10AF800005212172A4F80A80E081012121739E49E4 +:10AF9000D1E90421CDE9022169788DF80810ADF8D6 +:10AFA0000A00608802AA3146FFF72BFEE3E7062F6E +:10AFB00089D3B07890421AD13078010717D520F0A4 +:10AFC000080030706088414660F31F4100200BF09C +:10AFD00097FB02208DF81400A888ADF81800ADF892 +:10AFE0001A906088224605A9F9F7E3F824E70421BE +:10AFF0003046FFF700F905464028BFD00220830302 +:10B00000009022462946304600F003FE4146608803 +:10B0100065F30F2160F31F4106200BF071FB0BE776 +:10B020000E2FABD104213046FFF7E5F881464028CA +:10B03000A4D04146608869F30F2160F31F410620C8 +:10B040000BF05EFBA8890B906889099070682F89C6 +:10B050004089B84200D938468346B5F80680A888AA +:10B060000A90484600F096FD60810B9818B10220C6 +:10B0700000900B9B24E0B8F1170F1ED3172F1CD3A1 +:10B080000420207209986082E781A4F810B0A4F827 +:10B090000C8009EB890271680AEBC2000D18DDE92A +:10B0A0000913A5F81480A5F818B0E9812B82204671 +:10B0B00000F051FD06202870BEE601200B23009011 +:10B0C00022464946304600F0A4FDB5E6082F8DD152 +:10B0D000A9883046FFF778F80746402886D000F068 +:10B0E00044FD00289BD107EB870271680AEBC20080 +:10B0F0000844804600F086FD002890D1ED88B8F81D +:10B100000E002844B0F5803F05D360883A463146AA +:10B1100000F0B6FD90E6002DCED0A8F80E006088B5 +:10B120003A463146FFF73CFB08202072384600F0D3 +:10B1300031FD6081A5811EE72DE9F05F0C460128F5 +:10B140001FD0957992F8048092F8056005EB85018F +:10B150001F2202EBC10121F0030B08EB060111FBDA +:10B1600005F14FF6FF7202EAC10909F1030115FB6F +:10B170000611264F21F0031ABB6840B101283ED1C9 +:10B1800025E06168E57891F800804E78DEE7594661 +:10B19000184607F068FB606000B9FFDF5A460021DF +:10B1A000606803F03EF9E5705146B86807F05BFB54 +:10B1B0006168486100B9FFDF6068426902EB09011C +:10B1C0008161606880F800806068467017E06068A0 +:10B1D00052464169184607F071FB5A466168B868E3 +:10B1E00007F06CFB032007F0ABFC0446032007F0DC +:10B1F000AFFC201A012802D1B86807F029FB0BEB3D +:10B200000A00BDE8F09F00003C560200300000201C +:10B210000246002102208FE7F7B5FF4C0A201646B0 +:10B220002070009860B100254FEA0D0007F0FDFA8C +:10B230000021A1706670002D01D10099A160FEBDB2 +:10B2400001250020F2E770B50C4615463822002192 +:10B25000204603F0E6F8012666700A22002104F178 +:10B260001C0003F0DEF805B9FFDF297A207861F3CE +:10B2700001002070A87900282DD02A462146002000 +:10B28000FFF75AFF61684020E34A88706168C87020 +:10B2900061680871616848716168887161682888AF +:10B2A0000881616868884881606886819078002894 +:10B2B00011D061680620087761682888C8856168B0 +:10B2C0002888488660680685606869889288018653 +:10B2D00081864685828570BDC878002802D000220C +:10B2E000012029E7704770B50546002165F31F412D +:10B2F00000200BF005FA0321284607F079FC040032 +:10B3000000D1FFDF21462846FEF71CFF002804D0AD +:10B31000207840F010002070012070BD70B5054607 +:10B320000C46032007F0FEFB08B1002070BDBA48B0 +:10B3300085708480012070BD2DE9FF4180460E4656 +:10B340000F0CFEF769F9050007D06F80032138461E +:10B3500007F04EFC040008D106E004B03846BDE812 +:10B36000F0411321F9F758BBFFDF5FEA080005D071 +:10B37000B8F1060F18D0FFDFBDE8FF8120782A461C +:10B3800020F0080020700020ADF8020002208DF8A7 +:10B3900000004FF6FF70ADF80400ADF806006946F6 +:10B3A0003846F8F706FFE7E7C6F3072101EB81020D +:10B3B0001C23606803EBC202805C042803D00828C9 +:10B3C0000AD0FFDFD8E7012000904FF440432A461F +:10B3D000204600F01EFCCFE704B02A462046BDE818 +:10B3E000F041FEF78EBE2DE9F05F0546408900274B +:10B3F00090460C463E46824600F0BFFB8146287AC6 +:10B40000C01E08286BD2DFE800F00D041920583662 +:10B410003C4772271026002C6CD0D5E90301C4E903 +:10B4200002015CE070271226002C63D00A2205F18D +:10B430000C0104F1080002F0CAFF50E071270C264D +:10B44000002C57D0E868A06049E0742710269CB310 +:10B45000D5E90301C4E902016888032107F0C8FBAC +:10B460008346FEF7D9F80246688850804946584618 +:10B47000FEF7FEFD33E075270A26ECB1A88920818E +:10B480002DE076271426BCB105F10C0004F1080369 +:10B4900007C883E8070022E07727102664B1D5E9C2 +:10B4A0000301C4E902016888032107F0A1FB0146FA +:10B4B0006888FFF746FB12E01CE073270826CCB132 +:10B4C0006888032107F094FB01460078C00606D582 +:10B4D0006888FEF737FE10B96888F8F778FAA8F898 +:10B4E00000602CB12780A4F806A066806888A08040 +:10B4F000002086E6A8F80060FAE72DE9FC410C463A +:10B500001E4617468046032107F072FB05460A2CAB +:10B510000AD2DFE804F00505050505050909090754 +:10B52000042303E0062301E0FFDF0023CDE90076DA +:10B53000224629464046FEF7C2FEBDE8FC81F8B52A +:10B540000546A0F57F40FF382BD0284607F083FC46 +:10B55000040000D1FFDF204607F007F8002821D0C3 +:10B5600001466A46204607F022F800980321B0F809 +:10B570000560284607F03CFB0446052E13D03046F4 +:10B5800000F0FBFA05460146204600F025FB40B1DD +:10B59000606805EB85013E2202EBC101405A00289C +:10B5A00000D00120F8BD007A0028FAD00020F8BDB4 +:10B5B000F8B50446408807F04EFC050000D1FFDFD7 +:10B5C0006A462846616800F0C4FA01460098091FDF +:10B5D0008BB230F8032F0280428842800188994262 +:10B5E00005D1042A08D0052A20D0062A16D02246E2 +:10B5F0001946FFF799F9F8BD001D0E4605460146AC +:10B6000022463046F6F73FFF0828F4D12246294665 +:10B610003046FCF77AF9F8BD300000206368648892 +:10B620000A46011D2046FAF79DF9F4E72246001D5F +:10B63000FFF773FBEFE770B50D460646032107F0F1 +:10B64000D7FA040004D02078000704D5112070BD7B +:10B6500043F2020070BD2A4621463046FEF7C9FE7D +:10B6600018B9286860616868A061207840F0080017 +:10B670002070002070BD70B50D460646032107F00E +:10B68000B7FA040004D02078000704D4082070BD65 +:10B6900043F2020070BD2A4621463046FEF7DDFE29 +:10B6A00000B9A582207820F008002070002070BD2D +:10B6B0002DE9F04F0E4691B08046032107F098FA2D +:10B6C0000446404607F0D9FB074600200790089043 +:10B6D0000990ADF830000A9002900390049004B9EC +:10B6E000FFDF0DF10809FFB9FFDF1DE038460BA9A8 +:10B6F000002206F0FDFD9DF82C0000F07F050A2DCC +:10B7000000D3FFDF6019017F491E01779DF82C00EF +:10B71000000609D52A460CA907A8FEF7C0FD19F8AE +:10B720000510491C09F80510761EF6B2DED204F1A8 +:10B730003400F84D04F1260BDFF8DCA304F12A07EE +:10B74000069010E05846069900F08CFA06462870DC +:10B750000A2800D3FFDF5AF8261040468847E08CBD +:10B76000C05DB04202D0208D0028EBD10A202870A5 +:10B77000E94D4E4628350EE00CA907A800F072FAF4 +:10B780000446375D55F8240000B9FFDF55F8242042 +:10B79000394640469047BDF81E000028ECD111B054 +:10B7A000BDE8F08F10B5032107F022FA040000D1A4 +:10B7B000FFDF0A22002104F11C0002F032FE207893 +:10B7C00040F00400207010BD10B50C46032107F0B6 +:10B7D0000FFA2044007F002800D0012010BD2DE981 +:10B7E000F84F894615468246032107F001FA070003 +:10B7F00004D02846F5F72DFD40B903E043F20200DE +:10B80000BDE8F88F4846F5F74AFD08B11020F7E784 +:10B81000786828B169880089814201D90920EFE759 +:10B82000B9F800001C2488B100F0A7F98046014651 +:10B83000384600F0D1F988B108EB8800796804EB4C +:10B84000C000085C01280BD00820D9E73846FEF775 +:10B850009CFC8046402807D11320D1E70520CFE784 +:10B86000FDF7DAFE06000BD008EB8800796804EBE0 +:10B87000C0000C18B9F8000020B1E88910B113E03D +:10B880001120BDE72888172802D36888172801D21D +:10B890000720B5E7686838B12B1D22464146384677 +:10B8A000FFF7E9F80028ABD104F10C026946204605 +:10B8B000FEF7E1FF288860826888E082B9F800001E +:10B8C00030B102202070E889A080E889A0B12BE087 +:10B8D00003202070A889A08078688178402905D14C +:10B8E00080F8028039465046FEF7D6FD404600F00B +:10B8F00051F9A9F8000021E07868218B408988423D +:10B9000000D908462083A6F802A004203072B9F8B6 +:10B9100000007081E0897082F181208B3082A08AE2 +:10B92000B081304600F017F97868C178402905D118 +:10B9300080F8038039465046FEF7FFFD00205FE7A0 +:10B9400070B50D460646032107F052F904000ED0EB +:10B95000284600F012F905460146204600F03CF961 +:10B9600018B1284600F001F920B1052070BD43F25E +:10B97000020070BD05EB85011C22606802EBC1016D +:10B98000084400F03FF908B1082070BD2A4621465E +:10B99000304600F075F9002070BD2DE9F0410C46ED +:10B9A00017468046032107F023F90546204600F09C +:10B9B000E4F8044695B10146284600F00DF980B13F +:10B9C00004EB84011C22686802EBC1014618304672 +:10B9D00000F018F938B10820BDE8F08143F2020008 +:10B9E000FAE70520F8E73B46324621462846FFF7AE +:10B9F00042F80028F0D1E2B229464046FEF75AFF4D +:10BA0000708C0838082803D242484078F7F77CFA4F +:10BA10000020E1E72DE9F0410D461746804603215D +:10BA200007F0E6F80446284600F0A7F8064624B1D9 +:10BA30003846F5F70EFC38B902E043F20200CBE7D6 +:10BA40003868F5F706FC08B11020C5E731462046F6 +:10BA500000F0C2F860B106EB86011C22606802EBC0 +:10BA6000C1014518284600F0CDF818B10820B3E709 +:10BA70000520B1E7B888A98A884201D90C20ABE734 +:10BA80006168E88C4978B0EBC10F01D31320A3E7BC +:10BA90003146204600F094F801466068082340785B +:10BAA000C20005F1240006F02AFFD7E90012C0E920 +:10BAB0000012F2B221464046FEF772FE00208BE7EC +:10BAC0002DE9F0470D461F4690468146032107F0B9 +:10BAD0008FF80446284600F050F806463CB14DB1B8 +:10BAE0003846F5F7FAFB50B11020BDE8F08743F275 +:10BAF0000200FAE7606858B1A0F80C8027E03146F0 +:10BB0000204600F069F818B1304600F02EF828B150 +:10BB10000520EAE7300000205456020006EB8601BB +:10BB20001C22606802EBC1014518284600F06AF843 +:10BB300008B10820D9E7A5F80880F2B221464846A6 +:10BB4000FEF7B8FE1FB1A889698908443880002033 +:10BB5000CBE706F02CBD017821F00F01491C21F044 +:10BB6000F00110310170FDF75ABD20B94E488078C0 +:10BB700008B101207047002070474B4989888842EE +:10BB800001D100207047402801D2402000E0403819 +:10BB900080B2704710B50446402800D9FFDF204628 +:10BBA000FFF7E3FF10B14048808810BD4034A0B2D9 +:10BBB00010BD406842690078484302EBC0007047FE +:10BBC000C2784068037812FB03F24378406901FBB6 +:10BBD000032100EBC1007047C2788A4209D940684E +:10BBE00001EB81011C2202EBC101405C08B1012084 +:10BBF0007047002070470078062801D9012070475F +:10BC0000002070470078062801D0012070470020EE +:10BC10007047F0B401EB81061C27446807EBC606A9 +:10BC20003444049D05262670E3802571F0BCFEF7A0 +:10BC30001FBA10B5418911B1FFF7DDFF08B100202F +:10BC400010BD012010BD10B5C18C8278B1EBC20FC0 +:10BC500004D9C18911B1FFF7CEFF08B1002010BD92 +:10BC6000012010BD10B50C4601230A22011D06F06B +:10BC70007CFE00782188012282409143218010BD02 +:10BC8000F0B402EB82051C264C6806EBC5050723C1 +:10BC900063554B681C79402C03D11A71F0BCFEF738 +:10BCA00091BCF0BC704700003000002010B5EFF3ED +:10BCB000108000F0010472B6F8484178491C4170C8 +:10BCC0004078012801D10AF053F9002C00D162B666 +:10BCD00010BD70B5F14CA07848B90125A570FFF7EB +:10BCE000E5FF0AF056F920B100200AF020F9002003 +:10BCF00070BD4FF08040E570C0F80453F7E770B5B1 +:10BD0000EFF3108000F0010572B6E44C607800B9E2 +:10BD1000FFDF6078401E6070607808B90AF02CF987 +:10BD2000002D00D162B670BDDC4810B5817821B11C +:10BD30000021C1708170FFF7E2FF002010BD10B537 +:10BD400004460AF026F9D5498978084000D0012038 +:10BD50002060002010BD10B5FFF7A8FF0AF019F908 +:10BD600002220123CD49540728B1CD480260236146 +:10BD70000320087202E00A72C4F8043300208871BC +:10BD800010BD2DE9F84FDFF814934278817889F8D7 +:10BD90000420002689F80510074689F80660007817 +:10BDA000DFF800B3354620B1012811D0022811D0A8 +:10BDB000FFDF0AF000F94FF0804498B10AF002F971 +:10BDC000B0420FD130460AF001F90028FAD042E023 +:10BDD0000126EEE7FFF76AFF58460168C907FCD065 +:10BDE0000226E6E70120E060C4F80451AE490E6087 +:10BDF0000107D1F84412AC4AC1F342312432116038 +:10BE0000A949343108604FF0020AC4F804A3A060C5 +:10BE1000A6480168C94341F3001101F10108016816 +:10BE200041F01001016001E019F01EFAD4F804019C +:10BE30000028F9D030460AF0C9F80028FAD0B8F145 +:10BE4000000F04D19948016821F010010160C4F885 +:10BE500008A3C4F8045199F805004E4680B138781B +:10BE600070B90AF096F880460AF02EFA6FF0004298 +:10BE7000B8F1000F02D0C6E9032001E0C6E90302D1 +:10BE8000DBF80000C00701D00AF07FF8387810B165 +:10BE90003572BDE8F88F4FF01808C4F80883012701 +:10BEA000A7614FF42070ADF8000000BFBDF800009E +:10BEB000411EADF80010F9D2C4F80C51C4F810516D +:10BEC0007648C01D0AF094F83570FFF744FF6761AB +:10BED0007549307920310860C4F80483D9E770B51A +:10BEE000050000D1FFDF4FF080424FF0FF30C2F875 +:10BEF00008030021C2F80011C2F80411C2F80C11A5 +:10BF0000C2F81011654C61700AF04FF810B10120B1 +:10BF1000A070607063480068C00701D00AF035F86F +:10BF20002846BDE870402CE75C48007A002800D025 +:10BF3000012070472DE9FC5F5D48D0F800905C4A15 +:10BF40005C49083211608406D4F8080100B1012070 +:10BF5000D4F8001111B14FF0010801E04FF00008D2 +:10BF6000D4F8041101B101210191D4F80C1101B1EF +:10BF700001210091D4F8101101B10121474D8A46E9 +:10BF800095F800B0002620B1C4F80861012009F03E +:10BF9000CEFF4248C01D0AF033F800B1FFDF012791 +:10BFA000B8F1000F10D0C4F80873E87818B1EE703B +:10BFB000002009F0BCFF287A022805D1032028724E +:10BFC0003748022101602761019808B1C4F8046173 +:10BFD000009850B1C4F80C61287A032800D0FFDF24 +:10BFE0002F4806602F72FFF78AFEBAF1000F07D0C4 +:10BFF000C4F81061287A012801D100F05DF867616A +:10C00000BBF1000F07D02E70287A012801D1FFF76D +:10C01000A2FEFFF774FE2148C01D0AF007F824496C +:10C02000091DC1F80090BDE8FC9F1C4810B5C01D5B +:10C0300009F0E6FF194940B1012008704FF0E021F6 +:10C04000C1F80002BDE8104030E6087A012801D1AD +:10C05000FFF781FE1148BDE81040C01D09F0E6BFA2 +:10C0600070B50E4CA07808B909F086FF012085074D +:10C07000A861207A002603280AD100BFD5F80C0158 +:10C0800020B9002009F0A2FF0028F7D1C5F80C6103 +:10C0900026724FF0FF30C5F8080370BD4400002041 +:10C0A000340C00400C0400401805004010ED00E086 +:10C0B000100502400100000170B5134C6079F0B129 +:10C0C000012803D0A179401E814218DA09F061FFEE +:10C0D00005460AF0F9F86179012902D9A179491CCC +:10C0E000A1710DB1216900E0E168411A022902DA6B +:10C0F00011F1020FD1DC0DB1206100E0E060BDE87C +:10C10000704028E6C9E70000440000200F4A12688A +:10C110000D498A420CD118470C4A12680A4B9A42C0 +:10C1200006D101B50AF0A2F80AF075FBBDE801409E +:10C13000074909680958084706480749054A064B50 +:10C140007047000000000000BEBAFECA5C0000207C +:10C1500004000020B8130020B8130020F8B51D46D5 +:10C16000DDE906470E000AD006F087FE2346FF1DD4 +:10C17000BCB231462A46009406F093FAF8BDD019B5 +:10C180002246194602F023F92046F8BD70B50D4647 +:10C1900004461022002102F044F925811720608115 +:10C1A000A07B40F00A00A07370BD4FF6FF720A80BA +:10C1B000014602200AF0A4BA704700897047827BCA +:10C1C000D30701D1920703D48089088000207047EB +:10C1D00005207047827B920700D581817047014618 +:10C1E0000020098841F6FE52114200D0012070471C +:10C1F00000B50346807BC00701D0052000BD5981F2 +:10C200001846FFF7ECFFC00703D0987B40F004000E +:10C210009873987B40F001009873002000BD827BEA +:10C22000520700D509B14089704717207047827BBB +:10C2300061F3C302827370472DE9FC5F0E4604462A +:10C2400001789646012000FA01F14DF6FF5201EA0D +:10C25000020962684FF6FF7B1188594502D1092017 +:10C26000BDE8FC9FB9F1000F05D041F6FE5529420B +:10C2700001D00120F4E741EA090111801D0014D02A +:10C2800000232B7094F800C0052103221F464FF0B5 +:10C29000020ABCF10E0F76D2DFE80CF0F909252F67 +:10C2A00047646B77479193B4D1D80420D8E761688D +:10C2B00020898B7B9B0767D517284AD30B8983423C +:10C2C00047D38989172901D3814242D185F800A03B +:10C2D000A5F801003280616888816068817B21F067 +:10C2E00002018173C6E0042028702089A5F80100AE +:10C2F0006089A5F803003180BCE0208A3188C01D28 +:10C300001FFA80F8414524D3062028702089A5F81B +:10C3100001006089A5F80300A089A5F805000721A0 +:10C32000208ACDE90001636941E00CF0FF00082894 +:10C3300010D0082028702089A5F801006089A5F890 +:10C34000030031806A1D694604F10C0008F0FFF912 +:10C3500010B15EE01020EDE730889DF80010084431 +:10C36000308087E00A2028702089A5F801003280FB +:10C3700044E00C2028702089A5F801006089A5F808 +:10C38000030031803AE082E064E02189338800EBE9 +:10C3900041021FFA82F843453BD3B8F1050F38D369 +:10C3A0000E222A700BEA4101CDE90010E368608893 +:10C3B0002A467146FFF7D2FEA6F800805AE04020D8 +:10C3C000287060893188C01C1FFA80F8414520D34D +:10C3D0002878714620F03F00123028702089A5F897 +:10C3E00001006089CDE9000260882A46E368FFF712 +:10C3F000B5FEA6F80080287840063BD46168208905 +:10C40000888037E0A0893288401D1FFA80F84245B5 +:10C4100001D204273DE0162028702089A5F80100EC +:10C420006089A5F80300A089CDE9000160882A464B +:10C4300071462369FFF792FEA6F80080DEE7182018 +:10C440002870207A6870A6F800A013E061680A8856 +:10C45000920401D405271CE0C9882289914201D0A9 +:10C46000062716E01E21297030806068018821F4BB +:10C4700000510180B9F1000F0BD0618878230022B0 +:10C4800002200AF093F861682078887006E0338013 +:10C4900003276068018821EA090101803846DFE648 +:10C4A0002DE9FF4F85B01746129C0D001E461CD08B +:10C4B0003078C10703D000F03F00192801D90121CD +:10C4C00000E000212046FFF7AAFEA8420DD32088F5 +:10C4D000A0F57F41FF3908D03078410601D400062D +:10C4E00005D5082009B0BDE8F08F0720FAE7002045 +:10C4F0008DF800008DF8010030786B1E00F03F0CC5 +:10C500000121A81E4FF0050A4FF002094FF0030B5E +:10C510009AB2BCF1200F75D2DFE80CF08B10745E7C +:10C520007468748C749C74B574BA74C874D474E1EF +:10C53000747474F174EF74EE74ED748B052D78D10E +:10C540008DF80090A0788DF804007088ADF8060092 +:10C5500030798DF80100707800F03F000C2829D068 +:10C560000ADCA0F10200092863D2DFE800F01262C1 +:10C5700015621A621D622000122824D004DC0E28E5 +:10C580001BD01028DBD11BE016281FD01828D6D1CD +:10C590001FE02078800701E020784007002848DA73 +:10C5A000EEE020780007F9E72078C006F6E720786B +:10C5B0008006F3E720784006F0E720780006EDE7F4 +:10C5C0002088C005EAE720884005E7E720880005C5 +:10C5D000E4E72088C004E1E72078800729D5032D0F +:10C5E00027D18DF800B0B6F8010081E02178490725 +:10C5F0001FD5062D1DD381B27078012803D00228E3 +:10C6000017D102E0C9E0022000E0102004228DF8DA +:10C61000002072788DF80420801CB1FBF0F2ADF898 +:10C62000062092B242438A4203D10397ADF80890A4 +:10C63000A6E079E02078000776D598B282088DF8D8 +:10C6400000A0ADF80420B0EB820F6DD10297ADF8D9 +:10C65000061095E02178C90666D5022D64D381B213 +:10C6600006208DF80000707802285DD3B1FBF0F24F +:10C670008DF80400ADF8062092B242438A4253D1AD +:10C68000ADF808907BE0207880064DD5072003E0C8 +:10C69000207840067FD508208DF80000A088ADF8EE +:10C6A0000400ADF80620ADF8081068E02078000618 +:10C6B00071D50920ADF804208DF80000ADF8061002 +:10C6C00002975DE02188C90565D5022D63D381B24B +:10C6D0000A208DF80000707804285CD3C6E7208813 +:10C6E000400558D5012D56D10B208DF80000A088AB +:10C6F000ADF8040044E021E026E016E0FFE72088E2 +:10C70000000548D5052D46D30C208DF80000A088E3 +:10C71000ADF80400B6F803006D1FADF80850ADF891 +:10C720000600ADF80AA02AE035E02088C00432D522 +:10C73000012D30D10D208DF8000021E020888004EB +:10C7400029D4B6F80100E080A07B000723D5032D93 +:10C7500021D3307800F03F001B2818D00F208DF82F +:10C760000000208840F40050A4F80000B6F8010052 +:10C77000ADF80400ED1EADF80650ADF808B0039713 +:10C7800069460598F5F7C8FB050008D016E00E20AD +:10C790008DF80000EAE7072510E008250EE0307864 +:10C7A00000F03F001B2809D01D2807D00220059962 +:10C7B00009F0A6FF208800F400502080A07B4007ED +:10C7C00008D52046FFF70BFDC00703D1A07B20F062 +:10C7D0000400A073284685E61FB5022806D1012073 +:10C7E0008DF8000088B26946F5F796FB1FBD000082 +:10C7F000F8B51D46DDE906470E000AD006F03DFB00 +:10C800002346FF1DBCB231462A46009405F049FF7D +:10C81000F8BDD0192246194601F0D9FD2046F8BDD1 +:10C820002DE9FF4F8DB09B46DDE91B57DDF87CA05D +:10C830000C46082B05D0E06901F0FEF850B110203D +:10C84000D2E02888092140F0100028808AF80010E2 +:10C85000022617E0E16901208871E2694FF4205156 +:10C860009180E1698872E06942F601010181E06925 +:10C87000002181732888112140F0200028808AF847 +:10C880000010042638780A900A2038704FF0020908 +:10C8900004F118004D460C9001F0C6FBB04681E053 +:10C8A000BBF1100F0ED1022D0CD0A9EB0800801C9B +:10C8B00080B20221CDE9001005AB52461E990D98B9 +:10C8C000FFF796FFBDF816101A98814203D9F74872 +:10C8D00000790F9004E003D10A9808B138702FE076 +:10C8E0004FF00201CDE900190DF1160352461E99D1 +:10C8F0000D98FFF77DFF1D980088401B801B83B2B9 +:10C90000C6F1FF00984200D203461E990BA8D9B188 +:10C910005FF00002DDF878C0CDE9032009EB0601E5 +:10C9200089B2CDE901C10F980090BDF81610002220 +:10C930000D9801F00EFC387070B1C0B2832807D09A +:10C94000BDF8160020833AE00AEB09018A19E1E7F5 +:10C95000022011B0BDE8F08FBDF82C00811901F064 +:10C96000FF08022D0DD09AF80120424506D1BDF8EE +:10C970002010814207D0B8F1FF0F04D09AF801804F +:10C980001FE08AF80180C94800680178052902D1B2 +:10C99000BDF81610818009EB08001FFA80F905EB3D +:10C9A000080085B2DDE90C1005AB0F9A01F03FFBE2 +:10C9B00028B91D980088411B4145BFF671AF022D73 +:10C9C00013D0BBF1100F0CD1A9EB0800801C81B271 +:10C9D0000220CDE9000105AB52461E990D98FFF7E4 +:10C9E00007FF1D980580002038700020B1E72DE971 +:10C9F000F8439C46089E13460027B26B9AB3491F22 +:10CA00008CB2F18FA1F57F45FF3D05D05518AD885B +:10CA10002944891D8DB200E000252919B6F83C8013 +:10CA20000831414520D82A44BCF8011022F8021BE5 +:10CA3000BCF8031022F8021B984622F8024B9146DC +:10CA400006F009FA4FF00C0C41464A462346CDF851 +:10CA500000C005F0F2FDF587B16B00202944A41D4C +:10CA60002144088003E001E0092700E083273846DD +:10CA7000BDE8F88310B50B88848F9C420CD9846B79 +:10CA8000E018048844B1848824F40044A41D23449D +:10CA90000B801060002010BD0A2010BD2DE9F0476A +:10CAA0008AB00025904689468246ADF8185007277F +:10CAB0004BE0059806888088000446D4A8F80060FA +:10CAC00007A8019500970295CDE903504FF4007334 +:10CAD00000223146504601F03CFB04003CD1BDF839 +:10CAE0001800ADF82000059804888188B44216D15A +:10CAF0000A0414D401950295039521F4004100978E +:10CB0000049541F4804342882146504601F0BFF825 +:10CB100004000BD10598818841F40041818005AA69 +:10CB200008A94846FFF7A6FF0400DCD00097059847 +:10CB300002950195039504950188BDF81C300022EB +:10CB4000504601F0A4F80A2C06D105AA06A94846C9 +:10CB5000FFF790FF0400ACD0ADF8185004E0059842 +:10CB6000818821F40041818005AA06A94846FFF783 +:10CB700081FF0028F3D00A2C03D020460AB0BDE87C +:10CB8000F0870020FAE710B50C46896B86B051B1EA +:10CB90000C218DF80010A18FADF80810A16B019148 +:10CBA0006946FAF747FB00204FF6FF71A063E18763 +:10CBB000A08706B010BD2DE9F0410D460746896BF0 +:10CBC0000020069E1446002911D0012B0FD13246B9 +:10CBD00029463846FFF762FF002808D1002C06D00E +:10CBE000324629463846BDE8F04100F034BFBDE882 +:10CBF000F0812DE9FC411446DDE9087C0E46DDE9B3 +:10CC00000A15521DBCF800E092B2964502D20720E8 +:10CC1000BDE8FC81ACF8002017222A70A5F801605D +:10CC2000A5F803300522CDE900423B462A46FFF72E +:10CC3000DFFD0020ECE770B50C46154648220021C8 +:10CC4000204601F0EEFB04F1080044F81C0F002020 +:10CC50004FF6FF71E06161842084A5841720E08491 +:10CC600094F82A0040F00A0084F82A0070BD4FF6BC +:10CC7000FF720A800146032009F042BD30B585B03D +:10CC80000C460546FFF77FFFA18E284629B10121FA +:10CC90008DF800106946FAF7CDFA0020E0622063B3 +:10CCA000606305B030BDB0F8400070476000002000 +:10CCB00090F84620920703D4408808800020F4E7CB +:10CCC0000620F2E790F846209207EED5A0F844102F +:10CCD000EBE70146002009880A0700D5012011F082 +:10CCE000F00F01D040F00200CA0501D540F0040069 +:10CCF0008A0501D540F008004A0501D540F0100032 +:10CD00000905D2D540F02000CFE700B5034690F8E2 +:10CD10004600C00701D0062000BDA3F84210184607 +:10CD2000FFF7D7FF10F03E0F05D093F8460040F014 +:10CD3000040083F8460013F8460F40F00100187015 +:10CD4000002000BD90F84620520700D511B1B0F880 +:10CD50004200AAE71720A8E710F8462F61F3C302A4 +:10CD60000270A2E72DE9FF4F9BB00E00DDE92B34E6 +:10CD7000DDE92978289D24D02878C10703D000F068 +:10CD80003F00192801D9012100E000212046FFF7CA +:10CD9000D9FFB04215D32878410600F03F010CD4EA +:10CDA0001E290CD0218811F47F6F0AD13A8842B134 +:10CDB000A1F57F42FF3A04D001E0122901D100061B +:10CDC00002D504201FB0C5E5FA491D984FF0000AAE +:10CDD00008718DF818A08DF83CA00FAA0A60ADF874 +:10CDE0001CA0ADF850A02978994601F03F02701FB1 +:10CDF0005B1C04F1180C4FF0060E4FF0040BCDF83D +:10CE000058C01F2A7ED2DFE802F07D7D107D267D8E +:10CE1000AC7DF47DF37DF27DF17DF47DF07D7D7D53 +:10CE2000EF7DEE7D7D7D7D7DED0094F84610B5F8BB +:10CE30000100890701D5032E02D08DF818B01EE33A +:10CE40004FF40061ADF85010608003218DF83C1064 +:10CE5000ADF84000D4E2052EEFD1B5F801002083F3 +:10CE6000ADF81C00B5F80310618308B1884201D900 +:10CE7000012079E10020A07220814FF6FF7020840C +:10CE8000169801F0D1F8052089F8000002200290E0 +:10CE900083460AAB1D9A16991B9801F0C8F890BBFF +:10CEA0009DF82E00012804D0022089F801001020EE +:10CEB00003E0012089F8010002200590002203A967 +:10CEC0000BA807F044FCE8BB9DF80C0005998142D3 +:10CED0003DD13988801CA1EB0B01814237DB0299DF +:10CEE0000220CDE900010DF12A034A4641461B9874 +:10CEF000FFF77EFC02980BF1020B801C81B217AA8F +:10CF0000029101E09CE228E003A90BA807F01FFCB6 +:10CF100002999DF80C00CDE9000117AB4A46414645 +:10CF20001B98FFF765FC9DF80C000AAB0BEB0001AA +:10CF30001FFA81FB02991D9A084480B2029016994B +:10CF40001B9800E003E001F072F80028B6D0BBF1B6 +:10CF5000020F02D0A7F800B04FE20A208DF81800A7 +:10CF60004BE200210391072EFFF467AFB5F80100F3 +:10CF70002083ADF81C00B5F80320628300283FF43D +:10CF800077AF90423FF674AF0120A072B5F805006C +:10CF900020810020A073E06900F04EFD78B9E169BE +:10CFA00001208871E2694FF420519180E169887213 +:10CFB000E16942F601000881E06900218173F01FF8 +:10CFC00020841E98606207206084169801F02CF877 +:10CFD000072089F800000120049002900020ADF89D +:10CFE0002A0028E019E29FE135E1E5E012E2A8E03D +:10CFF00080E043E00298012814D0E069807901289C +:10D0000003D1BDF82800ADF80E00049803ABCDE9BC +:10D0100000B04A4641461B98FFF7EAFB0498001D02 +:10D0200080B20490BDF82A00ADF80C00ADF80E00F7 +:10D03000059880B202900AAB1D9A16991B9800F0D1 +:10D04000F6FF28B902983988001D05908142D1D297 +:10D050000298012881D0E0698079012803D1BDF8C8 +:10D060002800ADF80E00049803ABCDE900B04A46A5 +:10D0700041461B98FFF7BCFB0298BDE1072E02D08A +:10D08000152E7FF4DAAEB5F801102183ADF81C102F +:10D09000B5F80320628300293FF4EAAE91423FF6DF +:10D0A000E7AE0121A1724FF0000BA4F808B084F89C +:10D0B0000EB0052E07D0C0B2691DE26907F045FB2E +:10D0C00000287FF44AAF4FF6FF70208401A906AA1A +:10D0D00014A8CDF800B081E885032878214600F037 +:10D0E0003F031D9A1B98FFF79BFB8246208BADF8F0 +:10D0F0001C0082E10120032EC3D14021ADF8501065 +:10D10000B5F801102183ADF81C100AAAB8F1000F80 +:10D1100000D00023CDE9020304921D98CDF80480CD +:10D12000009038880022401E83B21B9801F011F84D +:10D130008DF8180090BB0B2089F80000BDF828007E +:10D1400035E04FF0010C052E9BD18020ADF850004A +:10D15000B5F801102183B5F803002084ADF81C1048 +:10D16000B0F5007F03D907208DF8180087E140F45F +:10D170007C4222840CA8B8F1000F00D00023CDE936 +:10D180000330CDE9018C1D9800903888401E83B291 +:10D190001B9800F0DEFF8DF8180018B18328A8D185 +:10D1A0000220BFE00D2189F80010BDF83000401CBE +:10D1B00022E1000060000020032E04D248067FF523 +:10D1C0003CAE002018E1B5F80110ADF81C1028782D +:10D1D000400602D58DF83CE002E007208DF83C00C7 +:10D1E0004FF000080320CDE902081E9BCDF8108007 +:10D1F0001D980193A6F1030B00901FFA8BF3424692 +:10D200001B9800F044FD8DF818008DF83C802978BB +:10D2100049060DD52088C00506D5208BBDF81C1009 +:10D22000884201D1C4F8248040468DF81880E3E09C +:10D23000832801D14FF0020A4FF48070ADF85000FE +:10D24000BDF81C002083A4F820B01E986062032063 +:10D2500060841321CDE0052EFFF4EFADB5F8011089 +:10D26000ADF81C10A28F6AB3A2F57F43FE3B29D014 +:10D2700008228DF83C2000BF4FF0000B0523CDE9BC +:10D28000023BDDF878C0CDF810B01D9A80B2CDF821 +:10D2900004C040F400430092B5F803201B9800F04E +:10D2A000F6FC8DF83CB04FF400718DF81800ADF825 +:10D2B0005010832810D0F8B1A18FA1F57F40FE381F +:10D2C00007D0DCE00B228DF83C204FF6FE72A287DF +:10D2D000D2E7A4F83CB0D2E000942B4631461E9A27 +:10D2E0001B98FFF784FB8DF8180008B183284BD1F9 +:10D2F000BDF81C00208353E700942B4631461E9A4C +:10D300001B98FFF774FB8DF81800E8BBE18FA06B4A +:10D310000844831D8DE888034388828801881B9810 +:10D32000FFF767FC824668E095F80180022E70D115 +:10D330005FEA080002D0B8F1010F6AD109208DF828 +:10D340003C0007A800908DF840804346002221460B +:10D350001B98FFF730FC8DF842004FF0000B8DF862 +:10D3600043B050B9B8F1010F12D0B8F1000F04D199 +:10D37000A18FA1F57F40FF380AD0A08F40B18DF872 +:10D380003CB04FF4806000E037E0ADF850000DE0B5 +:10D390000FA91B98F9F74EFF82468DF83CB04FF469 +:10D3A0008060ADF85000BAF1020F06D0FC4800686A +:10D3B000C07928B18DF8180027E0A4F8188044E05F +:10D3C000BAF1000F03D081208DF818003DE007A8C6 +:10D3D00000904346012221461B98FFF7ECFB8DF895 +:10D3E000180021461B98FFF7CEFB9DF8180020B9C6 +:10D3F000192189F80010012038809DF83C0020B1E7 +:10D400000FA91B98F9F716FF8246BAF1000F33D027 +:10D410001BE018E08DF818E031E02078000712D505 +:10D42000012E10D10A208DF83C00E088ADF84000B4 +:10D4300003201B9909F064F90820ADF85000C0E6FC +:10D4400048067FF5FAAC4FF0040A2088BDF850106A +:10D4500008432080BDF8500080050BD5A18FA1F5B1 +:10D460007F40FE3806D11E98E06228982063A68689 +:10D470004FF0030A5046A5E49DF8180078B101204A +:10D4800089F80000297889F80110BDF81C10A9F866 +:10D4900002109DF8181089F80410052038802088A3 +:10D4A000BDF8501088432080E4E72DE9FF4F8846FF +:10D4B000087895B0012181404FF20900249C014079 +:10D4C000ADF820102088DDF88890A0F57F424FF05D +:10D4D000000AFF3A06D039B1000705D5012019B07E +:10D4E000BDE8F08F0820FAE7239E4FF0000B0EA84E +:10D4F00086F800B018995D460988ADF83410A8493F +:10D500008DF81CB0179A0A718DF838B0086098F839 +:10D51000000001283BD0022809D003286FD13078C1 +:10D5200020F03F001D303070B8F80400E08098F81B +:10D5300000100320022904D1317821F03F011B3172 +:10D54000317094F84610090759D505ABB9F1000FB1 +:10D5500013D0002102AA82E80B000720CDE90009C0 +:10D56000BDF83400B8F80410C01E83B2002215982C +:10D5700000F0EFFD0028D1D101E0F11CEAE7B8F896 +:10D580000400A6F80100BDF81400C01C04E198F8DE +:10D5900005108DF81C1098F80400012806D04FF4EF +:10D5A000007A02282CD00328B8D16CE12188B8F881 +:10D5B000080011F40061ADF8201020D017281CD30A +:10D5C000B4F84010814218D3B4F84410172901D39D +:10D5D000814212D1317821F03F01C91C3170A6F887 +:10D5E00001000321ADF83410A4F8440094F846007B +:10D5F00020F0020084F8460065E105257EE177E130 +:10D60000208808F1080700F4FE60ADF8200010F053 +:10D61000F00F1BD010F0C00F03D03888228B90423F +:10D62000EBD199B9B878C00710D0B9680720CDE917 +:10D6300002B1CDF804B00090CDF810B0FB88BA88E4 +:10D640003988159800F023FB0028D6D12398BDF81F +:10D650002010401C80294ED006DC10290DD0202936 +:10D660000BD0402987D124E0B1F5807F6ED05145A1 +:10D670007ED0B1F5806F97D1DEE0C80601D50820D5 +:10D6800000E0102082460DA907AA0520CDE902215D +:10D690008DF83800ADF83CB0CDE9049608A938887B +:10D6A000CDE900015346072221461598FFF7B8F847 +:10D6B000A8E09DF81C2001214FF00A0A002A9BD106 +:10D6C00005ABB9F1000F00D00020CDE90210072012 +:10D6D000CDE90009BDF834000493401E83B2218BCC +:10D6E0000022159800F035FD8DF81C000B203070DD +:10D6F000BDF8140020E09DF81C2001214FF00C0A19 +:10D70000002A22D113ABB9F1000F00D00020CDE9DF +:10D7100002100720CDE900090493BDF83400228CE3 +:10D72000401E83B2218B159800F013FD8DF81C006C +:10D730000D203070BDF84C00401CADF834000520C1 +:10D740008DF83800208BADF83C00BCE03888218B88 +:10D7500088427FF452AF9DF81C004FF0120A002857 +:10D760001CD1606AA8B1B878C0073FF446AF00E0AA +:10D7700018E0BA680720CDE902B2CDF804B00090F5 +:10D78000CDF810B0FB88BA88159800F080FA8DF8B3 +:10D790001C00132030700120ADF8340093E000002D +:10D7A000600000203988208B8142D2D19DF81C0076 +:10D7B0004FF0160A0028A06B08D0E0B34FF6FF70B8 +:10D7C00000215F46ADF808B0019027E068B1B97854 +:10D7D000C907BED1E18F0DAB0844821D03968DE8C9 +:10D7E0000C0243888288018809E0B878C007BCD061 +:10D7F000BA680DAB03968DE80C02BB88FA881598C1 +:10D80000FFF7F7F905005ED0072D72D076E00190A2 +:10D8100005AA02A92046FFF72DF90146E28FBDF8BF +:10D820000800824201D00029F1D0E08FA16B0844AA +:10D8300007800198E08746E09DF81C004FF0180A29 +:10D8400040B1208BC8B13888208321461598FFF756 +:10D850009AF938E004F118000090237E0122214655 +:10D860001598FFF7A8F98DF81C000028EDD11920B4 +:10D8700030700120ADF83400E7E705252146159802 +:10D88000FFF781F93AE0208800F40070ADF820003D +:10D8900050452DD1A08FA0F57F41FE3901D006253E +:10D8A0002CE0D8F808004FF0160A48B1A063B8F889 +:10D8B0000C10A1874FF6FF71E187A0F800B002E0DD +:10D8C0004FF6FF70A087BDF8200030F47F611AD0BA +:10D8D000782300220320159908F068FE98F80000CC +:10D8E00020712088BDF82010084320800EE000E061 +:10D8F00007252088BDF8201088432080208810F458 +:10D900007F6F1CD03AE02188814321809DF8380048 +:10D9100020B10EA91598F9F78DFC05469DF81C005D +:10D920000028EBD086F801A001203070208B708099 +:10D930009DF81C0030710520ADF83400DEE7A18EA3 +:10D94000E1B118980DAB0088ADF834002398CDE90B +:10D950000304CDE90139206B0090E36A179A15980A +:10D96000FFF700FA054601208DF838000EA915983A +:10D97000F9F760FC00B10546A4F834B094F846000D +:10D9800040070AD52046FFF7A4F910F03E0F04D156 +:10D9900014F8460F20F0040020701898BDF83410D9 +:10D9A000018028469BE500B585B0032806D10220FA +:10D9B0008DF8000088B26946F9F73CFC05B000BD5F +:10D9C00010B5384C0B782268012B02D0022B2AD1DB +:10D9D00011E013780BB1052B01D1042313702368D8 +:10D9E0008A889A802268CB88D38022680B89138129 +:10D9F000498951810DE08B8893802268CB88D38040 +:10DA000022680B8913814B8953818B899381096922 +:10DA100011612168F9F70EFC2268002102281170BB +:10DA200003D0002800D0812010BD832010BD806B62 +:10DA3000002800D0012070478178012909D1008891 +:10DA4000B0F5205F03D042F60101884201D10020E9 +:10DA5000704707207047F0B587B0002415460E4682 +:10DA60000746ADF8184011E0059800882880059811 +:10DA70000194811DCDE9024107210494009183881E +:10DA800042880188384600F002F930B905AA06A993 +:10DA90003046FEF7EFFF0028E6D00A2800D100202C +:10DAA00007B0F0BD6000002010B58B7883B102781C +:10DAB0009A4205D10B885BB102E08B79091D4BB10D +:10DAC0008B789A42F9D1B0F801300C88A342F4D196 +:10DAD000002010BD812010BD072826D012B1012AD8 +:10DAE00027D103E0497801F0070102E04978C1F34A +:10DAF000C20105291DD2DFE801F00318080C12004D +:10DB00000AB1032070470220704704280DD250B19B +:10DB10000DE0052809D2801E022808D303E006285C +:10DB200003D0032803D005207047002070470F2042 +:10DB3000704781207047C0B282060BD4000607D51B +:10DB4000FA48807A4143C01D01EBD00080B2704793 +:10DB5000084670470020704770B513880B800B781B +:10DB60001C0625D5F14CA47A844204D843F0100059 +:10DB70000870002070BD956800F0070605EBD00521 +:10DB80002D78F54065F304130B701378D17803F00A +:10DB9000030341EA032140F20123B1FBF3F503FB48 +:10DBA00015119268E41D00FB012000EBD40070BD4C +:10DBB000906870BD37B51446BDF804101180117817 +:10DBC00041F0040111709DF804100A061ED5D74AD1 +:10DBD000A368C1F30011927A824208D8FE2811D1BD +:10DBE000D21DD2084942184600F01BFC0AE003EBA4 +:10DBF000D00200F00703012510789D40A84399400A +:10DC000008431070207820F0100020703EBD2DE9F0 +:10DC1000F0410746C81C0E4620F00300B04202D077 +:10DC20008620BDE8F081C14D002034462E60AF80D3 +:10DC30002881AA72E8801AE0E988491CE9808106F7 +:10DC400014D4E17800F0030041EA002040F2012101 +:10DC5000B0FBF1F201FB12012068FFF76CFF29898C +:10DC6000084480B22881381A3044A0600C342078EF +:10DC70004107E1D40020D4E7AC4801220189C088E3 +:10DC800000EB400002EB8000084480B270472DE9B1 +:10DC9000FF4F89B01646DDE9168A0F46994623F4F0 +:10DCA0004045084600F054FB040002D020784007AD +:10DCB00003D401200DB0BDE8F08F099804F05EFF99 +:10DCC00002902078000606D59848817A0298814211 +:10DCD00001D88720EEE7224601A90298FFF73CFF12 +:10DCE000834600208DF80C004046B8F1070F1AD08B +:10DCF00001222146FFF7F0FE0028DBD12078400604 +:10DD000011D502208DF80C00ADF81070BDF804009C +:10DD1000ADF81200ADF814601898ADF81650CDF8B3 +:10DD20001CA0ADF818005FEA094004D500252E4676 +:10DD3000A84601270CE02178E07801F0030140EAD1 +:10DD4000012040F20121B0FBF1F2804601FB128775 +:10DD50005FEA494009D5B84507D1A178207901F09B +:10DD6000030140EA0120B04201D3BE4201D907209D +:10DD7000A0E7A8191FFA80F9B94501D90D2099E744 +:10DD80009DF80C0028B103A90998F9F751FA002869 +:10DD900090D1B84507D1A0784FEA192161F301006D +:10DDA000A07084F804901A9800B10580199850EA80 +:10DDB0000A0027D0199830B10BEB06002A461999B2 +:10DDC00000F005FB0EE00BEB06085746189E09987D +:10DDD00005F041F82B46F61DB5B23946424600958E +:10DDE00004F02BFC224601A90298FFF7B5FE9DF82E +:10DDF0000400224620F010008DF80400DDE9011037 +:10DE0000FFF7D8FE002055E72DE9FF4FDFF81C9102 +:10DE1000824685B0B9F80610D9F8000001EB41013F +:10DE200000EB810440F20120B2FBF0F1174600FB49 +:10DE30001175DDE9138B4E4629460698FFF77BFEE8 +:10DE40000346FFF719FF1844B1880C30884202D905 +:10DE5000842009B02FE70698C6B2300603D5B00675 +:10DE600001D50620F5E7B9F80620521C92B2A9F8B0 +:10DE70000620BBF1000F01D0ABF80020B00602D5A0 +:10DE8000C4F808800AE0B9F808201A4492B2A9F848 +:10DE90000820D9F80000891A0844A0602246FE2014 +:10DEA0000699FFF787FEE77025712078390A61F33C +:10DEB00001002A0AA17840F0040062F30101A17078 +:10DEC00020709AF802006071BAF80000E080002526 +:10DED0002573300602D599F80A7000E00127B006D4 +:10DEE00001D54FF000084E4600244FF007090FE01F +:10DEF000CDE902580195CDF800900495F1882046AF +:10DF0000129B089AFFF7C3FE0028A2D1641CE4B25A +:10DF1000BC42EDD300209CE700B5FFF7ADFE0349FE +:10DF20000C308A88904203D9842000BDFC05002073 +:10DF3000CA88086802EB420300EB8300521C037896 +:10DF400023F004030370CA80002101730846ECE744 +:10DF50002DE9F047804600F0FBF9070005D00026C8 +:10DF60004446F74D40F2012916E00120BDE8F08754 +:10DF7000204600F0EDF90278C17802F0030241EA90 +:10DF80000222B2FBF9F309FB13210068FFF7D3FD6E +:10DF90003044641C86B2A4B2E988601E8142E7DC8A +:10DFA000A8F10100E8802889801B288100203870B2 +:10DFB000DCE710B5144631B1491E218004F0DEFDC6 +:10DFC000A070002010BD012010BD70B50446DC48D3 +:10DFD000C188036801E0401C20802088884207D265 +:10DFE00000EB400213EB820202D015786D07F2D5E8 +:10DFF00080B2884216D2AAB15079A072D08820810E +:10E000009178107901F0030140EA0120A081A07805 +:10E01000E11CFFF7A1FD20612088401C2080E080EA +:10E02000002070BD0A2070BD0121018270472DE9DA +:10E03000FF4F85B04FF6FF798246A3F800904868FD +:10E040001E460D4680788DF8060048680088ADF8B9 +:10E05000040000208DF80A00088A0C88A04200D332 +:10E0600004462C8251E03878400708D4641C288A82 +:10E07000A4B2401C288208F10100C0B246E0288A00 +:10E08000401C2882781D6968FFF70EFDD8BB3188D7 +:10E09000494501D1601E30803188A1EB08003080F5 +:10E0A0006888A04238D3B878397900F0030041EA93 +:10E0B000002801A9781DFFF7F7FC20BB29894945F5 +:10E0C0002ED0002239460798FFF706FDD8B92989D6 +:10E0D000414518D1E9680391B5F80AC0D7F808B0EE +:10E0E0005046CDF800C004F0B6FEDDF800C05A4638 +:10E0F0000CF1070C1FFA8CFC43460399CDF800C0C5 +:10E1000004F065FA60B1641CA4B200208046204689 +:10E1100000F01EF90700A6D1641E2C820A2098E6A2 +:10E1200074807879B071F888B0803978F87801F027 +:10E13000030140EA01207081A6F80C80504604F0EB +:10E140001DFD3A4606F10801FFF706FD306100208B +:10E150007FE62DE9FF4F87B081461C469246DDF8E9 +:10E1600060B0DDF85480089800F0F2F8050002D0A5 +:10E170002878400702D401200BB09CE5484604F003 +:10E18000FDFC2978090605D56D49897A814201D8B7 +:10E190008720F1E7CAF309062A4601A9FFF7DCFC4C +:10E1A0000746149807281CD000222946FFF794FC44 +:10E1B0000028E1D12878400613D501208DF8080009 +:10E1C0000898ADF80C00BDF80400ADF80E00ADF8ED +:10E1D0001060ADF8124002A94846F9F729F8002866 +:10E1E000CAD12978E87801F0030140EA0121AA7830 +:10E1F000287902F0030240EA0220564507D0B1F523 +:10E20000007F04D9611E814201DD0B20B4E7864204 +:10E2100001D90720B0E7801B85B2A54200D9254669 +:10E22000BBF1000F01D0ABF80050179818B1B91925 +:10E230002A4600F0CCF8B8F1000F0DD03E44484615 +:10E240004446169F04F019FE2146FF1DBCB232461B +:10E250002B46009404F025FA00208DE72DE9F041CB +:10E2600007461D461646084600F072F8040002D024 +:10E270002078400701D40120D3E4384604F07EFC26 +:10E280002178090605D52E49897A814201D887204F +:10E29000C7E422463146FFF75FFC65B12178E0789C +:10E2A00001F0030140EA0120B0F5007F01D8012010 +:10E2B00000E0002028700020B3E42DE9F04107467B +:10E2C0001D461646084600F043F8040002D02078A8 +:10E2D000400701D40120A4E4384604F04FFC217823 +:10E2E000090605D51649897A814201D8872098E424 +:10E2F00022463146FFF75EFCFF2D14D02178E078EE +:10E3000001F0030240EA022040F20122B0FBF2F3E6 +:10E3100002FB130015B900F2012080B2E070000A80 +:10E3200060F30101217000207BE410B50C4600F081 +:10E330000FF810B10178490704D4012010BD000086 +:10E34000FC050020C18821804079A0700020F5E7FD +:10E350000749CA88824209D340B1096800EB4000EE +:10E360006FF00B0202EB80000844704700207047FA +:10E37000FC05002070B504460D4621462B460AB91F +:10E38000002070BD01E0491C5B1C501E021E03D022 +:10E3900008781E78B042F6D008781E78801BF0E727 +:10E3A00030B50C4601462346051B954206D202E0D5 +:10E3B000521E9D5C8D54002AFAD107E004E01D78BE +:10E3C0000D70491C5B1C521E002AF8D130BDF0B5FF +:10E3D0000E460146334680EA030404F00304B4B950 +:10E3E00006E002B9F0BD13F8017B01F8017B521E73 +:10E3F00001F00307002FF4D10C461D4602E080CD4A +:10E4000080C4121F042AFAD221462B4600BF04E022 +:10E4100013F8014B01F8014B521E002AF8D100BF3E +:10E42000E0E7F0B50C460146E6B204E002B9F0BD03 +:10E4300001F8016B521E01F00307002FF6D10B46C5 +:10E44000E5B245EA052545EA054501E020C3121F6E +:10E45000042AFBD2194602E001F8016B521E002A81 +:10E46000FAD100BFE3E710B508F0C9FBF4F730FAC2 +:10E4700008F040FABDE8104008F008BB202834BF7F +:10E48000012000207047012303FA00F04FF0A04262 +:10E49000002914BFC2F80C05C2F8080570474FF0F8 +:10E4A000A041012202FA00F0C1F81805704770B5CA +:10E4B0000346002002466FF02F050EE09C5CA4F19D +:10E4C00030060A2E02D34FF0FF3070BD00EB800003 +:10E4D00005EB4000521C2044D2B28A42EED370BDFC +:10E4E00030B50A230BE0B0FBF3F403FB1404B0FBDC +:10E4F000F3F08D183034521E05F8014CD2B2002AC8 +:10E50000F1D130BD30B500234FF6FF7510E0040A9D +:10E5100044EA002084B2C85C6040C0F30314604049 +:10E5200005EA00344440E0B25B1C84EA40109BB230 +:10E530009342ECD330BD00002DE9F041FE4B0026A4 +:10E54000012793F864501C7893F868C0B8B183F839 +:10E550009140A3F8921083F8902083F88E70BCF15C +:10E56000000F0CBF83F8946083F89450F3488068E0 +:10E57000008804F070FCBDE8F04104F005B94FF6E6 +:10E58000FF7083F89140A3F8920083F8902083F8FD +:10E590008E70BCF1000F14BF83F8945083F8946020 +:10E5A000BDE8F0812DE9F041E44D296891F89C2007 +:10E5B0000024012A23D091F89620012A30D091F826 +:10E5C0006C301422DC4E0127012B32D091F88E30B2 +:10E5D000012B4FD091F8A620012A1CBF0020BDE8D6 +:10E5E000F08144701F2200F8042B2222A731FFF78C +:10E5F000EEFE286880F8A6400120BDE8F081447056 +:10E600001B220270D1F89D204260D1F8A1208260C7 +:10E6100091F8A520027381F89C400120BDE8F081AB +:10E62000447007220270D1F89820426081F8964029 +:10E63000E2E78046447000F8042B20226E31FFF799 +:10E64000C6FE88F80870286880F86C4090F86E0064 +:10E650000028D1D1B6F87000A6F89800A868417BD0 +:10E6600086F89A1086F89670008804F0F4FB04F09F +:10E670009AF8C1E791F86C30012B0BD04470172247 +:10E680000270D1F890204260B1F89420028181F8A4 +:10E690008E40B1E78046447000F8042B20226E3192 +:10E6A000FFF795FE88F80870286880F86C4090F8AD +:10E6B0006E000028A0D1CDE7A048006890F86C104B +:10E6C000002914BFB0F870004FF6FF70704770B5A6 +:10E6D0009A4C06462068002808BFFFDF0025206806 +:10E6E00045706660002808BFFFDF20684178002978 +:10E6F0001CBFFFDF70BDCC220021FFF792FE206817 +:10E70000FF2101707F2180F83710132141842821D7 +:10E7100080F86910012180F85C1080F8615008F0E1 +:10E72000CBFFBDE8704008F012B984490968097848 +:10E7300081420CBF0120002070478048006890F89B +:10E740002200C0F3400070477C48006890F8220027 +:10E7500000F0010070477948006890F82200C0F38B +:10E76000001070472DE9F0437448D0F800C09CF8C1 +:10E770002400BCF82240C0F38001C0F340021144E1 +:10E7800000F001000144C4F30010F0B1132C17D0C5 +:10E7900009DC102C02BF6A4830F81100BDE8F08394 +:10E7A000122C0DD008E0152C08BF664809D01D2C8E +:10E7B00004BF6548BDE8F083FFDF0020BDE8F083BB +:10E7C000624830F81100BDE8F0839CF85E209CF8A8 +:10E7D0005F002E2600234FF47A774FF014084FF095 +:10E7E0004009022A04BF4AF2D745B5FBF7F510D01D +:10E7F000012A04BF4AF22F75B5FBF7F510D04AF68F +:10E800002315B5FBF7F5082A08BF4E4613D0042A96 +:10E8100018D01E46082A0ED0042A13D0022A49D046 +:10E8200003F12806042A0FD0082A1CBF4FF019084C +:10E83000082204D00AE04FF0140806F5A8764FF03D +:10E84000400203E006F5A8764FF0100218FB0262C2 +:10E8500012FB0152C1EB01113D4D01EB810105EBB2 +:10E860008101114414F0010F4FF4C8724FF4BF75C9 +:10E8700004BFC4F34006002E5DD0C4F3400601F58A +:10E88000A571EEB1082804BF174640260CD0042815 +:10E8900004BF2F46102607D0022807BF03F1180730 +:10E8A000042603F12807082606EB860808EB8616DF +:10E8B0003E441BE003F118064FF019080422C5E797 +:10E8C000082804BF164640270CD0042804BF2E4653 +:10E8D000102707D0022807BF03F11806042703F109 +:10E8E0002806082707EB871706EB870631449C317B +:10E8F000082804BF164640270CD0042804BF2E4623 +:10E90000102707D0022807BF03F11806042703F1D8 +:10E9100028060827C7EBC70707EB470706EB47069C +:10E920003144983114F0010F27D0082808BF402047 +:10E930001CD004280EE063E00806002068000020D8 +:10E94000B8560200C056020090891300B05602006B +:10E95000D4FEFFFF04BF2A46102007D0022807BFBD +:10E9600003F11802042003F12802082000EB400301 +:10E9700003EB0010104401443EE0082804BF144695 +:10E9800040260CD0042804BF2C46102607D00228AD +:10E9900007BF03F11804042603F12804082606EB38 +:10E9A0008616BCF840C004EB86042144BCF1EB0F92 +:10E9B00022D944F255240CF10B0C0CFB04FC4FEA59 +:10E9C0009C5C082807D0042802D0022805D008E063 +:10E9D0002A46102008E0402006E003F11802042037 +:10E9E00002E003F12802082000EB801002EB800017 +:10E9F00000F5A5700CFB001101F26710BDE8F08373 +:10EA000001F5A574082804BF164640210CD004283F +:10EA100004BF2E46102107D0022807BF03F11806B5 +:10EA2000042103F12806082101EB8111BCF848C03C +:10EA300006EB81012144BCF1EB0FDDD944F25524F2 +:10EA40000CF10B0C0CFB04FC4FEA9C5C0828C2D0B8 +:10EA50000428BDD00228C4D1BFE7FE4840F271218E +:10EA60000068806A48437047FA48006890F83600AA +:10EA7000002818BF0120704710B5F74C207B0228F2 +:10EA800018BF032808D1207D04F115010DF0EFFB1C +:10EA900008281CBF012010BD207B002816BF0228BB +:10EAA00000200120BDE8104009F006BAEA490873C9 +:10EAB0007047E849096881F8300070472DE9F04750 +:10EAC000E44C2168087B002816BF022800200120A2 +:10EAD000487301F10E0109F0D9F92168087B022879 +:10EAE00016BF03280122002281F82F204FF00800D2 +:10EAF00081F82D00487B01F10E034FF001064FF025 +:10EB00000007012804BF5B7913F0C00F0AD001F1A0 +:10EB10000E03012804D1587900F0C000402801D02C +:10EB2000002000E0012081F82E00002A04BF91F8A7 +:10EB3000220010F0040F07D0087D01F115010DF03F +:10EB400096FB216881F82D002068476006F0B0F937 +:10EB50002168C14D4FF00009886095F82D000DF037 +:10EB6000A2FB804695F82F00002818BFB8F1000FCF +:10EB700004D095F82D000DF05BF968B195F83000E0 +:10EB800000281CBF95F82E0000281DD0697B05F1D8 +:10EB90000E0001290ED012E06E734A4605F10E01F7 +:10EBA000404609F0C9F995F82D1005F10E000DF059 +:10EBB00071FC09E0407900F0C000402831D03946AE +:10EBC00005F10E0009F0F0F92068C77690F82200F0 +:10EBD00010F0040F08BFBDE8F087002795F82D005E +:10EBE0000DF0DCF9050008BFBDE8F08710210EF03C +:10EBF000D8F9002818BFBDE8F08720683A4600F130 +:10EC00001C01C676284609F097F9206800F11C011E +:10EC100060680EF0A7FC6068BDE8F04701210EF0C7 +:10EC2000BCBC0DF074FC4A4605F10E0109F084F9F4 +:10EC3000CAE7884A1268137B0370D2F80E00086096 +:10EC4000508A8880704778B583490446814D407B5F +:10EC500008732A68207810706088ADF8000080B2D0 +:10EC600000F00101C0F3400341EA4301C0F3800317 +:10EC700041EA8301C0F3C00341EAC301C0F30013BA +:10EC800041EA0311C0F3401341EA4311C0F380107D +:10EC900041EA80105084E07D012808BF012603D09E +:10ECA000022814BFFFDF0226286880F85E60607EBD +:10ECB000012808BF012603D0022814BFFFDF022667 +:10ECC000286880F85F60217B80F82410418C1D2922 +:10ECD0000CBF002161688162617D80F83610A17BE4 +:10ECE000002916BF0229002101210175D4F80F1057 +:10ECF000C0F81510B4F81310A0F81910A17E90F800 +:10ED00006B2061F3071280F86B20E17E012918BFA8 +:10ED1000002180F83410002078BD4E480068408CF7 +:10ED2000C0F3001131B1C0F38000002804BF1F20E0 +:10ED3000704702E0C0F3400109B10020704710F0B5 +:10ED4000010F14BFEE20FF20704742480068408C3E +:10ED5000C0F3001119B1C0F3800028B102E0C0F384 +:10ED6000400008B100207047012070473949002257 +:10ED700009684A664B8C1D2B0CBF81F8682081F80E +:10ED8000680070470023334A126882F85D30D1640E +:10ED9000A2F85000012082F85D0070472D4A002340 +:10EDA000126882F85C30A2F858000120516582F8A0 +:10EDB0005C0070472749096881F83500704725498C +:10EDC000096881F8610070472248006890F9610085 +:10EDD00070472048006890F82200C0F34010704748 +:10EDE0001C48006890F82200C0F3C0007047012062 +:10EDF00070471848006890F85F00704770B508F0D9 +:10EE00003CFC08F01BFC08F0DCFA08F089FB114C14 +:10EE10002068416E491C416690F83300002530B1EE +:10EE200008F04AFC07F093FD206880F83350206812 +:10EE3000457090F8381021B1BDE87040042009F009 +:10EE4000C0BC90F8681009B3406E81421ED80420FF +:10EE500004E00000680000200806002009F0B1FC72 +:10EE6000206890F8220010F0010F07D0A06843221C +:10EE70000188BDE870400120FFF75EBBBDE870402F +:10EE800043224FF6FF710020FFF756BBBDE87040EC +:10EE9000002009F096BC2DE9F04782B00F4682466B +:10EEA000FE4E4FF000093068458C15F0030F10D06E +:10EEB00015F0010F05F0020005D0002808BF4FF043 +:10EEC000010906D004E0002818BF4FF0020900D164 +:10EED000FFDF4FF00008444615F0010F05F0020077 +:10EEE0000DD080B915F0040F0DD048F00800002FA8 +:10EEF0001CBF40F0010040F0020438D06EE010B1B9 +:10EF000015F0040F0DD015F0070F10D015F0010FFC +:10EF100005F002002ED0002808BF15F0040F1FD006 +:10EF200035E0002F18BF48F0090457D12CE02FB16D +:10EF300048F0080415F0200F4CD04FE0306805F081 +:10EF40002001B0F84800084308BF48F0010445D04C +:10EF500048F0180415F0200F08BF44F001043DE00C +:10EF600048F00800002F18BF40F0010436D140F0EF +:10EF7000100433E0002818BF15F0040F07D0002F4D +:10EF800018BF48F00B0429D148F0180426E015F00A +:10EF9000030F22D115F0040F1FD03FB128F002005B +:10EFA00040F0080415F0200F14D017E0306805F089 +:10EFB0002001B0F84800084308BF48F003040DD012 +:10EFC00048F0180015F0200F08BF40F0010040F095 +:10EFD000020403E024F0010400E0FFDF15F0400F1D +:10EFE00012D07FB93068B0F84810002904BF408CB7 +:10EFF00010F0010F06D110F0020F04BF10F0200F27 +:10F0000015F0010F44F040047068A0F8008001780A +:10F0100021F0200101704FF007010EF06FFA494610 +:10F0200070680EF062FC214670680EF06AFC14F005 +:10F03000010F0CD04FF006034FF0000298497068A2 +:10F040000EF039FC3068417B70680EF099FA14F0CC +:10F05000020F18D0D6E90010BAF1000F4FF00603E6 +:10F060004FF0010207D01C310EF025FC0121706821 +:10F070000EF093FA07E015310EF01DFC3068017DAB +:10F0800070680EF08AFA14F0040F18BFFFDF14F056 +:10F09000080F19D0CDF800803068BDF80020022399 +:10F0A000B0F86A1061F30B02ADF8002090F86B0025 +:10F0B000032201099DF8010061F307108DF801009A +:10F0C000694670680EF0F7FB012F62D13068B0F826 +:10F0D0004810E1B390F82200C0F34000B8BB70685C +:10F0E0000EF0FFFB401CC7B23068C7F1FF05B0F857 +:10F0F0004820B0F85A10511AA942B8BF0D46AA428A +:10F100003BD990F8220010F0010F36D144F01004E2 +:10F11000214670680EF0F5FBF81CC0B2ED1E2844C5 +:10F1200082B23068B0F86A10436EC1F30B0151FA35 +:10F1300083F190F860305B4F1944BC460023E1FB3B +:10F1400007C31B096FF0240C03FB0C1100E020E047 +:10F1500080F8601090F85F00012101F007F900903D +:10F16000BDF800009DF80210032340EA0140019021 +:10F17000042201A970680EF09EFB3068AAB2416CAF +:10F1800070680EF0ECFB3068B0F85A102944A0F813 +:10F190005A1014F0400F06D0D6E9001001230622C1 +:10F1A00061310EF088FB14F0200F18BFFFDF002044 +:10F1B000002818BFFFDF02B0BDE8F0872DE9F0435B +:10F1C000364C89B02068002808BFFFDF20684178EE +:10F1D000002936D10178FF2933D0002680F831602C +:10F1E000A0F85A60867080F83860304608F0B8F9A8 +:10F1F0002D4802AD00F1240191E80E1085E80E10B3 +:10F20000D0E90D10CDE9061002A808F097F907F033 +:10F21000F4FD206890F9610007F0C4FE234807F070 +:10F22000C7FE234808F076F9606808F09CF920686A +:10F2300090F8240010F0010F07D0252007F0C0FE41 +:10F240000AE009B00C20BDE8F08310F0020F18BFEF +:10F25000262077D007F0B4FE206890F85E102520B5 +:10F2600007F097FD206880F82C6008F073F920689B +:10F2700090F85E10002007F09FFF0F21052007F097 +:10F2800065FE206890F82E10002901BF90F82F101D +:10F29000002990F8220010F0040F0BE06800002015 +:10F2A0001606002053E4B36EA4560200AC560200CA +:10F2B000A956020075D005F0FBFD054620682946D9 +:10F2C000806806F0E4FADFF82C84074690FBF8F03B +:10F2D00008FB10704142284605F0D1FA2168886089 +:10F2E00097FBF8F04A68104448600CF0BDFF0146F7 +:10F2F0002068426891426FD8C0E90165FE4D4FF029 +:10F30000010895F82D000CF0CEFF814695F82F00EE +:10F310000127002818BFB9F1000F04D095F82D007F +:10F320000CF086FDA8B195F8300000281CBF95F8B8 +:10F330002E00002825D0687B05F10E01012816D08B +:10F340001AE0FFE710F0040F14BF2720FFDF81D180 +:10F3500082E73A466F7305F10E01484608F0ECFD6E +:10F3600095F82D1005F10E000DF094F809E048799C +:10F3700000F0C000402815D0414605F10E0008F00D +:10F3800013FE206890F8220010F0040F24D095F8A6 +:10F390002D000CF003FE05001ED010210DF001FE23 +:10F3A00040B119E00DF0B3F83A4605F10E0108F04E +:10F3B000C3FDE6E720683A4600F11C01C7762846FF +:10F3C00008F0BAFD206800F11C0160680EF0CAF870 +:10F3D000012160680EF0E1F82068417B0E3007F0F3 +:10F3E00097FD206890F85C1061B3B0F85810A0F851 +:10F3F0004810416D416490F82210C1F30011F1B939 +:10F40000B0F86A000221C0F30B05ADF80050684661 +:10F4100006F070FE28B1BDF80000C0F30B00A84252 +:10F4200004D1BDF80000401CADF800002168BDF813 +:10F430000000B1F86A2060F30B02A1F86A2020688E +:10F4400080F85C60206890F85D1039B1B0F8501019 +:10F45000A0F84010C16CC16380F85D60B0F86A101C +:10F46000426EC1F30B0151FA82F190F86020DFF88F +:10F470008CC2114463460022E1FB0C3212096FF08A +:10F48000240302FB031180F860100CF070FF0321CD +:10F4900060680CF0EFFF216881F8330009B00020AC +:10F4A000BDE8F0839649886070472DE9F043944C9D +:10F4B00083B0226892F831303BB1508C1D2808BFD0 +:10F4C000FFDF03B0BDE8F04398E401260027F1B167 +:10F4D000054692F8600007F073FD206890F85F1011 +:10F4E000FF2007F056FC20684FF4A57190F85F20CC +:10F4F000002007F029FF206890F8221011F0030F78 +:10F5000000F02C81002D00F0238100F027B992F843 +:10F5100022108046D07EC1F30011002956D0054646 +:10F5200060680780017821F020010170518C132957 +:10F5300037D01FDC102908BF022144D0122908BF90 +:10F54000062140D0FFDF6C4D606805F10E010DF023 +:10F55000FBFF697B60680EF013F82068418C1D2961 +:10F5600018BF152963D0B0F84820416C60680EF0D0 +:10F5700020F85CE0152918BF1D29E3D14FF00101E7 +:10F580000DF0BCFF6068017841F020010170216836 +:10F5900085B11C310DF0E6FF012160680DF0FDFF23 +:10F5A000D1E700210DF0AAFF6068017841F0200149 +:10F5B0000170C8E715310DF0D5FF2068017D606846 +:10F5C0000DF0EBFFBFE70DF099FFBCE70021FFF75F +:10F5D00062FC6068C17811F03F0F28D0017911F00A +:10F5E000100F24D00DF088FF2368024693F82410F2 +:10F5F000C1F38000C1F3400C604401F001010844F4 +:10F6000093F82C10C1F3800CC1F34005AC4401F019 +:10F6100001016144401AC1B293F85E0000F0A6FEF9 +:10F62000009003230422694660680EF044F92068C4 +:10F63000002590F8241090F82C0021EA000212F026 +:10F64000010F18BF01250ED111F0020F04D010F0E8 +:10F65000020F08BF022506D011F0040F03D010F0EE +:10F66000040F08BF0425B8F1000F2BD0012D1BD0CB +:10F67000022D08BF26201BD0042D14BFFFDF27203A +:10F6800016D0206890F85E10252007F082FB2068D5 +:10F6900090F82210C1F3001169B101224FF4967164 +:10F6A000002007F051FE0DE0252007F089FCE8E777 +:10F6B00007F086FCE5E790F85E204FF49671002095 +:10F6C00007F042FE206890F82C10294380F82C1097 +:10F6D00090F8242032EA01011CD04670418C132995 +:10F6E0002BD026DC102904BF03B0BDE8F08312291B +:10F6F00023D007E040420F000806002053E4B36E19 +:10F7000068000020C1F30010002818BFFFDF03B01D +:10F71000BDE8F083418C1D2908BF80F82C70DCD037 +:10F72000C1F30011002914BF80F8316080F83170F6 +:10F73000D3E7152918BF1D29DBD190F85E2003B04F +:10F740004FF00101BDE8F043084607F0F2BF00BFEB +:10F7500090F85F200121084607F0EBFF2168002D9B +:10F76000C87E7CD04A8C3D46C2F34000002808BFCA +:10F7700047F0080512F0400F18BF45F0400500287B +:10F7800019BFD1F83C90B1F84080D1F84490B1F85D +:10F7900048806068072107800DF0B0FE0021606896 +:10F7A0000EF0A3F8294660680EF0ABF815F0080FCC +:10F7B00017D02068BDF800100223B0F86A2062F369 +:10F7C0000B01ADF8001090F86B00032201099DF8C1 +:10F7D000010061F307108DF80100694660680EF0C2 +:10F7E0006AF860680DF046FF2168C0F1FE00B1F8CC +:10F7F0005A20A8EB02018142A8BF0146CFB2D0191E +:10F80000404544D245F0100160680EF07AF8606817 +:10F810000DF030FF2168C0F1FE00B1F85A10A8EBDE +:10F8200001018142A8BF0146CFB260680EF059F8CD +:10F830003844421C2068B0F86A10436EC1F30B01D3 +:10F8400051FA83F190F86030F94D1944AC46002329 +:10F85000E1FB05C34FEA131C6FF0240300E03CE01A +:10F860000CFB031180F8601090F85F00012100F09C +:10F870007DFD0090BDF800009DF80210032340EAD2 +:10F8800001400190042201A960680EF014F821687B +:10F8900091F8220010F0400F05D0012306226131BB +:10F8A00060680EF008F820683A46B0F85A0000EB9D +:10F8B000090160680EF053F82068B0F85A10394416 +:10F8C000A0F85A1008F013FA002818BFFFDF2068CC +:10F8D0004670867003B0BDE8F0830121FFF7DBFAC4 +:10F8E000F0E7D44810B50068417841B90078FF28A6 +:10F8F00005D000210846FFF7D8FD002010BD07F015 +:10F90000BCFE07F09BFE07F05CFD07F009FE0C2033 +:10F9100010BD2DE9F041C74D0446174628680E4634 +:10F9200090F86C00002818BFFFDF2868002F80F8CF +:10F930006E7018BFBDE8F0812188A0F87010618852 +:10F94000A0F88610A188A0F88810E188A0F88A1095 +:10F9500094F88C1180F88C1090F82F10002749B182 +:10F96000427B00F10E01012A04D1497901F0C00166 +:10F97000402935D090F8301041B1427B00F10E01A2 +:10F98000012A04BF497911F0C00F29D000F17A0093 +:10F99000F3F732FB6868FF2E0178C1F380116176BE +:10F9A000D0F80310C4F81A10B0F80700E0832868F4 +:10F9B0001ED0C0F88010E18BA0F8841000F1740212 +:10F9C000511E30460CF078FC002808BFFFDF286885 +:10F9D00090F8731041F0020180F87310BDE8F081D7 +:10F9E000D0F80E10C0F87A10418AA0F87E10D1E746 +:10F9F000C0F88070A0F88470617E80F87310D4F82D +:10FA00001A104167E18BA0F87810BDE8F08170B55D +:10FA1000884C0125206890F82200C0F3C00038B15E +:10FA20003C22FF21A068FFF774FF206880F86C502B +:10FA3000206890F8220010F0010F1CBFA068018818 +:10FA40004FF03C0212BF01204FF6FF710020FEF77D +:10FA500073FD206880F8385070BD7649096881F8D8 +:10FA6000320070472DE9F041002608F076FE0028AC +:10FA700000F0F7806F4C20684178002701250129AC +:10FA800006D0022901D003297BD0FFDFBDE8F08139 +:10FA9000817802270029418C37D0C1F34002002A27 +:10FAA00008BF11F0010F6DD090F85F204FF00101F9 +:10FAB0004FF0000007F03DFE216891F82200C0F3EE +:10FAC0004000002814BF0C20222091F85F1007F09E +:10FAD00060F92068477090F8330020B106F023FFEA +:10FAE000402007F0D6FD206890F83400002818BFA9 +:10FAF00007F0FCFD0021962007F064FD08F0EEF809 +:10FB0000002818BFFFDFBDE8F081C1F3001282B109 +:10FB100010293ED090F8330020B106F004FF4020B9 +:10FB200007F0B7FD206890F8221011F0040F35D0CF +:10FB300042E090F8242090F82C309A4229D1B0F875 +:10FB40004800002808BF11F0010F05D111F0020F85 +:10FB500008BF11F0200F6FD04FF001014FF00000EF +:10FB6000FFF7A3FC2068418C11F0010F04BFC1F323 +:10FB7000400100290AD1B0F85A10B0F8482091424B +:10FB800001E032E026E018BFBDE8F08180F8315096 +:10FB9000B9E7BDE8F0410021012086E490F8361075 +:10FBA000012914BF0329102646F00E0190F85E20AB +:10FBB0004FF0000007F0BDFD206890F834000028E9 +:10FBC00018BF07F093FD0021962007F0FBFC20688A +:10FBD000477098E7B0F85A10B0F84800814240D01A +:10FBE000BDE8F041012108465FE48178D9B1418C3C +:10FBF00011F0010F21D080F86C5090F86E20B0F811 +:10FC000070100120FEF798FC2068477007F035FD62 +:10FC100007F014FD07F0D5FB07F082FCBDE8F041CA +:10FC2000032008F0CEBD8178BDE8F04101203CE41E +:10FC300053E4B36E6800002013E011F0020F08BF18 +:10FC4000FFDF3FF460AFB0F85A10B0F840008142D7 +:10FC500007D001210846FFF728FC216803204870DF +:10FC600051E7BDE8F041FFF7C9B8FFF7C7B810B5D5 +:10FC7000FE4C206890F8341049B1373007F041FD50 +:10FC800018B921687F2081F8370007F025FD20682A +:10FC900090F8330018B107F00FFD06F058FE08F099 +:10FCA0005CFDA8B1206890F82210C1F3001179B171 +:10FCB0004078022818BFFFDF00210120FFF7F5FB85 +:10FCC0002068417800291EBF40780128FFDF10BD61 +:10FCD000BDE81040FFF792B82DE9F047E34C0F461E +:10FCE00080462168B8F1030F488C08BFC0F3400577 +:10FCF00008D000F0010591F83200002818BF4FF03D +:10FD0000010901D14FF0000907F04EF90646B8F19C +:10FD1000030F0CBF4FF002084FF0010835EA09004D +:10FD200008BFBDE8F087206890F8330068B10CF098 +:10FD300001FB38700146FF2807D06068C01C0CF03A +:10FD4000D2FA38780CF003FB064360680178C1F3FF +:10FD5000801221680B7D9A4208D10622C01C153101 +:10FD6000FEF708FB002808BF012000D000203978EA +:10FD7000FF2906D0C8B9206890F82D00884216D116 +:10FD800013E0A0B1616811F8030BC0F380100CF010 +:10FD90006EFA05460CF0CEFB38B128460CF0FEF8A2 +:10FDA00018B110210DF0FDF808B1012000E000208D +:10FDB000216891F8221011F0040F01D0F0B11AE07F +:10FDC000CEB9AB4890F83600002818BF404515D191 +:10FDD000616811F8030BC0F380100CF048FA044678 +:10FDE0000CF0A8FB38B120460CF0D8F818B110215F +:10FDF0000DF0D7F810B10120BDE8F0870020BDE874 +:10FE0000F0872DE9F04F994D044683B0286800260D +:10FE10004078022818BFFFDF28684FF07F0A90F86B +:10FE2000341049B1373007F06CFC002804BF286853 +:10FE300080F837A007F050FC68680DF081FB804621 +:10FE4000002C00F0418207F07DF8002800F03C8291 +:10FE5000012400274FF0FF09B8F1050F1ED1686893 +:10FE600090F8240000F01F00102817D9286890F897 +:10FE7000350098B18DF8009069460520FFF72CFFFA +:10FE8000002800F02182286880F8A64069682222B4 +:10FE9000A730C91CFEF79BFA00F016BA68680DF08F +:10FEA000DAFC002800F010824046DFF8C4814FF0F1 +:10FEB000030B062880F01A82DFE800F0FCFCFC034C +:10FEC000FCFB8DF8009069460320FFF705FF002832 +:10FED00000F0F180296891F8340010B191F89C008D +:10FEE000D8B12868817801294DD06868042107803D +:10FEF0000DF004FB08F10E0168680DF025FB98F881 +:10FF00000D1068680DF03CFB2868B0F84020C16B0C +:10FF100068680DF072FB00F05FB99DF8000081F891 +:10FF20009C400A7881F89D20FF280FD001F19F02A4 +:10FF30009E310CF0C1F9002808BFFFDF286890F857 +:10FF40009E1041F0020180F89E100DE06868027872 +:10FF5000C2F3801281F89E20D0F80320C1F89F20C0 +:10FF6000B0F80700A1F8A300286800F1A50490F8F4 +:10FF700037007F2808BFFFDF286890F8371021700E +:10FF800080F837A0ADE790F822000721C0F3801970 +:10FF900038480479686869F3861407800DF0AEFA72 +:10FFA000002168680DF0A1FC214668680DF0A9FCED +:10FFB0000623002208F10E0168680DF07CFC286819 +:10FFC000417B68680DF0DCFA68680DF053FB296826 +:10FFD000B1F84020C0F1FE018A42B8BF1146CFB24D +:10FFE000BA423CD9F81EC7B244F0100A51466868BC +:10FFF0000DF087FC68680DF074FC384400F10108CE +:020000040001F9 +:100000002868B0F86A10426EC1F30B0151FA82F110 +:1000100090F86020184C0A44A4460023E2FB04C375 +:1000200019096FF0240301FB032180F8601090F898 +:100030005F004246012100F099F90190BDF80400EB +:100040009DF80610032340EA01400290042202A911 +:1000500068680DF030FC514668680DF052FCB9F14B +:10006000000F0FD0D5E90010012307E06800002041 +:1000700008060020A456020053E4B36E0622613144 +:100080000DF019FC28683A46C16B68680DF067FCF2 +:100090002868A0F85A70B0F840108F420CBF0121B8 +:1000A000002180F8311007F022FE002818BFFFDF82 +:1000B00092E007E01AE128688078002840F0068185 +:1000C00000F002B98DF8009068680178C1F38019DA +:1000D000D0F803100191B0F80700ADF808006946A8 +:1000E0000520FFF7F9FD0028286879D081780029DC +:1000F00078D090F85FA0D5E90104D0F80F10C4F8CB +:100100000E10B0F813106182417D2175817D6175FB +:10011000B0F81710E182B0F819106180B0F81B1028 +:10012000A180B0F81D10E18000F11F0104F108006A +:1001300015F0A1F9686890F8241001F01F012176EC +:1001400090F824000021400984F88C0184F864A010 +:1001500084F865A004F130000DF00CFE2868002240 +:1001600090F8691084F8661090F8610084F86700D0 +:100170009DF80010A868FFF7CCFB022008F021FBD7 +:10018000A9480DF1040A08210468686807800DF089 +:10019000B5F9002168680DF0A8FB214668680DF0EC +:1001A000B0FB0623002208F10E0168680DF083FB06 +:1001B0002868417B68680DF0E3F9494668680DF0EE +:1001C000ECF906230122514668680DF074FB07F034 +:1001D0008EFD002818BFFFDF286880F801B077E0A7 +:1001E0006DE0FFE76868D5F808804FF001090278F4 +:1001F00098F80D10C2F34012114088F80D10D0F895 +:100200000F10C8F80E10B0F81310A8F81210417DA6 +:1002100088F81410817D88F81510B0F81710A8F828 +:100220001610B0F81910A8F80210B0F81B10A8F8B2 +:100230000410B0F81D10A8F8061000F11F0108F115 +:10024000080015F018F9686890F8241001F01F01F3 +:1002500088F8181090F824000021400988F88C01D3 +:1002600088F8649088F8659008F130000DF082FD00 +:100270002868002290F8691088F8661090F86100EC +:1002800088F867009DF80010A868FFF742FB28680F +:1002900080F86C4090F86E20B0F870100120FEF7E6 +:1002A0004BF92868477007F0E8F907F0C7F907F03D +:1002B00088F807F035F9012008F083FA08E090F893 +:1002C0002200C0F3001008B1012601E0FEF796FD00 +:1002D000286890F8330018B107F0EEF906F037FB04 +:1002E00066B100210120FFF7E0F810E0286890F8DF +:1002F0002200C0F300100028E8D0E5E728688178E4 +:10030000012904D190F85F10FF2006F042FD286813 +:100310004178002919BF4178012903B0BDE8F08F69 +:100320004078032818BFFFDF03B0BDE8F08F70B539 +:100330003E4C06460D462068807858B106F090FC89 +:1003400021680346304691F85F202946BDE8704099 +:1003500008F0E2BF06F084FC21680346304691F8BD +:100360005E202946BDE8704008F0D6BF78B50C463F +:1003700000210091082804BF4FF4C87040210DD01F +:10038000042804BF4FF4BF70102107D0022807BF14 +:1003900001F11800042101F128000821521D02FB7F +:1003A000010622489DF80010006890F8602062F372 +:1003B000050141F040058DF8005090F85F000128DC +:1003C00004BF9DF8020020F0E0002AD0022818BFE8 +:1003D000FFDF21D025F080008DF80000C4EB041071 +:1003E00000EB80001E2101EB800006FB0404104896 +:1003F000844228BFFFDF0F48A0FB0410BDF80110A6 +:10040000000960F30C01ADF80110BDF800009DF883 +:10041000021040EA014078BD9DF8020020F0E000A3 +:1004200020308DF80200D5E7A456020068000020B5 +:10043000C4BF0300898888880178406829B190F892 +:100440002C1190F88C0038B901E001F0C5BC19B14D +:10045000042901D0012070470020704770B50C4678 +:100460000546062102F0C4FB606008B1002006E0EA +:100470000721284602F0BCFB606018B10120207003 +:10048000002070BD022070BD2DE9FC470C460646D9 +:100490006946FFF7E3FF00287DD19DF8000050B1C9 +:1004A000FEF70AF9B0427CD0214630460AF0DAF86D +:1004B000002873D12DE00DF085FDB04271D02146AA +:1004C000304612F05DFD002868D1019D95F8F000DE +:1004D00022E0012000E00020804695F839004FF02E +:1004E000010A4FF00009F0B195F83A0080071AD5DB +:1004F00084F8019084F800A084F80490E68095F8D0 +:100500003B102172A98F6181E98FA18185F8399013 +:1005100044E0019D95F82C0170350028DBD1287F3F +:100520000028D8D0D5E7304602F0A7FC070000D15C +:10053000FFDF384601F0B5FE40B184F801900F218D +:100540002170E680208184F804A027E0304602F084 +:1005500082FC070000D1FFDFB8F1000F21D0384640 +:1005600001F0F7FEB8B19DF8000038B90198D0F855 +:1005700018014188B14201D180F80090304607F05F +:1005800003FC84F801900C21217084F80490E6802B +:10059000697F217200E004E085F81C900120BDE82D +:1005A000FC870020FBE71CB56946FFF757FF00B149 +:1005B000FFDF684601F01CFCFE4900208968A1F8B5 +:1005C000F2001CBD2DE9FC4104460E46062002F057 +:1005D000B7FA0546072002F0B3FA2844C7B200254F +:1005E000A8463E4417E02088401C80B22080B042DC +:1005F00002D34046A4F8008080B2B84204D3B0428F +:1006000002D20020BDE8FC816946FFF727FF0028E1 +:10061000F8D06D1CEDB2AE42E5D84FF6FF702080E9 +:100620001220EFE738B54FF6FF70ADF800000DE08F +:100630000621BDF8000002F0EDFA04460721BDF8DE +:10064000000002F0E7FA0CB100B1FFDF00216846BC +:10065000FFF7B8FF0028EBD038BD70B507F002FCFB +:100660000BF0EFFBD44C4FF6FF7600252683668314 +:10067000D2A0257001680079A4F14002657042F8AB +:10068000421FA11C1071601C12F097FD1B202081DD +:100690004FF4A4716181A081E18103212177617709 +:1006A0002174042262746082A082A4F13E00E1827F +:1006B00005704680BF480C300570A4F1100005702D +:1006C000468084F8205070BD70B5BA4C16460D4671 +:1006D0006060217007F03EFBFFF7A4FFFFF7BDFF4E +:1006E000207810F0CCFAB7480DF0B2FD21786068A0 +:1006F00012F008FD20780AF0F7FD284608F0E4FB28 +:10070000B048FDF7E4FF217860680AF085F83146CB +:10071000207812F0B5FFBDE870400BF092BB10B529 +:1007200001240AB1002010BD21B1012903D0002409 +:10073000204610BD02210DF04FF9F9E710B50378FE +:100740000446002B406813460A46014608D00120A3 +:100750000CF0BBFE6168496A884203D9012010BDD4 +:100760000020F5E7002010BD887800B90320C97883 +:1007700001B90321107019700020704730B587B09F +:10078000044600886946FFF769FE002806D1A08864 +:1007900030B1012804D0022802D0122007B030BDA9 +:1007A00004AB03AA21466846FFF7DEFF0400F5D13B +:1007B0009DF80010012000250029019906D081F83C +:1007C000C501019991F8101291BB29E081F82F0120 +:1007D000019991F8561139B9019991F82E1119B969 +:1007E000019991F8971009B13A2415E006950199FD +:1007F00081F82E01019A9DF80C0082F83001019BCE +:100800009DF8102083F831218DF818008DF81920FB +:1008100006AA00200CF069FD019880F82F5122E013 +:10082000019991F8C41119B9019991F8971009B17A +:100830003A2415E00695019981F8C401019A9DF8C2 +:100840000C0082F8C601019B9DF8102083F8C72197 +:100850008DF818008DF8192006AA01200CF045FD2E +:10086000019880F8C551204698E710B5044600204D +:10087000A17801B90120E2780AB940F0020001F044 +:10088000C6FA002803D12046BDE8104076E710BD27 +:1008900070B50D4604460189002380880CF01AFDCE +:1008A000696A81421DD2401A401CA1884008091A79 +:1008B0008AB2A2802189081A2081668895F864107E +:1008C00010460CF0E5FC864200D230466080E68897 +:1008D00095F8651020890CF0DBFC864200D230468A +:1008E000E08070BDF0B585B00D46064603A9FFF760 +:1008F000B5FD00282DD19DF80C0060B300220499AD +:10090000FB20B1F84E30FB2B00D30346B1F850402A +:10091000FB20FB2C00D30446DFF8ACC09CE8811020 +:1009200000900197CDF808C0ADF80230ADF8064050 +:100930006846FFF7ADFF6E80BDF80400E880BDF8A3 +:1009400008006881BDF80200A880BDF80600288173 +:10095000002005B0F0BD0122D1E72DE9F04186B0BD +:10096000044600886946FFF779FD00287ED1218979 +:10097000E08801F066FA00287FD1A188608801F044 +:1009800060FA002879D12189E08801F050FA002826 +:1009900073D1A188608801F04AFA07006DD12088E0 +:1009A00002A9FFF79FFF00B1FFDFBDF810106288BA +:1009B00009200BE07400002014080020FFFFFFFF57 +:1009C0001F000000D4060020E0560200914254D3DC +:1009D000BDF80C10E28891424FD3BDF81210BDF85B +:1009E0000E2023891144A2881A44914245D39DF8D0 +:1009F0000010019D4FF00008012640F6480041B16B +:100A000085F8BB61019991F8FC1105F5DD7541B9D7 +:100A10001AE085F82561019991F84A1105F592755A +:100A200009B13A2726E0E18869806188E980218957 +:100A3000814200D30146A980A188814200D20846A4 +:100A40002881012201990FE0E18869806188E980AD +:100A50002189814200D30146A980A188814200D228 +:100A60000846288101990022284600E005E0FFF7AA +:100A70000FFF2E7085F80180384606B0BDE8F08182 +:100A80006BE770B504460DF053FAB0B12078182822 +:100A900011D1207901280ED1E088062102F0A8F8B2 +:100AA000040008D0208807F06FF92088062102F0A2 +:100AB000B1F800B1FFDF012070BDF94D28780028A2 +:100AC000FAD0002666701420207020223146201DA6 +:100AD000FDF7A7FC022020712E70ECE710B504464C +:100AE000FDF760FD002813D0207817280FD120795A +:100AF00068B1E088072102F07BF840B1008807F078 +:100B000043F9E088072102F085F800B1FFDF0120FA +:100B100010BD2DE9F0475FEA000800D1FFDFE04893 +:100B200002211A308146FFF74DFD00B1FFDFDC4C9A +:100B30000620678B02F004F80546072002F000F853 +:100B40002844C5B2681CC6B2608BB04203D140468F +:100B5000FFF7C4FF58B9608BA84203D14046FFF7A6 +:100B600090FF20B9608B4146FFF78EFC38B14046BC +:100B700001F075F90028E7D10120BDE8F0870221D6 +:100B80004846FFF71FFD10B9608BB842DCD14046E4 +:100B9000BDE8F04712F0B9BD10B501F0C5F808B1D5 +:100BA0000C2010BD0BF0A1F9002010BD10B50446BB +:100BB000007818B1012801D0122010BD01F0C5F84D +:100BC00020B10BF043FB08B10C2010BD207801F0E0 +:100BD00085F8E21D04F11703611CBDE810400BF01D +:100BE0002ABA10B5044601F09FF808B10C2010BDD8 +:100BF000207828B1012803D0FF280BD0122010BD87 +:100C000001F06CF8611C0BF030F908B1002010BD48 +:100C1000072010BD01200BF062F9F7E710B50BF0CB +:100C200018FB08B1002010BD302010BD10B50446DF +:100C300001F08BF808B10C2010BD20460BF003FB2F +:100C4000002010BD10B501F080F820B10BF0FEFAC5 +:100C500008B10C2010BD0BF053FA002010BDFF218D +:100C600081704FF6FF7181808E4949680A788271E0 +:100C70008A880281498841810121417000207047A2 +:100C80001CB5002412F1080F15D00CDC12F1280F4E +:100C900011D012F1140F0ED012F1100F0BD012F16F +:100CA0000C0F0ED107E012F1040F04D01AB1032A81 +:100CB00001D0042A05D1012806D0022808D0032833 +:100CC0000AD0122420461CBD1046FEF778F8F9E73A +:100CD00010460DF0B8FAF5E7084614466946FFF7E6 +:100CE000BDFB08B10224EDE79DF80000019880F8F3 +:100CF00067400024E6E710B5134601220CF08EF998 +:100D0000002010BD10B5044610F07EFD052804D06B +:100D100020460FF0A3FF002010BD0C2010BD10B521 +:100D2000044601F012F808B10C2010BD2146002045 +:100D300007F099F8002010BD10B5044610F01DF81A +:100D400050B108F017FB38B1207808F0C9F82078C6 +:100D50000DF03AFD002010BD0C2010BD10B504466A +:100D600000F0F3FF08B10C2010BD2146012007F070 +:100D70007AF8002010BD38B504464FF6FF70ADF884 +:100D80000000A079E179884216D02079FDF776FB42 +:100D900090B16079FDF772FB70B10022A079114625 +:100DA00013F0AEF840B90022E079114613F0A8F82C +:100DB00010B9207A072801D9122038BD08F0E7FAC7 +:100DC00060B910F021FD48B900216846FFF7FAFB31 +:100DD00020B1204605F0B6FF002038BD0C2038BDFC +:100DE0002DE9FC41817805461A2925D00EDC16290B +:100DF0002ED2DFE801F02D2D2D2D2D212D2D2D2D85 +:100E00002D2D2D2D2D2D2D2D2D2121212A291FD0A8 +:100E10000BDCA1F11E010C291AD2DFE801F019192F +:100E20001919191919191919190D3A3904290FD253 +:100E3000DFE801F00E020E022888B0F5706F07D2CD +:100E400001276946FFF70AFB20B10220BDE8FC81BB +:100E50001220FBE79DF8000000F047FF019C10B155 +:100E600004F58A7401E004F5C8749DF8000000F0F0 +:100E70003CFF019E10B106F2151601E006F2911634 +:100E80006846FFF7D9FA08B1207808B10C20DDE7F1 +:100E90002770A8783070684600F0AAFF0020D5E7D8 +:100EA00014080020740000207CB50D466946FFF749 +:100EB000D5FA002618B12E602E7102207CBD9DF857 +:100EC000000000F012FF019C9DF80000703400F05B +:100ED0000CFF019884F8426081682960017B2971C8 +:100EE00094F842100029F5D100207CBD10B50446CD +:100EF00000F02BFF20B10BF0A9F908B10C2010BDB8 +:100F0000207800F0EBFEE279611C0BF020FB08B1C9 +:100F1000002010BD022010BD10B5886E60B1002207 +:100F200041F8682F0120CA718979884012F0DCFFEE +:100F3000002800D01F2010BD0C2010BD1CB50C4691 +:100F40006946FFF78BFA002809D19DF800000028B8 +:100F50000198B0F8700000D0401C208000201CBD1B +:100F60001CB5044600886946FFF778FA08B10220EC +:100F70001CBD606828B1DDE90001224600F0C3FF16 +:100F80001CBDDDE90001FFF7C7FF1CBD2DE9F041E5 +:100F900004460078012804D018B1022801D00328A3 +:100FA0001ED1607828B1012803D0022801D003287F +:100FB00016D1E07B10B9A078012811D1A07830F0CB +:100FC00005020DD110F0050F0AD0400801D0112004 +:100FD00054E5E078E68862890F4618B1012801D00F +:100FE00012204BE5104600F0CCFF302558B13946B1 +:100FF000304600F0D0FF30B1A07B0028F0D00728A9 +:10100000EED800203AE5284638E51FB5044600F042 +:1010100080FE10B10C2004B010BD022104F10A00C2 +:1010200000F0C3FFA0788DF80800A0788DF80000CC +:1010300060788DF8040020788DF80300A07B8DF88F +:101040000500E07B00B101208DF80600A078C00704 +:101050000CD0E078012812D098B100208DF8010062 +:10106000E088ADF80A006089ADF80C0002A80FF026 +:1010700090FE0028CFD168460DF0ABFBCBE70220F5 +:10108000ECE70120EAE710B504460121FFF77EFFF7 +:10109000002803D12046BDE81040B6E710BD027815 +:1010A000012A01D0BAB118E042783AB1012A05D03C +:1010B000022A12D189B1818879B100E059B1418801 +:1010C00049B1808838B101EB8101490000EB800013 +:1010D000B1EB002F01D2002070471220704770B58D +:1010E000044600780D46012809D010F08DFB052834 +:1010F00003D00FF05EFD002800D00C2070BD0DF075 +:101100005CFA88B10DF06EFA0DF043FB0028F5D1C2 +:1011100025B160780DF0F4FA0028EFD1A18860883D +:10112000BDE870400FF050BE122070BD10B50446EF +:101130000121FFF7B4FF002804D12046BDE810408C +:101140000121CCE710BDF0B5871FDDE9056540F64C +:101150007B44A74213D28F1FA74210D288420ED8D9 +:10116000B2F5FA7F0BD2A3F10A00241FA04206D2E7 +:10117000521C4A43B2EB830F01DAAE4201D9002080 +:10118000F0BD0120F0BD2DE9FC41477A88460446B8 +:1011900017F0050F73D0F80871D1780701D5112029 +:1011A00054E694F83A0008B9012F68D100252E467C +:1011B000F8071BD088F00105208A294600F0E1FEDF +:1011C00048B36089294600F0E6FE20B3208A618991 +:1011D000884254D8A18EE08DCDE90001238D628C28 +:1011E000A18BE08AFFF7AFFFA8B10125B8070ED5A4 +:1011F00004EB4500828EC18DCDE90012038D428C37 +:10120000818BC08AFFF79FFF28B12E466D1CB8F175 +:10121000000F02D023E0302018E6228A012119E0D5 +:10122000B14203D004EB4100008A024404EB4100C8 +:10123000C38A878ABB4222D1838B478BBB421ED194 +:10124000438C078CBB421AD1038DC08C834216D1CC +:10125000491CC9B2A942E3D3608990420FD32078D8 +:1012600010B101280BD102E0A0780028F9D16078F4 +:1012700038B1012805D0022803D0032801D012205C +:10128000E4E50020E2E500217DE70178C90702D00E +:10129000406812F00EBA12F0DBB910B500780128E0 +:1012A00000D00020FDF786FD002010BD2DE9F0479D +:1012B00088B00D46AFF6FC02D2E900920146904696 +:1012C0002846FFF760FF06000CD100F022FD40B970 +:1012D000FE4F387828B90CF075FEA0F57F41FF3934 +:1012E00002D00C2008B048E4032105F1100000F002 +:1012F0005CFEF64801AA3E380190F5480290F3489A +:1013000006211038039006A801F040FC040037D0F5 +:1013100000210BF028FC04F130017B8ABA8ACB83D0 +:101320000A84797C0091BA463B7CBA8A798A208803 +:1013300001F01AFD00B1FFDF208806F024FD2188AE +:1013400004F10E0000F00BFDE2A004F112070068AA +:1013500000900321684604F0C3FE002069460A5C41 +:101360003A54401CC0B20328F9D3A88B6080688C23 +:10137000A080288DE080687AC10703D0012706E0AD +:101380000920AFE7800701D5022700E000273A4691 +:10139000BAF8160011460FF0ABFD0146A0622046D8 +:1013A0000FF0B4FD3A46214600200BF09CFF00B937 +:1013B0000926C64A21461C3200200BF096FF002762 +:1013C00084F8767084F87770A87800F087FC6076EF +:1013D000D5F80300C4F81A00B5F80700E083C4F894 +:1013E000089084F80C80012084F8200101468DF8D3 +:1013F0000070684604F074FE9DF8000000F00701DC +:10140000C0F3C1021144C0F3401008448DF800003D +:10141000401D2076092801D208302076012120467F +:101420000BF0A1FB68780DF0D3F8E6BBA97828781B +:10143000EA1C0DF0A0F848B10DF0D4F8A97828788E +:10144000EA1C0DF037F9060002D03AE0122638E027 +:10145000687A00F001010020CA0700D00120890746 +:1014600001D540F002000DF06FF8060029D12146A9 +:1014700003200DF049F9060023D1687A00F001013C +:101480008DF81010C00705D06889ADF81200288AC1 +:10149000ADF8140004A80FF07CFC064695F83A005D +:1014A00000B1012000E00CE00DF060F84EB90DF045 +:1014B00070F9060005D1A98F20460FF00BFC06003D +:1014C00008D0208806F060FC2088062101F0A2FBED +:1014D00000B1FFDF304605E701460020E6E638B5FB +:1014E0007A48007878B910F08FF9052805D00CF00B +:1014F00069FDA0F57F41FF3905D068460FF0A7FCD4 +:10150000040002D00CE00C2038BD0098008806F0E2 +:101510003BFC00980621008801F07CFB00B1FFDF56 +:10152000204638BD1CB582894189CDE90012038966 +:10153000C28881884088FFF706FE08B100201CBDE4 +:1015400030201CBD70B50546FFF7ECFF00280ED11A +:101550002888062101F04CFB040007D000F03CFC79 +:1015600020B1D4F81801017831B901E0022070BD32 +:10157000D4F86411097809B13A2070BD0521817150 +:10158000D4F8181100200881D4F81811A8884881CF +:10159000D4F81811E8888881D4F818112889C881EE +:1015A000D4F81801028941898A4204D88279082A2C +:1015B00001D88A4201D3122070BD29884180D4F815 +:1015C000181102200870002070BD3EB504460BF0D3 +:1015D000B7FCB0B13D480125A0F140024570236839 +:1015E00042F8423F23790021137141706946062079 +:1015F00001F087FA00B1FFDF684601F060FA10B130 +:101600000EE012203EBDBDF80440029880F8205143 +:10161000684601F054FA18B9BDF80400A042F4D1AC +:1016200000203EBD70B505460088062101F0E0FAB5 +:10163000040007D000F0D0FB20B1D4F818110878CE +:1016400030B901E0022070BDD4F86401007808B11F +:101650003A2070BDB020005D10F0010F1BD0D5F80E +:1016600002004860D5F806008860D4F8180169893E +:1016700010228181D4F8180105F10C010E3004F517 +:101680008C74FCF7A4FE2168032008702168288868 +:101690004880002070BD0C2070BD38B5044600782D +:1016A000EF2854D86088ADF80000009800F090FC56 +:1016B000C0B36188080708D4D4E90120824246D823 +:1016C000202A44D3B0F5804F41D805E0140800200B +:1016D0008000002011223300207B18B3072836D861 +:1016E000607B28B1012803D0022801D003282ED125 +:1016F0004A0703D4022801D0032805D1A07B08B1F2 +:10170000012824D1480707D4607D28B1012803D0DF +:10171000022801D003281AD1C806E07D03D501288C +:1017200015D110E013E0012801D003280FD1C8061D +:1017300009D4607E012803D0022801D0032806D1F5 +:10174000A07E0F2803D8E07E18B1012801D0122016 +:1017500038BD002038BDF8B515460E46044607F0E2 +:1017600016FE08B10C20F8BD2046FFF796FF0028B2 +:10177000F9D1E07D03280BD0A078C00602D4607EAA +:10178000032805D0FDF720FB3070A07515B10CE0E3 +:101790001120F8BDFF208DF8000069460020FDF7FC +:1017A000FDFA69460020FDF7EDFA2046BDE8F84055 +:1017B000FDF749BA0022CEE70078C10801D0122017 +:1017C0007047FC4981F820000020704710B504469E +:1017D0000078C00704D1608810B1FDF7B6FA80B177 +:1017E0002078618800F00102607800F015FC002884 +:1017F00006D1FDF792FA01466088884203D9072096 +:1018000010BD122010BD6168FDF7C8FA002010BDA0 +:1018100010B504460078C00704D1608810B1FCF709 +:101820008CFF70B12078618800F00102607800F0D0 +:10183000F3FB002804D160886168FDF7A3FA00205B +:1018400010BD122010BD7CB5044640784225012809 +:1018500008D8A078FCF769FF20B12078122501286C +:1018600002D090B128467CBDFDF7BAFA20B1A0881D +:101870000028F7D08028F5D8FDF7B9FA60B1607874 +:101880000028EFD02078012808D006F09FFB0446FE +:1018900007F077FA00287FD00C207CBDFDF7ECF82C +:1018A00010B9FDF796FA90B307F071FD0028F3D157 +:1018B000FCF702FFA0F57F41FF39EDD1FDF7FEF8FF +:1018C000A68842F210704643A079FDF74FFAFCF764 +:1018D0003BFFF8B10022072101A801F057F90400ED +:1018E00058D0B5480021846020460AF0F9FF204610 +:1018F000FDF7D8FDAF4D04F130006A8AA98AC28392 +:101900000184FCF728FF60B1E88A01210DE0FFE7C0 +:1019100012207CBD3146002007F0E5FA88B3FFDFD6 +:1019200044E0FDF766FA0146E88A07F087FB0146C6 +:10193000A0620022204606F04CFBFCF70CFF38B9F1 +:10194000FDF757FA0246214601200BF0CCFCD0B13E +:10195000984A21461C3201200BF0C7FC687C00909D +:101960002B7CAA8A698A208801F0FEF900B1FFDF8A +:10197000208806F008FA3146204607F0B4FA00B194 +:10198000FFDF13E008E00721BDF8040001F042F991 +:1019900000B1FFDF09207CBD44B1208806F0F4F9D6 +:1019A0002088072101F036F900B1FFDF00207CBD5F +:1019B000002148E770B50D46072101F019F9040030 +:1019C00003D094F8930110B10AE0022070BD94F89E +:1019D0007D00142801D0152802D194F8E00108B147 +:1019E0000C2070BD1022294604F5CA70FCF7EFFCEC +:1019F000012084F89301002070BD10B5072101F08B +:101A0000F7F818B190F8931111B107E0022010BD5A +:101A100090F87D10142903D0152901D00C2010BD99 +:101A2000022180F89311002010BD2DE9FC410C46E5 +:101A30004BF68032122194421CD8DCB16946FEF785 +:101A40000DFD002815D19DF8000000F04EF9019E13 +:101A50009DF80000703600F048F9019DAD1C2F88FC +:101A60002246394630460AF0F6FE2888B842F6D1BA +:101A7000002005E4084603E47CB504460088694676 +:101A8000FEF7ECFC002810D19DF8000000F02DF9C5 +:101A9000019D9DF80000703500F027F90198A278AB +:101AA00090F82C10914201D10C207CBD7F2129722D +:101AB000A9720021E972E17880F82D10217980F86F +:101AC0002E10A17880F82C1000207CBD1CB50C468F +:101AD0006946FEF7C3FC00280AD19DF8000000F01B +:101AE00004F9019890F88C0000B1012020700020CA +:101AF0001CBD7CB50D4614466946FEF7AFFC0028B8 +:101B000009D19DF8000000F0F0F8019890F82C0041 +:101B1000012801D00C207CBD9DF8000000F0E5F804 +:101B2000019890F87810297090F8790020700020C2 +:101B30007CBD70B50D461646072101F059F818B363 +:101B400081880124C388428804EB4104AC4217D841 +:101B500042F210746343A4106243B3FBF2F2521ECC +:101B600094B24FF4FA72944200D91446A54200D2BE +:101B70002C46491C641CB4FBF1F24A43521E91B23C +:101B800090F8CC211AB901E0022070BD01843180A7 +:101B9000002070BD10B50C46072101F029F868B18E +:101BA00080F8FF4024B190F8FD1009B107F05CFA0D +:101BB000002010BD14080020740000200220F8E767 +:101BC000017889B1417879B141881B290CD381888A +:101BD0001B2909D3C188022906D3FC4902680A657A +:101BE00040684865002070471220704710B50446D1 +:101BF0000FF07AF9204607F0F0F90020D9E710B588 +:101C000007F0EEF90020D4E72DE9F04115460F4624 +:101C100006460122114638460FF06AF904460121B2 +:101C2000384607F00BFA844200D2044601213046C0 +:101C300000F060F806460121002000F05BF8311842 +:101C4000012096318C4206D901F19600611AB1FB50 +:101C5000F0F0401C80B228800020BDE8F08110B573 +:101C6000044600F072F808B10C20A2E7601C0AF0EC +:101C700049FC207800F00100FCF71BFF207800F001 +:101C800001000CF0AAFC002093E710B504460720E1 +:101C900000F048FF08B10C208BE72078C00711D076 +:101CA00000226078114612F02BF908B1122080E76B +:101CB000A06809F022F96078D4F8041009F026F938 +:101CC000002076E7002009F018F900210846F5E722 +:101CD00010B5006804F0C1FF00206AE718B10228BF +:101CE00001D0012070470020704708B100207047E4 +:101CF0000120704710B5012904D0022905D0FFDF6B +:101D0000204656E7C000503001E080002C3084B2FD +:101D1000F6E710B50FF078FD042803D0052801D0B0 +:101D2000002046E7012044E710B5FFF7F2FF10B1AD +:101D30000CF0F3FC28B907F02AFB20B1FCF794FE65 +:101D400008B1012035E7002033E710B5FFF7E1FFC8 +:101D500018B907F01CFB002800D0012029E72DE965 +:101D6000FE4300250F4680460A260421404604F023 +:101D7000E0F940460BF0C0F8062000F0E1FE044612 +:101D800015E06946062000F0BCFE0AE0BDF804003C +:101D9000B84206D00298042241460E30FCF7EAFA17 +:101DA00050B1684600F08BFE0500EFD0641E002C99 +:101DB00006DD002DE5D005E040460BF0A6F8F5E77E +:101DC00005B9FFDFD8F800000AF04FFD761E01D0FC +:101DD0000028CAD0BDE8FE8390F8F01090F88C007F +:101DE00020B919B1042901D00120704700207047A3 +:101DF000017800290AD0416891F8FD20002A05D019 +:101E0000002281F8FD20406807F02EB9704770B5B8 +:101E100014460546012200F013F9002806D1214698 +:101E20002846BDE87040002200F00AB970BDFB28CA +:101E300003D840F64800814201D9112070470020A4 +:101E400070471B38E12806D2B1F5A47F03D344F2D2 +:101E50009020814201D912207047002070471FB5A1 +:101E60005A49403191F82010CA0702D102781D2A40 +:101E70000AD08A0702D402781C2A28D049073DD408 +:101E80000178152937D039E08088ADF8000002A923 +:101E9000FEF7E4FA00B1FFDF9DF80800FFF725FF29 +:101EA000039810F8601F8DF8021040788DF8030039 +:101EB0000020ADF8040001B9FFDF9DF8030000B970 +:101EC000FFDF6846FEF7D1FCD8B1FFDF19E080885C +:101ED000ADF8000040F64801FB20ADF80410ADF865 +:101EE0000200ADF80600ADF808106846FEF7C8FD20 +:101EF00038B1FFDF05E0807BC00702D0002004B0CE +:101F000057E60120FBE7F8B50746508915460C4611 +:101F100040B1B0F5004F05D20022A878114611F06B +:101F2000EFFF08B11220F8BDA06E04F1700630B1C9 +:101F3000A97894F86E00814201D00C20F8BD0121EF +:101F400084F86F10A97884F86E106968A1666989B1 +:101F5000A4F86C102889B084002184F86F102888B8 +:101F60006946FEF7EBFFB08CBDF80010081A00B20E +:101F7000002804DD21463846FEF7CEFFDDE70020CD +:101F8000F8BD042803D321B9B0F5804F01D9002052 +:101F9000704701207047042803D321B9B0F5804F62 +:101FA00001D9002070470120704710B500224FF47E +:101FB000C84408E030F81230A34200D9234620F884 +:101FC0001230521CD2B28A42F4D3F2E5D407002078 +:101FD00080B2C1060BD401071CD481064FEAC07140 +:101FE00001D5B9B900E099B1800713D410E04106DA +:101FF00010D481060ED4C1074FEA807104D00029A5 +:1020000002DB400704D405E0010703D4400701D4F4 +:10201000012070470020704770B50C460546FF2927 +:1020200004D8FCF798FB18B11F2C01D9122070BD01 +:102030002846FCF77AFB08B1002070BD422070BD35 +:102040000AB1012200E00222024202D1880802D134 +:1020500009B10020704711207047000030B5058895 +:1020600025F4004421448CB24FF4004194420AD23A +:10207000121B92B21B339A4201D2A94307E005F426 +:102080000041214303E0A21A92B2A9431143018007 +:1020900030BD0844083050434A31084480B270478C +:1020A00070B51D4616460B46044629463046049A2E +:1020B000FFF7EFFF0646B34200D2FFDF28220021E0 +:1020C0002046FCF7AEF94FF6FF70A082283EB0B272 +:1020D00065776080B0F5004F00D9FFDF618805F1BA +:1020E0003C00814200D2FFDF60880835401B343855 +:1020F00080B220801B2800D21B2020800020A077E7 +:1021000070BD8161886170472DE9F05F0D46C1881F +:10211000044600F12809008921F4004620F4004813 +:1021200000F063FB10B10020BDE8F09F4FF0000A03 +:102130004FF0010BB0450CD9617FA8EB0600401AA7 +:102140000838854219DC09EB060000210580418032 +:102150001AE06088617F801B471A083F0DD41B2F4F +:1021600000DAFFDFBD4201DC294600E0B9B2681A9F +:102170000204120C04D0424502DD84F817A0D2E715 +:1021800009EB06000180428084F817B0CCE770B5F7 +:10219000044600F12802C088E37D20F400402BB102 +:1021A00010440288438813448B4201D2002070BD42 +:1021B00000258A4202D30180458008E0891A09047B +:1021C000090C418003D0A01D00F01FFB08E0637FD5 +:1021D00000880833184481B26288A01DFFF73EFFD3 +:1021E000E575012070BD70B5034600F12804C5886F +:1021F000808820F400462644A84202D1002018829C +:1022000070BD98893588A84206D3401B75882D1A61 +:102210002044ADB2C01E05E02C1AA5B25C7F20445C +:102220003044401D0C88AC4200D90D809C8924B1FB +:10223000002414700988198270BD0124F9E770B573 +:10224000044600F12801808820F400404518208AC7 +:10225000002825D0A189084480B2A08129886A88F5 +:102260001144814200D2FFDF288869880026084493 +:10227000A189884212D1A069807F2871698819B12B +:10228000201D00F0C2FA08E0637F28880833184454 +:1022900081B26288201DFFF7E1FEA681268201201F +:1022A00070BD2DE9F041418987880026044600F180 +:1022B0002805B94219D004F10A0800BF21F40040F2 +:1022C0002844418819B1404600F09FFA08E0637F36 +:1022D00000880833184481B262884046FFF7BEFE8A +:1022E000761C6189B6B2B942E8D13046BDE8F081CA +:1022F0002DE9F04104460B4627892830A68827F4AB +:102300000041B4F80A8001440D46B74201D10020D3 +:10231000ECE70AB1481D106023B1627F691D1846C1 +:10232000FCF755F82E88698804F1080021B18A1954 +:1023300096B200F06AFA06E0637F62880833991962 +:1023400089B2FFF78BFE474501D120896081304675 +:10235000CCE78188C088814201D1012070470020EC +:10236000704701898088814201D101207047002097 +:10237000704770B58588C38800F1280425F40042B1 +:1023800023F4004114449D421AD08389058A5E19C2 +:1023900025886388EC18A64214D313B18B4211D35D +:1023A0000EE0437F08325C192244408892B2801AC2 +:1023B00080B22333984201D211B103E08A4201D1A5 +:1023C000002070BD012070BD2DE9F0478846C1880E +:1023D0000446008921F4004604F1280720F4004552 +:1023E00007EB060900F001FA002178BBB54204D9D9 +:1023F000627FA81B801A002503E06088627F801B33 +:10240000801A083823D4E28962B1B9F80020B9F8FB +:1024100002303BB1E81A2177404518DBE0893844A7 +:10242000801A09E0801A217740450ADB607FE18944 +:102430000830304439440844C01EA4F81280BDE876 +:10244000F087454503DB01202077E7E7FFE761825E +:102450000020F4E72DE9F74F044600F12805C08875 +:10246000884620F4004A608A05EB0A0608B1404518 +:1024700002D20020BDE8FE8FE08978B13788B6F837 +:10248000029007EB0901884200D0FFDF207F4FF068 +:10249000000B50EA090106D088B33BE00027A07F7B +:1024A000B9463071F2E7E18959B1607F29440830BB +:1024B00050440844B4F81F1020F8031D94F821106C +:1024C0008170E28907EB080002EB0801E1813080AE +:1024D000A6F802B002985F4650B1637F3088083397 +:1024E000184481B26288A01DFFF7B8FDE78121E0A2 +:1024F000607FE18908305044294408442DE0FFE71B +:10250000E089B4F81F102844C01B20F8031D94F87C +:102510002110817009EB0800E28981B202EB08000A +:10252000E081378071800298A0B1A01D00F06DF9A4 +:10253000A4F80EB0A07F401CA077A07D08B1E08871 +:10254000A08284F816B000BFA4F812B084F817B0C7 +:1025500001208FE7E0892844C01B30F8031DA4F850 +:102560001F10807884F82100EEE710B5818800F113 +:10257000280321F400442344848AC288A14212D053 +:10258000914210D0818971B9826972B11046FFF70A +:10259000E8FE50B91089283220F40040104419791F +:1025A0000079884201D1002010BD184610BD00F10D +:1025B0002803407F08300844C01E1060088808B90E +:1025C000DB1E136008884988084480B270472DE9F3 +:1025D000F04100F12806407F1C4608309046431821 +:1025E00008884D88069ADB1EA0B1C01C80B29042BC +:1025F00014D9801AA04200DB204687B298183A46C8 +:102600004146FBF7B7FE002816D1E01B84B2B84460 +:10261000002005E0ED1CADB2F61EE8E7101A80B20E +:102620000119A94206D8304422464146BDE8F0418E +:10263000FBF7A0BE4FF0FF3058E62DE9F04100F166 +:102640002804407F1E46083090464318002508881D +:102650004F88069ADB1E90B1C01C80B2904212D9FE +:10266000801AB04200DB304685B299182A464046AF +:10267000FBF7ADFE701B86B2A844002005E0FF1CEE +:10268000BFB2E41EEAE7101A80B28119B94206D837 +:10269000211832464046FBF79AFEA81985B2284613 +:1026A00024E62DE9F04100F12804407F1E46083061 +:1026B00090464318002508884F88069ADB1E90B183 +:1026C000C01C80B2904212D9801AB04200DB304662 +:1026D00085B298182A464146FBF779FE701B86B2F0 +:1026E000A844002005E0FF1CBFB2E41EEAE7101A70 +:1026F00080B28119B94206D8204432464146FBF7E0 +:1027000066FEA81985B22846F0E5401D704710B551 +:10271000044600F12801C288808820F4004319444F +:10272000904206D0A28922B9228A12B9A28A904286 +:1027300001D1002010BD0888498831B1201D00F06A +:1027400064F800202082012010BD637F6288083376 +:10275000184481B2201DFFF781FCF2E70021C181FE +:1027600001774182C1758175704703881380C289E2 +:1027700042B1C28822F4004300F128021A440A60E0 +:10278000C08970470020704710B50446808AA0F5C4 +:102790007F41FF3900D0FFDFE088A082E08900B1EF +:1027A0000120A07510BD4FF6FF7181820021817557 +:1027B000704710B50446808AA0F57F41FF3900D1EB +:1027C000FFDFA07D28B9A088A18A884201D100201E +:1027D00010BD012010BD8188828A914201D1807D87 +:1027E00008B1002070470120704720F4004221F416 +:1027F00000439A4207D100F4004001F400418842AE +:1028000001D0012070470020704730B50446008891 +:102810000D4620F40040A84200D2FFDF21884FF48B +:10282000004088432843208030BD70B50C00054629 +:1028300009D0082C00D2FFDF1DB1A1B2286800F03A +:1028400044F8201D70BD0DB100202860002070BD2F +:102850000021026803E093881268194489B2002AB3 +:10286000F9D100F032B870B500260D4604460829AB +:1028700000D2FFDF206808B91EE004462068818886 +:10288000A94202D001680029F7D181880646A942F1 +:1028900001D100680DE005F1080293B200229942CF +:1028A00009D32844491B026081802168096821609E +:1028B0000160206000E00026304670BD00230B6000 +:1028C0008A8002680A600160704700234360021D2D +:1028D000018102607047F0B50F46018840881546B7 +:1028E0000C181E46AC4200D3641B3044A84200D9E9 +:1028F000FFDFA019A84200D9FFDF3819F0BD2DE98C +:10290000F041884606460188408815460C181F4647 +:10291000AC4200D3641B3844A84200D9FFDFE01961 +:10292000A84200D9FFDF70883844708008EB0400AB +:10293000BDE8F0812DE9F041054600881E461746A6 +:10294000841B8846BC4200D33C442C8068883044B9 +:10295000B84200D9FFDFA019B84200D9FFDF68886C +:102960003044688008EB0400E2E72DE9F041068876 +:102970001D460446701980B2174688462080B8422A +:1029800001D3C01B20806088A84200D2FFDF7019ED +:10299000B84200D9FFDF6088401B608008EB06006A +:1029A000C6E730B50D460188CC18944200D3A41A6E +:1029B0004088984200D8FFDF281930BD2DE9F0414A +:1029C000C84D04469046A8780E46A04200D8FFDFC6 +:1029D00005EB8607B86A50F8240000B1FFDFB8683D +:1029E000002816D0304600F044F90146B868FFF7D9 +:1029F0003AFF05000CD0B86A082E40F8245000D3E6 +:102A0000FFDFB9484246294650F82630204698470D +:102A10002846BDE8F0812DE9F8431E468C19914601 +:102A20000F460546FF2C00D9FFDFB14500D9FFDF77 +:102A3000E4B200954DB300208046E81C20F003006E +:102A4000A84200D0FFDF4946DFF89892684689F82F +:102A5000001089F8017089F8024089F8034089F86C +:102A6000044089F8054089F8066089F807704146F6 +:102A700000F008F9002142460F464B460098C01C62 +:102A800020F00300009012B10EE00120D4E703EB28 +:102A90008106B062002005E0D6F828C04CF820700E +:102AA000401CC0B2A042F7D30098491C00EB840040 +:102AB000C9B200900829E1D3401BBDE8F88310B5E6 +:102AC0000446EEF7ECFB08B1102010BD2078854AD3 +:102AD000618802EB800092780EE0836A53F821301F +:102AE00043B14A1C6280A180806A50F82100A06036 +:102AF000002010BD491C89B28A42EED861800520B1 +:102B000010BD70B505460C460846EEF7C8FB08B187 +:102B1000102070BD082D01D3072070BD2570002046 +:102B2000608070BD0EB56946FFF7EBFF00B1FFDFB7 +:102B30006846FFF7C4FF08B100200EBD01200EBD9E +:102B400010B50446082800D3FFDF6648005D10BDBD +:102B50003EB5054600246946FFF7D3FF18B1FFDFF5 +:102B600001E0641CE4B26846FFF7A9FF0028F8D032 +:102B70002846FFF7E5FF001BC0B23EBD59498978E2 +:102B8000814201D9C0B27047FF2070472DE9F04162 +:102B9000544B062903D007291CD19D7900E000255C +:102BA00000244FF6FF7603EB810713F801C00AE01B +:102BB0006319D7F828E09BB25EF823E0BEF1000F5E +:102BC00004D0641CA4B2A445F2D83346038018464E +:102BD000B34201D100201CE7BDE8F041EEE6A0F5CC +:102BE0007F43FF3B01D0082901D300207047E5E671 +:102BF000A0F57F42FF3A0BD0082909D2394A9378D1 +:102C0000834205D902EB8101896A51F8200070479F +:102C1000002070472DE9F04104460D46A4F57F41A0 +:102C200043F20200FF3902D0082D01D30720F0E65D +:102C30002C494FF000088A78A242F8D901EB8506AA +:102C4000B26A52F82470002FF1D02748394620305C +:102C500050F8252020469047B16A284641F8248044 +:102C600000F007F802463946B068FFF727FE00205B +:102C7000CFE61D49403131F810004FF6FC71C01C01 +:102C8000084070472DE9F843164E88460546002453 +:102C90002868C01C20F0030028602046FFF7E9FFE9 +:102CA000315D4843B8F1000F01D0002200E02A68EE +:102CB0000146009232B100274FEA0D00FFF7B5FD43 +:102CC0001FB106E001270020F8E706EB8401009A17 +:102CD0008A602968641C0844E4B22860082CD7D3B1 +:102CE000EBE6000038080020EC56020070B50E46F6 +:102CF0001D46114600F0D5F804462946304600F03E +:102D0000D9F82044001D70BD2DE9F04190460D46D4 +:102D100004004FF0000610D00027E01C20F0030054 +:102D2000A04200D0FFDFE5B141460020FFF77DFD66 +:102D30000C3000EB850617B113E00127EDE7624F79 +:102D400004F10C00AA003C602572606000EB850075 +:102D5000206000216068FBF764FB41463868FFF79C +:102D600064FD3046BDE8F0812DE9FF4F564C8046AA +:102D700081B020689A46934600B9FFDF2068027A46 +:102D8000424503D9416851F8280020B143F20200BE +:102D900005B0BDE8F08F5146029800F082F886B287 +:102DA00058460E9900F086F885B27019001D87B25A +:102DB0002068A14639460068FFF755FD04001FD082 +:102DC000678025802946201D0E9D07465A4601230F +:102DD0000095FFF765F92088314638440123029AAF +:102DE000CDF800A0FFF75CF92088C1193846FFF73D +:102DF00088F9D9F800004168002041F82840C7E769 +:102E00000420C5E770B5304C0546206800B9FFDFE7 +:102E10002068017AA9420ED9426852F8251051B1B2 +:102E2000002342F825304A880068FFF747FD2168F3 +:102E300000200A7A08E043F2020070BD4B6853F8A4 +:102E4000203033B9401CC0B28242F7D80868FFF77F +:102E5000FFFC002070BD70B51B4E05460024306895 +:102E600000B9FFDF3068017AA94204D9406850F800 +:102E7000250000B1041D204670BD70B5124E0546F8 +:102E80000024306800B9FFDF3068017AA94206D912 +:102E9000406850F8251011B131F8040B4418204651 +:102EA00070BD10B50A460121FFF7F3F8C01C20F0F1 +:102EB000030010BD10B50A460121FFF7EAF8C01C57 +:102EC00020F0030010BD00008800002070B504460B +:102ED000C2F110052819FBF77AFA15F0FF0109D0A5 +:102EE000491ECAB28020A0542046BDE8704000218F +:102EF000FBF797BA70BD30B505E05B1EDBB2CC5C6A +:102F0000D55C6C40C454002BF7D130BD10B5002403 +:102F100009E00B78521E44EA430300F8013B11F824 +:102F2000013BD2B2DC09002AF3D110BD2DE9F043F8 +:102F300089B01E46DDE9107990460D00044622D086 +:102F400002460846F949FDF7D6FE102221463846CA +:102F5000FFF7DCFFE07B000606D5F44A3946102374 +:102F600010320846FFF7C7FF102239464846FFF7E0 +:102F7000CDFFF87B000606D5EC4A494610231032F7 +:102F80000846FFF7B8FF102200212046FBF749FA58 +:102F90000DE0103EB6B208EB06011023224668464B +:102FA000FFF7A9FF224628466946FDF7A4FE102E2A +:102FB000EFD818D0F2B241466846FFF787FF1023DA +:102FC0004A46694604A8FFF796FF1023224604A943 +:102FD0006846FFF790FF224628466946FDF78BFEBC +:102FE00009B0BDE8F08310233A464146EAE770B5E0 +:102FF0009CB01E460546134620980C468DF80800E6 +:10300000202219460DF10900FBF7E1F920222146A3 +:103010000DF12900FBF7DBF917A913A8CDE9000191 +:10302000412302AA31462846FFF780FF1CB070BD3D +:103030002DE9FF4F9FB014AEDDE92D5410AFBB4911 +:10304000CDE90076202320311AA8FFF76FFF4FF05B +:1030500000088DF808804FF001098DF8099054F8A8 +:10306000010FCDF80A00A088ADF80E0014F8010C8D +:103070001022C0F340008DF8100055F8010FCDF874 +:103080001100A888ADF8150015F8010C2C99C0F3B3 +:1030900040008DF8170006A88246FBF798F90AA8A9 +:1030A000834610222299FBF792F9A048352308386D +:1030B00002AA40688DF83C80CDE900760E901AA9EE +:1030C0001F98FFF733FF8DF808808DF8099020686E +:1030D000CDF80A00A088ADF80E0014F8010C1022FB +:1030E000C0F340008DF810002868CDF81100A888C2 +:1030F000ADF8150015F8010C2C99C0F340008DF8BF +:1031000017005046FBF763F9584610222299FBF747 +:103110005EF986483523083802AA40688DF83C904D +:10312000CDE900760E901AA92098FFF7FFFE23B094 +:10313000BDE8F08FF0B59BB00C460546DDE92210E6 +:103140001E461746DDE92032D0F801C0CDF808C090 +:10315000B0F805C0ADF80CC00078C0F340008DF8A1 +:103160000E00D1F80100CDF80F00B1F80500ADF860 +:10317000130008781946C0F340008DF81500108838 +:10318000ADF8160090788DF818000DF11900102296 +:10319000FBF71DF90DF1290010223146FBF717F955 +:1031A0000DF1390010223946FBF711F917A913A8C0 +:1031B000CDE90001412302AA21462846FFF7B6FEC9 +:1031C0001BB0F0BDF0B5A3B017460D4604461E4631 +:1031D000102202A82899FBF7FAF806A820223946FF +:1031E000FBF7F5F80EA820222946FBF7F0F81EA9F8 +:1031F0001AA8CDE90001502302AA314616A8FFF70C +:1032000095FE1698206023B0F0BDF0B589B0044655 +:10321000DDE90E070D463978109EC1F340018DF8A7 +:10322000001031789446C1F340018DF801101968FF +:10323000CDF802109988ADF8061099798DF808102C +:103240000168CDF809108188ADF80D1080798DF8EE +:103250000F0010236A46614604A8FFF74CFE224681 +:10326000284604A9FDF747FDD6F801000090B6F8FE +:103270000500ADF80400D7F80100CDF80600B7F856 +:103280000500ADF80A000020039010236A4621468D +:1032900004A8FFF730FE2246284604A9FDF72BFDBF +:1032A00009B0F0BD1FB51C6800945B6801931368FA +:1032B000029352680392024608466946FDF71BFDD9 +:1032C0001FBD10B588B00446106804905068059082 +:1032D00000200690079008466A4604A9FDF70BFDFA +:1032E000BDF80000208008B010BD1FB51288ADF8F1 +:1032F00000201A88ADF80220002201920292039267 +:10330000024608466946FDF7F6FC1FBD7FB5074B30 +:1033100014460546083B9A1C6846FFF7E6FF22461E +:1033200069462846FFF7CDFF7FBD000044570200E5 +:1033300070B5044600780E46012813D0052802D047 +:10334000092813D10EE0A06861690578042003F014 +:10335000D7F9052D0AD0782300220420616903F0F3 +:1033600025F903E00420616903F0CAF931462046DB +:10337000BDE8704001F08AB810B500F12D03C279A4 +:103380009C78411D144064F30102C271D2070DD034 +:103390004A795C7922404A710A791B791A400A718C +:1033A0008278C9788A4200D9817010BD00224A71A2 +:1033B000F5E74178012900D00C21017070472DE913 +:1033C000F04F93B04FF0000B0C690D468DF820B014 +:1033D000097801260C2017464FF00D084FF0110A0E +:1033E0004FF008091B2975D2DFE811F01B00C40259 +:1033F00007031F035E037103A303B803F9031A0451 +:1034000062049504A204EF042D05370555056005F7 +:10341000F3053606390668068406FE062207EB0623 +:10342000F00614B120781D282AD0D5F808805FEA6C +:1034300008004FD001208DF82000686A02220D900C +:103440008DF824200A208DF82500A8690A90A88804 +:103450000028EED098F8001091B10F2910D27DD23B +:10346000DFE801F07C1349DEFCFBFAF9F8F73808D5 +:103470009CF6F50002282DD124B120780C2801D02B +:103480000026F0E38DF82020CBE10420696A03F0E8 +:1034900037F9A8880728EED1204600F0F2FF02286D +:1034A00009D0204600F0EDFF032807D9204600F0A0 +:1034B000E8FF072802D20120207004E0002CB8D0D9 +:1034C00020780128D7D198F80400C11F0A2902D317 +:1034D0000A2061E0C4E1A070D8F80010E162B8F8F9 +:1034E0000410218698F8060084F832000120287024 +:1034F0000320207044E00728BDD1002C99D020780B +:103500000D28B8D198F8031094F82F20C1F3C0000B +:10351000C2F3C002104201D0062000E00720890754 +:1035200007D198F805100142D2D198F8061001424F +:10353000CED194F8312098F8051020EA0202114209 +:10354000C6D194F8322098F8061090430142BFD1BA +:1035500098F80400C11F0A29BAD200E008E2617D90 +:1035600081427CD8D8F800106160B8F8041021813D +:1035700098F80600A072012028700E202070032009 +:103580008DF82000686A0D9004F12D000990601DEF +:103590000A900F300B9022E12875FCE3412891D16D +:1035A000204600F06EFF042802D1E078C00704D165 +:1035B000204600F066FF0F2884D1A88CD5F80C8037 +:1035C00080B24FF0400BE669FFF745FC32464146BA +:1035D0005B464E46CDF80090FFF72FF80B208DF894 +:1035E0002000686A0D90E0690990002108A8FFF7A3 +:1035F0009FFE2078042806D0A07D58B1012809D06C +:1036000003280AD04AE305202070032028708DF893 +:103610002060CEE184F800A032E712202070EAE1B9 +:103620001128BCD1204600F02CFF042802D1E078FC +:10363000C00719D0204600F024FF062805D1E07805 +:10364000C00711D1A07D02280ED0204608E0CCE0B2 +:1036500084E072E151E124E103E1E9E019E0B0E145 +:1036600000F00FFF11289AD1102208F1010104F196 +:103670003C00FAF7ACFE607801286ED01220207072 +:10368000E078C00760D0A07D0028C8D00128C6D04F +:103690005AE0112890D1204600F0F3FE082804D00B +:1036A000204600F0EEFE132886D104F16C001022B3 +:1036B00008F101010646FAF78AFE207808280DD0A5 +:1036C00014202070E178C8070DD0A07D02280AD010 +:1036D0006278022A04D00328A1D035E00920F0E75F +:1036E00008B1012837D1C80713D0A07D02281DD00A +:1036F00000200090D4E9062133460EA8FFF777FC9E +:1037000010220EA904F13C00FAF734FEC8B10420DF +:1037100042E7D4E90912201D8DE8070004F12C03CB +:1037200032460EA8616BFFF770FDE9E7606BC1F3ED +:103730004401491E0068C84000F0010040F08000CC +:10374000D7E72078092806D185F800908DF82090D9 +:1037500036E32870EFE30920FBE79EE1112899D1B9 +:10376000204600F08EFE0A2802D1E078C00704D17E +:10377000204600F086FE15288CD104F13C00102272 +:1037800008F101010646FAF722FE20780A2816D031 +:1037900016202070D4E90932606B611D8DE80F009E +:1037A00004F15C0304F16C0247310EA8FFF7C2FC80 +:1037B00010220EA93046FAF7DDFD18B1F9E20B2010 +:1037C000207073E22046FFF7D7FDA078216AC0F190 +:1037D00010020B1800211846FAF723FE26E339469B +:1037E00008A8FFF7A5FD06463CE20228B7D120460F +:1037F00000F047FE042804D3204600F042FE0828CB +:1038000009D3204600F03DFE0E2829D3204600F0C3 +:1038100038FE122824D2A07D0228A0D10E208DF8D7 +:103820002000686A0D9098F801008DF82400F5E3F7 +:10383000022894D1204600F024FE002810D0204613 +:1038400000F01FFE0128F9D0204600F01AFE0C28D7 +:10385000F4D004208DF8240098F801008DF825009C +:1038600060E21128FCD1002CFAD020781728F7D17B +:103870006178606A022912D05FF0000101EB41011A +:10388000182606EBC1011022405808F10101FAF791 +:103890009EFD0420696A00F0E7FD2670F0E5012135 +:1038A000ECE70B28DCD1002CDAD020781828D7D10F +:1038B0006078616A02281CD05FF0000000EB4002D3 +:1038C000102000EBC2000958B8F8010008806078A9 +:1038D000616A02280FD0002000EB4002142000EBA8 +:1038E000C2000958404650F8032F0A6040684860FB +:1038F00039E00120E2E70120EEE71128B0D1002CE9 +:10390000AED020781928ABD16178606A022912D034 +:103910005FF0000101EB41011C2202EBC10110220A +:10392000405808F10101FAF752FD0420696A00F0DD +:103930009BFD1A20B6E00121ECE7082890D1002C6D +:103940008ED020781A288BD1606A98F801200178EF +:1039500062F347010170616AD8F8022041F8012F33 +:10396000B8F8060088800420696A00F07DFD90E2C6 +:10397000072011E63878012894D1182204F11400A8 +:103980007968FAF724FDE079C10894F82F0001EA7C +:10399000D001E07861F30000E070217D002974D14E +:1039A0002178032909D0C00725D0032028708DF87D +:1039B0002090686A0D90412008E3607DA1788842DC +:1039C00001D90620E8E502262671E179204621F09A +:1039D000E001E171617A21F0F0016172A17A21F0D8 +:1039E000F001A172FFF7C8FC2E708DF82090686A74 +:1039F0000D900720EAE20420ABE6387805289DD137 +:103A00008DF82000686A0D90B8680A900720ADF81C +:103A100024000A988DF830B06168016021898180A6 +:103A2000A17A817104202070F8E23978052985D1C6 +:103A30008DF82010696A0D91391D09AE0EC986E80E +:103A40000E004121ADF824108DF830B01070A88C14 +:103A5000D7F80C8080B24026A769FFF70EFA4146DE +:103A60003A463346C846CDF80090FEF71AFE0021CC +:103A700008A8FFF75DFCE07820F03E00801CE070B5 +:103A80002078052802D00F200CE04AE1A07D20B16B +:103A9000012802D0032802D002E10720BEE584F805 +:103AA0000080EDE42070EBE4102104F15C0002F0F2 +:103AB00040FB606BB0BBA07D18B1012801D0052090 +:103AC000FDE006202870F8486063A063C2E2387801 +:103AD000022894D1387908B12875B7E3A07D02286F +:103AE00002D0032805D022E0B8680028F5D0606332 +:103AF0001CE06078012806D0A07994F82E100128E7 +:103B000005D0E94806E0A17994F82E00F7E7B868F7 +:103B10000028E2D06063E078C00701D0012902D01C +:103B2000E14803E003E0F8680028D6D0A06306204F +:103B30000FE68DF82090696A0D91E1784846C90733 +:103B400009D06178022903D1A17D29B1012903D0CF +:103B5000A17D032900D00720287033E1387805289B +:103B6000BBD1207807281ED084F800A005208DF84E +:103B70002000686A0D90B8680A90ADF824A08DF80E +:103B800030B003210170E178CA070FD0A27D022A6C +:103B90001AD000210091D4E9061204F15C03401C04 +:103BA000FFF725FA6BE384F80090DFE7D4E90923F7 +:103BB000211D8DE80E0004F12C0304F15C02401C71 +:103BC000616BFFF722FB5AE3626BC1F34401491EAC +:103BD0001268CA4002F0010141F08001DAE738784A +:103BE0000528BDD18DF82000686A0D90B8680A904C +:103BF000ADF824A08DF830B0042100F8011B10228C +:103C000004F15C01FAF7E3FB002108A8FFF790FB41 +:103C10002078092801D0132044E70A2020709AE573 +:103C2000E078C10742D0A17D012902D0022927D026 +:103C300038E0617808A8012916D004F16C010091E0 +:103C4000D4E9061204F15C03001DFFF7BBFA0A2059 +:103C5000287003268DF82080686A0D90002108A83E +:103C6000FFF766FBE1E2C7E204F15C010091D4E9F1 +:103C7000062104F16C03001DFFF7A4FA0026E9E712 +:103C8000C0F3440114290DD24FF0006101EBB010D4 +:103C90004FEAB060E0706078012801D01020BDE4E8 +:103CA0000620FFE6607801283FF4B6AC0A2050E514 +:103CB000E178C90708D0A17D012903D10B20287024 +:103CC000042030E028702EE00E2028706078616BB0 +:103CD000012818D004F15C0304F16C020EA8FFF770 +:103CE000E1FA2046FFF748FBA0780EAEC0F11002C3 +:103CF00030440021FAF795FB06208DF82000686A11 +:103D000009960D909BE004F16C0304F15C020EA88F +:103D1000FFF7C8FAE8E73978022903D13979002991 +:103D2000D0D0297592E28DF82000686A0D9056E592 +:103D300038780728F6D1D4E909216078012808D01D +:103D400004F16C00CDE90002029105D104F16C038D +:103D500004E004F15C00F5E704F15C0304F14C00BD +:103D60007A680646216AFFF763F96078012822D154 +:103D7000A078216AC0F110020B1800211846FAF74A +:103D800050FBD4E90923606B04F12D018DE80F008D +:103D900004F15C0300E05BE204F16C0231460EA822 +:103DA000FFF7C8F910220EA904F13C00FAF7E2FA75 +:103DB00008B10B20ACE485F8008000BF8DF820909E +:103DC000686A0D908DF824A009E538780528A9D1F6 +:103DD0008DF82000686A0D90B8680A90ADF824A0AC +:103DE0008DF830B080F80080617801291AD0D4E9CC +:103DF000092104F12D03A66B03910096CDE9013250 +:103E000004F16C0304F15C0204F14C01401CFFF767 +:103E100091F9002108A8FFF78BFA6078012805D0F6 +:103E200015203FE6D4E90912631DE4E70E2028704F +:103E300006208DF82000686ACDF824B00D90A07897 +:103E40008DF82800CBE438780328C0D1E079C0078A +:103E500070D00F202870072065E7387804286BD1D0 +:103E60001422391D04F11400FAF7B1FA616A208CAA +:103E7000A1F80900616AA078C871E179626A01F06D +:103E800003011172616A627A0A73616AA07A81F829 +:103E9000240016205DE485F800A08DF82090696A62 +:103EA00050460D9192E000004457020038780528F2 +:103EB00042D1B868A8616178606A022901D0012105 +:103EC00000E0002101EB4101142606EBC10140583E +:103ED000082102F02EF96178606A022901D00121DF +:103EE00000E0002101EB410106EBC101425802A8AC +:103EF000E169FFF70BFA6078626A022801D00120BD +:103F000000E0002000EB4001102000EBC100022384 +:103F1000105802A90932FEF7EEFF626AFD4B0EA8A7 +:103F20000932A169FFF7E1F96178606A022904D0DA +:103F3000012103E044E18DE0BFE0002101EB4101FC +:103F4000182606EBC101A27840580EA9FAF73FFAED +:103F50006178606A022901D0012100E0002101EBB3 +:103F6000410106EBC1014158A0780B18C0F11002C5 +:103F700000211846FAF755FA05208DF82000686AE6 +:103F80000D90A8690A90ADF824A08DF830B00621F4 +:103F900001706278616A022A01D0012200E00022E9 +:103FA00002EB420206EBC202401C89581022FAF7CB +:103FB0000EFA002108A8FFF7BBF91220C5F818B0C7 +:103FC00028708DF82090686A0D900B208DF82400E1 +:103FD00005E43878052870D18DF82000686A0D90C6 +:103FE000B8680A900B20ADF824000A9807210170E8 +:103FF0006178626A022901D0012100E0002101EB11 +:104000004103102101EBC30151580988A0F80110A8 +:104010006178626A022902D0012101E02FE10021CA +:1040200001EB4103142101EBC30151580A6840F828 +:10403000032F4968416059E01920287001208DF84C +:10404000300074E6162028708DF830B0002108A8E2 +:10405000FFF76EF9032617E114202870AEE63878D2 +:1040600005282AD18DF82000686A0D90B8680A905A +:10407000ADF824A08DF830B080F800906278616AC5 +:104080004E46022A01D0012200E0002202EB420249 +:104090001C2303EBC202401C89581022FAF797F93F +:1040A000002108A8FFF744F9152028708DF820603A +:1040B000686A0D908DF8246039E680E0387805282C +:1040C0007DD18DF82000686A0D90B8680A90ADF82F +:1040D000249009210170616909784908417061697A +:1040E00051F8012FC0F802208988C18020781C284F +:1040F000A8D1A1E7E078C00702D04FF0060C01E09C +:104100004FF0070C607802280AD000BF4FF0000083 +:1041100000EB040101F1090105D04FF0010004E0BA +:104120004FF00100F4E74FF000000B78204413EA51 +:104130000C030B7010F8092F02EA0C02027004D174 +:104140004FF01B0C84F800C0D2B394F801C0BCF14E +:10415000010F00D09BB990F800C0E0465FEACC7C2C +:1041600004D028F001060670102606E05FEA887C7D +:1041700005D528F00206067013262E70032694F843 +:1041800001C0BCF1020F00D092B991F800C05FEA03 +:10419000CC7804D02CF001060E70172106E05FEAFF +:1041A0008C7805D52CF002060E701921217000269E +:1041B0000078D0BBCAB3C3BB1C20207035E012E02E +:1041C00002E03878062841D11A2015E42078012829 +:1041D0003CD00C283AD02046FFF7EBF809208DF8A8 +:1041E0002000686A0D9031E03878052805D0062057 +:1041F000387003261820287046E005208DF820002E +:10420000696A0D91B9680A910221ADF82410012163 +:104210008DF830100A990870287D4870394608A832 +:10422000FFF786F8064618202870012E0ED02BE0E6 +:1042300001208DF82000686A0D9003208DF824007D +:10424000287D8DF8250085F814B012E0287D80B116 +:104250001D202070172028708DF82090686A0D901E +:1042600002208DF82400394608A8FFF761F80646B9 +:104270000AE00CB1FE2020709DF8200020B1002142 +:1042800008A8FFF755F80CE413B03046BDE8F08FEE +:104290002DE9F04387B00C464E6900218DF80410DB +:1042A00001202578034602274FF007094FF0050C3F +:1042B00085B1012D53D0022D39D1FE2030708DF8FB +:1042C0000030606A059003208DF80400207E8DF890 +:1042D000050063E02179012925D002292DD0032989 +:1042E00028D0042923D1B17D022920D131780D1F96 +:1042F000042D04D30A3D032D01D31D2917D1218993 +:10430000022914D38DF80470237020899DF80410BD +:10431000884201E03C57020018D208208DF80000C6 +:10432000606A059057E070780128EBD0052007B04F +:10433000BDE8F0831D203070E4E771780229F5D1E3 +:1043400031780C29F3D18DF80490DDE7083402F8B8 +:1043500004CB94E80B0082E80B000320E7E7157814 +:10436000052DE4D18DF800C0656A05959568029524 +:104370008DF8101094F80480B8F1010F13D0B8F143 +:10438000020F2DD0B8F1030F1CD0B8F1040FCED11D +:10439000ADF804700E202870207E687000216846F9 +:1043A000FEF7C6FF0CE0ADF804700B202870207EED +:1043B000002100F01F0068706846FEF7B9FF3770F3 +:1043C0000020B4E7ADF804708DF8103085F800C017 +:1043D000207E6870277011466846FEF7A9FFA6E7A1 +:1043E000ADF804902B70207F6870607F00F00100B2 +:1043F000A870A07F00F01F00E870E27F2A71C0075C +:104400001CD094F8200000F00700687194F8210097 +:1044100000F00700A87100216846FEF789FF2868B0 +:10442000F062A8883086A87986F83200A0694078C2 +:1044300070752879B0700D203070C1E7A97169716D +:10444000E9E700B587B004280CD101208DF8000001 +:104450008DF80400002005918DF80500014668469E +:10446000FEF766FF07B000BD70B50C46054602F0CA +:1044700047F921462846BDE870407823002202F023 +:1044800095B808B1007870470C20704770B50C00E3 +:1044900005784FF000010CD021702146F0F73BFF6A +:1044A00069482178405D884201D1032070BD022017 +:1044B00070BDF0F730FF002070BD0279012A05D0F1 +:1044C00000220A704B78012B02D003E004207047D1 +:1044D0000A758A6102799300521C0271C15003204F +:1044E0007047F0B587B00F4605460124287905EBE3 +:1044F000800050F8046C7078411E02290AD252499B +:104500003A46083901EB8000314650F8043C284611 +:10451000984704460CB1012C11D12879401E10F0A7 +:10452000FF00287101D00324E0E70A208DF8000085 +:10453000706A0590002101966846FFF7A7FF032CDB +:10454000D4D007B02046F0BD70B515460A460446E3 +:1045500029461046FFF7C5FF064674B12078FE28AD +:104560000BD1207C30B100202870294604F10C00CA +:10457000FFF7B7FF2046FEF71CFF304670BD7047BF +:1045800070B50E4604467C220021F9F74AFF022549 +:10459000012E03D0022E04D0052070BD01206070D2 +:1045A00000E065702046FEF704FFA575002070BD91 +:1045B00028B1027C1AB10A4600F10C01C4E70120BF +:1045C000704710B5044686B0042002F099F82078B0 +:1045D000FE2806D000208DF8000069462046FFF72F +:1045E000E7FF06B010BD7CB50E4600218DF8041023 +:1045F0004178012903D0022903D0002405E0046991 +:1046000000E044690CB1217C89B16D460146284621 +:10461000FFF753FF032809D1324629462046FFF70A +:1046200093FF9DF80410002900D004207CBD04F104 +:104630000C05EBE730B40C460146034A204630BC7B +:10464000024B0C3AFEF751BE805702003C57020065 +:1046500070B50D46040011D085B122010021284615 +:10466000F9F7DFFE102250492846F9F7B0FE4F480F +:104670000121017044704560002070BD012070BDB3 +:1046800070B505460024494E11E07068AA7B00EB26 +:104690000410817B914208D1C17BEA7B914204D115 +:1046A0000C222946F9F766FE30B1641CE4B230787A +:1046B0008442EAD3002070BD641CE0B270BD70B5C6 +:1046C0000546FFF7DDFF002805D1384C20786178DA +:1046D000884201D3002070BD6168102201EB0010F8 +:1046E0002946F9F774FE2078401CC0B2207070BDD6 +:1046F0002E48007870472D490878012802D0401EC6 +:1047000008700020704770B50D4600219170144666 +:104710001180022802D0102815D105E0288890B118 +:104720000121A17010800CE0284613B1FFF7C7FFEC +:1047300001E0FFF7A5FFA07010F0FF0F03D0A889DC +:104740002080002070BD012070BD0023DBE770B524 +:10475000054614460E0009D000203070A8780128C4 +:1047600006D003D911490A7890420AD9012070BDB8 +:1047700024B1287820702888000A50700220087020 +:104780000FE064B14968102201EB00112046103996 +:10479000F9F71DFE287820732888000A607310201E +:1047A0003070002070BD00008F5702008C00002088 +:1047B0002DE9F04190460C4607460025FE48072F9C +:1047C00000EB881607D2DFE807F0070707070404A5 +:1047D0000400012500E0FFDF06F81470002D13D05F +:1047E000F548803000EB880191F82700202803D09D +:1047F00006EB4000447001E081F8264006EB4402DD +:104800002020507081F82740BDE8F081F0B51F46A8 +:1048100014460E460546202A00D1FFDFE649E64849 +:10482000803100EB871C0CEB440001EB8702202E4B +:1048300007D00CEB460140784B7848701846202191 +:104840000AE092F82530407882F82500F6E7014624 +:104850000CEB410005704078A142F8D192F8274056 +:10486000202C03D00CEB4404637001E082F8263066 +:104870000CEB41042023637082F82710F0BD30B5A3 +:104880000D46CE4B44190022181A72EB020100D2D9 +:10489000FFDFCB48854200DDFFDFC948404285424B +:1048A00000DAFFDFC548401C844207DA002C01DB38 +:1048B000204630BDC148401C201830BDBF48C04311 +:1048C000FAE710B504460168407ABE4A52F8202043 +:1048D000114450B10220084420F07F40EEF7BFF9A8 +:1048E00094F90810BDE81040C9E70420F3E72DE96A +:1048F000F047B14E803696F82D50DFF8BC9206EBAB +:10490000850090F8264034E009EB85174FF0070842 +:1049100017F81400012806D004282ED005282ED020 +:10492000062800D0FFDF01F01BF9014607EB440029 +:10493000427806EB850080F8262090F82720A242D6 +:1049400002D1202280F82720084601F014F92A46D7 +:1049500021460120FFF72CFF9B48414600EB041045 +:1049600002682046904796F82D5006EB850090F897 +:104970002640202CC8D1BDE8F087022000E00320AB +:104980008046D0E710B58C4C2021803484F8251067 +:1049900084F8261084F82710002084F8280084F872 +:1049A0002D0084F82E10411EA16044F8100B2074D5 +:1049B000607420736073A0738449E0772075087079 +:1049C000487000217C4A103C02F81100491CC9B211 +:1049D0002029F9D30120EEF732F80020EEF72FF866 +:1049E000012084F82200EEF75BFA7948EEF76DFAC1 +:1049F000764CA41E20707748EEF767FA6070BDE829 +:104A00001040EDF7A9BF10B5EDF7CBFF6F4CA41E1A +:104A10002078EEF773FA6078EEF770FABDE8104090 +:104A200001F0D6B8202070470020EDF7E1BF70B547 +:104A3000054601240E46AC405AB1FFF7F5FF01468A +:104A4000654800EBC500C0F81015C0F81465634850 +:104A500001E06248001D046070BD2DE9F34F564C23 +:104A60000025803404EB810A89B09AF825002028BB +:104A700021D0691E02915449009501EB0017391DA0 +:104A800003AB07C983E80700A18BADF81C10A07F1A +:104A90008DF81E009DF81500A046C8B102264949B0 +:104AA00051F820400399A219114421F07F4101914E +:104AB00084B102210FE00120EDF7C1FF0020EDF7E6 +:104AC000BEFFEDF78CFF01F083F884F82F50A9E0CA +:104AD0000426E4E700218DF81810022801D00128EF +:104AE00020D1039801190998081A801C9DF81C1000 +:104AF00020F07F4001B10221353181420BD20320E9 +:104B00008DF815000398C4F13201401A20F07F405F +:104B1000322403900CE098F8240018B901F039FA17 +:104B2000002863D0322C03D214B101F045F801E023 +:104B300001F04EF8254A107818B393465278039B3B +:104B4000121B00219DF81840994601281AD003280D +:104B500018D000208DF81E00002A04DD981A03905A +:104B600001208DF818009DF81C0000B10221039867 +:104B70001B4A20F07F40039003AB099801F034F802 +:104B800010B110E00120E5E79DF81D0018B99BF871 +:104B90000000032829D08DF81C50CDF80C908DF81A +:104BA00018408DF81E509DF8180010B3039801238B +:104BB00081190022184615E0800A0020FF7F841E1C +:104BC0000020A107A05702008008002096000020C6 +:104BD0005B640100EF48010000F0014004F5014072 +:104BE000FFFF3F00EDF77EFF06E000200BB0BDE8C1 +:104BF000F08F0120EDF723FF97F90C20012300200F +:104C00000199EDF76FFFF87BC00701D0EEF753F87D +:104C1000012188F82F108AF8285020226946FE4882 +:104C2000F9F7D5FB0120E1E72DE9F05FDFF8E88334 +:104C3000064608EB860090F82550202D1FD0A8F1DD +:104C400080002C4600EB8617A0F50079DFF8CCB386 +:104C500005E0A24607EB4A004478202C0AD0EDF785 +:104C60008CFF09EB04135A4601211B1D00F0BCFF09 +:104C70000028EED0AC4202D0334652461EE0E8484F +:104C800008B1AFF30080EDF778FF98F82F206AB1F4 +:104C9000D8F80C20411C891A0902CA1701EB1261CD +:104CA0000912002902DD0020BDE8F09F3146FFF720 +:104CB000D4FE08B10120F7E733462A46202104201C +:104CC000FFF7A4FDEFE72DE9F041D34C2569EDF79F +:104CD00054FF401B0002C11700EB1160001200D40A +:104CE000FFDF94F8220000B1FFDF012784F8227073 +:104CF00094F82E00202800D1FFDF94F82E602020A9 +:104D000084F82E00002584F82F5084F8205084F871 +:104D10002150C44825600078022833D0032831D0C0 +:104D200000202077A068401C05D04FF0FF30A06025 +:104D30000120EDF784FE0020EDF781FEEDF77DFF09 +:104D4000EDF775FFEDF74BFE0FF076F9B64805600D +:104D500005604FF0E0214FF40040B846C1F88002F2 +:104D6000EEF717F894F82D703846FFF75DFF00282E +:104D7000FAD0A948803800EB871010F816000228F6 +:104D800002D006E00120CCE73A4631460620FFF784 +:104D90000FFD84F8238004EB870090F8260020287C +:104DA00004D0A048801E4078EEF7AEF8207F00289F +:104DB00003D0EDF732FF2577657725E5964910B5E5 +:104DC00091F82D200024803901EB821111F8143064 +:104DD0002BB1641CE4B2202CF8D3202010BD9349E1 +:104DE00001EB041108600020C87321460120FFF781 +:104DF000DFFC204610BD10B5012801D0032800D1EA +:104E000071B3854A92F82D30834C0022803C04EB2C +:104E1000831300BF13F812400CB1082010BD521CC0 +:104E2000D2B2202AF6D37F4A48B1022807D00729F8 +:104E300016D2DFE801F01506080A0C0E100000215A +:104E40000AE01B2108E03A2106E0582104E077211E +:104E500002E0962100E0B52151701070002010BDD5 +:104E6000072010BD6F4810B54078EDF7F8FE80B20E +:104E700010BD10B5202811D2674991F82D30A1F14D +:104E8000800202EB831414F810303BB191F82D30FE +:104E900002EB831212F81020012A01D0002010BD6D +:104EA00091F82D2001460020FFF782FC012010BD63 +:104EB00010B5EDF762FEBDE81040EDF7D0BE2DE96C +:104EC000F0410E46544F01782025803F0C4607EBF9 +:104ED000831303E0254603EB45046478944202D033 +:104EE000202CF7D108E0202C06D0A14206D103EBFC +:104EF00041014978017007E0002085E403EB44009C +:104F000003EB450140784870494F7EB127B100213D +:104F100040F22D40AFF300803078A04206D127B197 +:104F200000214FF48660AFF30080357027B1002177 +:104F300040F23540AFF30080012065E410B54268CF +:104F40000B689A1A1202D41702EB1462121216D4CA +:104F5000497A91B1427A82B9364A006852F82110F2 +:104F6000126819441044001D891C081A0002C11758 +:104F700000EB11600012322801DB012010BD00207F +:104F800010BD2DE9F047294E814606F50070984680 +:104F9000144600EB811712E006EB0415291D484664 +:104FA000FFF7CCFF68B988F80040A97B99F80A00A0 +:104FB000814201D80020DEE407EB44004478202C35 +:104FC000EAD10120D7E42DE9F047824612480E4687 +:104FD00000EB8600DFF8548090F825402020107008 +:104FE00008F500709946154600EB86170BE000BFE8 +:104FF00008EB04105146001DFFF7A0FF28B107EB96 +:1050000044002C704478202CF2D1297889F80010C3 +:105010004B46224631460FE0000B0020FFFF3F00C9 +:10502000000000009600002000F5004080080020ED +:1050300000000000A05702005046BDE8F047A0E77E +:105040002DE9FC410E4607460024FE4D09E000BF55 +:105050009DF8000005EB00108168384600F0D8FD8F +:1050600001246B4601AA31463846FFF7ACFF002801 +:10507000EED02046BDE8FC8170B50446F24801251B +:10508000A54300EB841100EB85104022F9F79FF94E +:10509000EE4E26B100214FF49360AFF30080EA4852 +:1050A000803000EB850100EB8400D0F82500C1F8CA +:1050B000250026B1002140F29C40AFF30080284635 +:1050C00070BD8A4203D003460520FFF79FBB20290D +:1050D00006D0DD4A02EB801000EB410040787047BB +:1050E000D949803101EB800090F825007047D549FF +:1050F00001EB0010001DFFF7E4BB7CB51D46134615 +:1051000004460E4600F1080221461846EDF7B4FDAC +:1051100094F908000F2804DD1F3820722068401C15 +:10512000206096B10220CA4951F82610461820681E +:105130006946801B20F07F40206094F908002844D5 +:10514000C01C1F2803DA012009E00420EBE701AAB4 +:10515000EDF792FD9DF8040010B10098401C0090FE +:105160000099206831440844C01C20F07F406060F2 +:105170007CBDFEB50C4606460978607990722079B0 +:105180001F461546507279B1217900222846A3683E +:10519000FFF7B3FFAC492846803191F82E20202A32 +:1051A0000AD00969491D0DE0D4E90223217903B031 +:1051B0002846BDE8F040A0E7A6494978052900D275 +:1051C0000521314421F07F4100F022FD3946284677 +:1051D000FFF736FFD4E9023221796846FFF78DFFE9 +:1051E0002B4600213046019A00F0FEFC002806D133 +:1051F00003B031462846BDE8F04000F009BDFEBDD1 +:105200002DE9FE4F814600F0BFFC38B15FF000078A +:1052100099F8000020B10020BDE8FE8F0127F7E7D4 +:10522000894D8A4C4FF0000A803524B1002140F2AC +:10523000FF40AFF3008095F82D8085F823A000266D +:1052400024B1002140F20450AFF300801FB9404662 +:10525000FFF712FF804624B1002140F20C50AFF35B +:105260000080EDF78AFC43466A464946FFF781FF16 +:1052700024B1002140F21250AFF3008095F82E00C7 +:1052800020280CD029690098401A0002C21700EBB0 +:105290001260001203D5684600F0BAFC012624B162 +:1052A000002140F21C50AFF3008095F82300002845 +:1052B000BBD124B1002140F22250AFF30080EDF7C2 +:1052C0005CFC6B46644A002100F08EFC0028A3D0F1 +:1052D00027B941466846FFF7B3FE064326B1684644 +:1052E000FFF7EFFAC9F8080024B1002140F2355069 +:1052F000AFF3008001208FE72DE9F04F89B08B4696 +:10530000824600F041FC504C803428B39BF80000EA +:10531000002710B1012800D0FFDF4C4D25B100213E +:1053200040F2F750AFF300804649012001EB0A1824 +:10533000A94607905FEA090604D0002140F2FF5019 +:10534000AFF30080079800F016FC94F82D50002071 +:1053500084F8230067B119E094F82E000127202873 +:1053600000D1FFDF9BF800000028D6D0FFDFD4E794 +:105370002846FFF781FE054626B1002140F209606C +:10538000AFF3008094F823000028D3D126B1002188 +:1053900040F21360AFF30080EDF7EFFB2B4602AA5B +:1053A00059460790FFF7E5FE98F80F005FEA0609F7 +:1053B00000F001008DF8130004D0002140F21D60C0 +:1053C000AFF300803B462A4602A9CDF800A007981B +:1053D00000F029FC064604EB850090F828000090B8 +:1053E000B9F1000F04D0002140F22460AFF3008037 +:1053F00000F0B6FB0790B9F1000F04D0002140F295 +:105400002A60AFF3008094F82300002892D1B9F10C +:10541000000F04D0002140F23260AFF300800DF1A4 +:10542000080C9CE80E00C8E90112C8F80C30B6B3AD +:105430005FEA090604D0002140F23F60AFF300802C +:1054400000980BE080080020800A00200000000087 +:10545000A057020096000020FFFF3F00B84312D083 +:1054600094F82E0020280ED126B1002140F244608D +:10547000AFF300802846FFF7D7FB20B99BF8000068 +:10548000D8B3012849D0B9F1000F04D0002140F26F +:105490006160AFF30080284600F05BFB01265FEA05 +:1054A000090504D0002140F26A60AFF3008007983C +:1054B00000F061FB25B1002140F26E60AFF3008087 +:1054C0008EB194F82D0004EB800090F8260020287F +:1054D00009D025B1002140F27560AFF30080F84893 +:1054E0004078EDF711FD25B1002140F27A60AFF36D +:1054F000008009B03046BDE8F08FFFE7B9F1000F3A +:1055000004D0002140F24C60AFF3008094F82D20CD +:1055100051460420FFF74CF9C0E7002E3FF40AAFD4 +:10552000002140F25760AFF3008003E72DE9F84F08 +:10553000E44D814695F82D004FF00008E24C4FF005 +:10554000010B474624B100214FF4D160AFF3008036 +:10555000584600F010FB85F8237024B1002140F27A +:105560008D60AFF3008095F82D00FFF785FD0646AE +:1055700095F8230028B1002CE4D0002140F293607C +:105580004BE024B1002140F29760AFF30080CD489A +:10559000803800EB861111F81900032856D13346E4 +:1055A00005EB830A4A469AF82500904201D1012072 +:1055B00000E0002000900AF125000021FFF77FFCA9 +:1055C00001460098014203D001228AF82820AF77D3 +:1055D000E1B324B1002140F29C60AFF30080324679 +:1055E00049460120FFF7E4F89AF828A024B10021E9 +:1055F00040F2A760AFF3008000F0B2FA834624B116 +:10560000002140F2AC60AFF3008095F8230038B180 +:10561000002C97D000214FF4D660AFF3008091E7C3 +:10562000BAF1000F07D095F82E00202803D130469C +:10563000FFF7FAFAE0B124B1002140F2C460AFF301 +:105640000080304600F085FA4FF0010824B10021B7 +:1056500040F2CD60AFF30080584600F08CFA24B1E0 +:10566000002140F2D160AFF300804046BDE8F88FE2 +:10567000002CF1D0002140F2BF60AFF30080E6E7DC +:105680000120EDF7B5B98E48007870472DE9F0415B +:105690008C4C94F82E0020281FD194F82D6004EB38 +:1056A000860797F82550202D00D1FFDF85498039E6 +:1056B00001EB861000EB4500407807F8250F01202C +:1056C000F87084F82300294684F82E5032460220D0 +:1056D0002234FFF76DF8002020700EE42DE9F04130 +:1056E0007A4E784C012538B1012821D0022879D092 +:1056F00003287DD0FFDF20E400F05EFAFFF7C6FF4D +:10570000207E00B1FFDF84F821500020EDF797F9EB +:10571000A168481C04D0012300221846EDF7E2F9E5 +:1057200014F82E0F217806EB01110A68012154E0CC +:10573000FFF7ACFF0120EDF782F994F8210050B19A +:10574000A068401C07D014F82E0F217806EB011139 +:105750000A68062141E0207EDFF86481002708F115 +:105760000208012803D002281ED0FFDFB5E7A77783 +:10577000EDF753FA98F80000032801D165772577F3 +:10578000607D534951F8200094F8201051B948B178 +:1057900061680123091A00221846EDF7A3F90220D7 +:1057A00020769AE7277698E784F8205000F004FAEC +:1057B000A07F50B198F8010061680123091A002206 +:1057C0001846EDF78FF9257600E0277614F82E0FAE +:1057D000217806EB01110A680021BDE8F04110476D +:1057E00000E005E036480078BDE8F041EDF78CBBFD +:1057F000FFF74CFF14F82E0F217806EB01110A6811 +:105800000521EAE710B52F4C94F82E00202800D18E +:10581000FFDF14F82E0F21782C4A02EB01110A68E1 +:10582000BDE81040042110477CB5264C054694F88D +:105830002E00202800D1FFDFA068401C00D0FFDF31 +:1058400094F82E00214901AA01EB0010694690F955 +:105850000C002844EDF710FA9DF904000F2801DD33 +:10586000012000E00020009908446168084420F00D +:105870007F41A16094F82100002807D002B00123E5 +:10588000BDE8704000221846EDF72CB97CBD30B55C +:10589000104A0B1A541CB3EB940F1FD3451AB5EBE7 +:1058A000940F1BD3934203D9101A43185B1C15E0C5 +:1058B000954211D9511A0844401C43420EE00000A1 +:1058C00094000020000B0020000000008008002051 +:1058D000A0570200FF7F841EFFDF0023184630BD63 +:1058E0000123002201460220EDF7FCB80220EDF76B +:1058F000A6B8EDF742B92DE9FE4FED4C05468A46B4 +:1059000094F82E00202800D1FFDFE94E94F82E10E5 +:10591000A0462046A6F5207202EB011420218DF846 +:10592000001090F82D10376900EB8101D8F80000C5 +:1059300091F82590284402AA01A90C36EDF79CF9AC +:105940009DF90800002802DD0198401C0190A06824 +:105950000199642D084451D3D64B00225B1B72EB96 +:1059600002014BD36168411A21F07F41B1F5800FEC +:1059700044D220F07F40706086F80AA098F82D107D +:1059800044466B464A463046FFF7FBFAA8B3A06888 +:10599000401C10D0EDF7F1F8A168081A0002C117F9 +:1059A00000EB1160001202282ADD0120EDF747F814 +:1059B0004FF0FF30A06094F82D009DF800202021CA +:1059C0000F34FFF77EFBA17FB94A803A02EB8111C9 +:1059D000E27F01EB4201487054F80F0C284444F870 +:1059E0000F0C012020759DF80000202803D0B2483C +:1059F0004078EDF789FA01200EE401E000200BE485 +:105A00007760FBE72DE9F047A94C074694F82D0095 +:105A1000A4F1800606EB801010F8170000B9FFDF34 +:105A200094F82D50A046A54C24B1002140F6E80082 +:105A3000AFF3008040F6F40940F6FD0A06EB851648 +:105A400016F81700012819D0042811D005280FD006 +:105A500006280DD01CB100214846AFF300800FF09E +:105A600003FC002CECD000215046AFF30080E7E7A8 +:105A70002A4639460120FEF79BFEF2E74FF0010A65 +:105A80004FF00009454624B1002140F60410AFF361 +:105A90000080504600F06FF885F8239024B1002173 +:105AA00040F60910AFF3008095F82D00FFF7E4FAF7 +:105AB000064695F8230028B1002CE4D0002140F6DA +:105AC0000F101FE024B1002140F61310AFF3008047 +:105AD00005EB860000F1270133463A462630FFF7F2 +:105AE000EEF924B1002140F61710AFF3008000F06A +:105AF00037F8824695F8230038B1002CC3D0002136 +:105B000040F61D10AFF30080BDE785F82D60012041 +:105B100085F82300504600F02EF8002C04D0002118 +:105B200040F62A10AFF30080BDE8F08730B5044698 +:105B30005F480D4690F82D005D49803901EB8010DB +:105B400010F8140000B9FFDF5D4800EB0410C573C6 +:105B500030BD574981F82D00012081F8230070479E +:105B600010B5584808B1AFF30080EFF3108000F093 +:105B7000010072B610BD10B5002804D1524808B11A +:105B8000AFF3008062B610BD50480068C005C00D7C +:105B900010D0103840B2002804DB00F1E02090F86B +:105BA000000405E000F00F0000F1E02090F8140D73 +:105BB000400970470820704710B53D4C94F8240008 +:105BC000002804D1F6F772F8012084F8240010BDF3 +:105BD00010B5374C94F82400002804D0F6F78FF85D +:105BE000002084F8240010BD10B51C685B68241ADE +:105BF000181A24F07F4420F07F40A14206D8B4F563 +:105C0000800F03D2904201D8012010BD002010BDAA +:105C1000D0E90032D21A21F07F43114421F07F41B4 +:105C2000C0E9003170472DE9FC4184462048154603 +:105C30008038089C00EB85160F4616F814000128E2 +:105C400004D0022802D00020BDE8FC810B46204A87 +:105C500001216046FFF7C8FFF0B101AB6A46294653 +:105C60003846FFF7B0F9B8B19DF804209DF8001050 +:105C70002846FFF726FA06EB440148709DF800001D +:105C800020280DD006EB400044702A462146032010 +:105C9000FEF78EFD0120D7E72A4621460420F7E7CC +:105CA0000348012100EB850000F8254FC170ECE7A7 +:105CB000000B0020FF1FA10794000020000000003F +:105CC00080080020000000000000000004ED00E05B +:105CD000FFFF3F002DE9F041044680074FF000052B +:105CE0004FF001060CD56B48056006600EF030F8E9 +:105CF00020B16948016841F48061016024F0020428 +:105D0000E0044FF0FF3705D564484660C0F80873DB +:105D100024F48054600003D56148056024F0804479 +:105D2000E0050FD55F48C0F80052C0F808735E491F +:105D30000D60091D0D605C4A04210C321160066182 +:105D400024F48074A00409D558484660C0F8005275 +:105D5000C0F808735648056024F40054C4F380303A +:105D6000C4F3C031884200D0FFDF14F4404F14D098 +:105D700050484660C0F808734F488660C0F800522B +:105D8000C0F808734D490D600A1D16608660C0F8A2 +:105D900008730D60166024F4404420050AD5484875 +:105DA00046608660C0F80873C0F8487345480560CF +:105DB00024F400640EF01AF94348044200D0FFDFD7 +:105DC000BDE8F081F0B50022202501234FEA02044E +:105DD00020FA02F1C9072DD051B2002910DB00BF13 +:105DE0004FEA51174FEA870701F01F0607F1E02736 +:105DF00003FA06F6C7F88061BFF34F8FBFF36F8FCA +:105E00000CDB00BF4FEA51174FEA870701F01F066E +:105E100007F1E02703FA06F6C7F8806204DB01F118 +:105E2000E02181F8004405E001F00F0101F1E021DB +:105E300081F8144D02F10102AA42C9D3F0BD10B598 +:105E4000224C20600846F6F74AF82068FFF742FF28 +:105E50002068FFF7B7FF0DF0DBFC00F01AF90EF039 +:105E6000C5F80EF010F8EDF71BF8BDE810400DF086 +:105E700083BD10B5154C2068FFF72CFF2068FFF795 +:105E8000A1FF0EF0B3F8F6F7EBF80020206010BD8C +:105E90000A207047FC1F00403C17004000C0004033 +:105EA00004E50140008000400485004000D000402F +:105EB00004D5004000E0004000F0004000F5004044 +:105EC00000B0004008B50040FEFF0FFD9800002024 +:105ED00070B526490A680AB30022154601244B68AA +:105EE0005B1C4B60092B00D34D600E7904FA06F35E +:105EF0000E681E420FD0EFF3108212F0010272B64C +:105F000000D001220C689C430C6002B962B649685B +:105F10000160002070BD521C092AE0D3052070BD2D +:105F20004FF0E0214FF48000C1F800027047EFF31A +:105F3000108111F0010F72B64FF0010202FA00F267 +:105F40000A48036842EA0302026000D162B6E7E74A +:105F500006480021016041607047012181400348EB +:105F60000068084000D00120704700009C0000201D +:105F700001208107086070470121880741600021E6 +:105F8000C0F80011184801707047174901200870C7 +:105F900070474FF08040D0F80001012803D012482C +:105FA0000078002800D00120704710480068C00722 +:105FB00000D0012070470D480C300068C00700D0A9 +:105FC00001207047094814300068704707491031B4 +:105FD0000A68D20306D5096801F00301814201D1A4 +:105FE0000120704700207047A400002008040040F2 +:105FF0000021017008467047014600200870704774 +:10600000EFF3108101F0010172B60278012A01D08C +:10601000012200E000220123037001B962B60AB137 +:10602000002070474FF400507047E9E7EFF310810C +:1060300011F0010F72B64FF00002027000D162B68B +:1060400000207047F2E700002DE9F04115460E46AA +:106050000446002700F0EBF8A84215D300234120A6 +:106060000FE000BF94F84220A25CF25494F8421072 +:10607000491CB1FBF0F200FB12115B1C84F84210CA +:10608000DBB2AB42EED3012700F0DDF83846BDE8C5 +:10609000F081724910B5802081F800047049002019 +:1060A00081F8420081F84100433181F8420081F8D3 +:1060B0004100433181F8420081F841006948FFF70F +:1060C00097FF6848401CFFF793FFECF771FEBDE8AF +:1060D000104000F0B8B840207047614800F0A7B801 +:1060E0000A4601465E48AFE7402070475C484330AF +:1060F00000F09DB80A46014659484330A4E74021C4 +:1061000001700020704710B504465548863000F0F5 +:106110008EF82070002010BD0A460146504810B588 +:106120008630FFF791FF08B1002010BD42F2070052 +:1061300010BD70B50C460646412900D9FFDF4A481C +:106140000068103840B200F054F8C5B20D2000F0DD +:1061500050F8C0B2854201D3012504E0002502E0D9 +:106160000DB1ECF768FE224631463D48FFF76CFF63 +:106170000028F5D070BD2DE9F0413A4F00250646C4 +:1061800017F1040757F82540204600F041F810B3F6 +:106190006D1CEDB2032DF5D33148433000F038F8D3 +:1061A000002825D02E4800F033F8002820D02C48B5 +:1061B000863000F02DF800281AD0ECF712FE29489E +:1061C000FFF71EFFB0F5005F00D0FFDFBDE8F04134 +:1061D0002448FFF72BBF94F841004121265414F8BE +:1061E000410F401CB0FBF1F201FB12002070D3E71D +:1061F0004DE7002804DB00F1E02090F8000405E002 +:1062000000F00F0000F1E02090F8140D40097047F5 +:1062100010F8411F4122491CB1FBF2F302FB13119C +:106220004078814201D1012070470020704710F86A +:10623000411F4078814201D3081A02E0C0F14100B9 +:106240000844C0B2704710B50648FFF7D9FE0028D1 +:1062500003D1BDE81040ECF7AFBD10BD0DE000E08C +:10626000300B0020A800002004ED00E070B5154DB3 +:106270002878401CC4B26878844202D000F0DBFA6F +:106280002C7070BD2DE9F0410E4C4FF0E02600BFA0 +:1062900000F0C6FA0EF0E8FF40BF20BF6778207814 +:1062A0006070D6F80052EBF776F8854305D1D6F842 +:1062B000040210B92078B842EAD000F0ACFA00200D +:1062C000BDE8F081B80000202DE9F04101264FF033 +:1062D000E02231034FF000084046C2F88011BFF3BE +:1062E0004F8FBFF36F8F204CC4F800010C2000F0DB +:1062F0002EF81E4D2868C04340F30017286840F070 +:1063000010002860C4F8046326607F1C02E000BF10 +:106310000EF0AAFFD4F800010028F9D01FB92868B0 +:1063200020F010002860124805686660C4F8086311 +:10633000C4F800810C2000F00AF82846BDE8F0817E +:1063400010B50446FFF7C0FF2060002010BD0028F4 +:1063500009DB00F01F02012191404009800000F19B +:10636000E020C0F88012704700C0004010ED00E04F +:1063700008C500402DE9F047FF4C0646FF21A06804 +:1063800000EB061211702178FF2910D04FF0080998 +:1063900009EB011109EB06174158C05900F0F4F957 +:1063A000002807DDA168207801EB0611087026702F +:1063B000BDE8F08794F8008045460DE0A06809EB41 +:1063C00005114158C05900F0DFF9002806DCA0682B +:1063D000A84600EB08100578FF2DEFD1A06800EB70 +:1063E000061100EB08100D700670E1E7F0B5E24B06 +:1063F0000446002001259A680C269B780CE000BF1B +:1064000005EB0017D75DA74204D106EB0017D7595B +:106410008F4204D0401CC0B28342F1D8FF20F0BDAF +:1064200070B5FFF766FAD44C08252278A16805EB11 +:106430000212895800F0A8F9012808DD2178A06827 +:1064400005EB01114058BDE87040FFF749BAFFF76E +:106450001AF9BDE87040ECF757BD2DE9F041C64C84 +:106460002578FFF746FAFF2D6ED04FF00808A26896 +:1064700008EB0516915900F087F90228A06801DDA4 +:1064800080595DE000EB051109782170022101EBD4 +:106490000511425C5AB1521E4254815901F58001E6 +:1064A00021F07F4181512846FFF764FF34E0042347 +:1064B000012203EB051302EB051250F803C0875CC1 +:1064C000BCF1000F10D0BCF5007F10D9CCF308024E +:1064D00050F806C00CEB423C2CF07F4C40F806C054 +:1064E000C3589A1A520A09E0FF2181540AE08259DE +:1064F00002EB4C3222F07F42825100224254284665 +:10650000FFF738FF0C21A06801EB05114158E06846 +:1065100050F82720384690472078FF2814D0FFF7FE +:10652000E8F92278A16808EB02124546895800F084 +:106530002BF9012893DD2178A06805EB0111405863 +:10654000BDE8F041FFF7CCB9BDE8F081F0B51D46DC +:1065500014460E460746FF2B00D3FFDFA00700D0EE +:10656000FFDF8548FF210022C0E90247C5700671A0 +:106570000170427082701046012204E002EB0013A9 +:10658000401CE154C0B2A842F8D3F0BD70B57A4CBB +:10659000064665782079854200D3FFDFE06840F841 +:1065A00025606078401C6070284670BD2DE9FF5F53 +:1065B0001D468B460746FF24FFF79BF9DFF8B8918D +:1065C000064699F80100B84200D8FFDF00214FF0DD +:1065D00001084FF00C0A99F80220D9F808000EE0E3 +:1065E00008EB0113C35CFF2B0ED0BB4205D10AEBB5 +:1065F000011350F803C0DC450CD0491CC9B28A42D3 +:10660000EED8FF2C02D00DE00C46F6E799F8031007 +:106610008A4203D1FF2004B0BDE8F09F1446521C0B +:1066200089F8022008EB04110AEB0412475440F8E1 +:1066300002B00421029B0022012B01EB04110CD0BB +:1066400040F801204FF4007808234FF0020C454534 +:1066500013D9E905C90D02D002E04550F2E74146E1 +:1066600006EB413203EB041322F07F42C250691A59 +:106670000CEB0412490A81540BE005B9012506EB25 +:10668000453103EB041321F07F41C1500CEB0411A1 +:10669000425499F800502046FFF76CFE99F800002C +:1066A000A84201D0FFF7BCFE3846B4E770B50C46EF +:1066B0000546FFF71EF9064621462846FFF796FED7 +:1066C0000446FF281AD02C4D082101EB0411A868BC +:1066D0004158304600F058F800F58050C11700EBE3 +:1066E000D14040130221AA6801EB0411515C09B1A9 +:1066F00000EB4120002800DC012070BD002070BDAF +:106700002DE9F04788468146FFF770FE0746FF28CF +:106710001BD0194D2E78A8683146344605E0BC429E +:1067200006D0264600EB06121478FF2CF7D10CE0B9 +:10673000FF2C0AD0A6420CD100EB01100078287083 +:10674000FF2804D0FFF76CFE03E0002030E6FFF7DF +:10675000CDF841464846FFF7A9FF0123A968024644 +:1067600003EB0413FF20C854A878401EB84200D1A0 +:10677000A87001EB041001E0FC0B002001EB0611F6 +:1067800000780870104613E6081A0002C11700EBE3 +:10679000116000127047000010B5202000F07FF853 +:1067A000202000F08DF84D49202081F80004EAF700 +:1067B000F0FD4B4908604B48D0F8041341F001014B +:1067C000C0F80413D0F8041341F08071C0F804132A +:1067D000424901201C39C1F8000110BD10B520202C +:1067E00000F05DF83E480021C8380160001D0160DE +:1067F0003D4A481E10603B4AC2F80803384B1960F6 +:10680000C2F80001C2F8600138490860BDE81040D4 +:10681000202000F055B834493548091F08607047FA +:1068200031493348086070472D48C8380160001D61 +:10683000521E026070472C4901200860BFF34F8F41 +:1068400070472DE9F0412849D0F8188028480860A1 +:10685000244CD4F800010025244E6F1E28B1404678 +:10686000EAF7F0FC40B9002111E0D4F8600198B1DA +:106870004046EAF7E7FC48B1C4F80051C4F860515B +:106880003760BDE8F041202000F01AB8316840467A +:10689000BDE8F0410EF0F2BCFFDFBDE8F08100285A +:1068A0000DDB00F01F02012191404009800000F142 +:1068B000E020C0F88011BFF34F8FBFF36F8F704798 +:1068C000002809DB00F01F020121914040098000EF +:1068D00000F1E020C0F880127047000020E000E0E6 +:1068E000C8060240000002401805024000040240B1 +:1068F000010000015E48002101704170102181708B +:10690000704770B5054616460C460220EBF7F2FFBD +:106910005749012008705749F01E08605648056025 +:10692000001F046070BD10B50220EBF7E3FF504973 +:106930000120087051480021C0F80011C0F804116E +:10694000C0F808114E494FF40000086010BD4848D7 +:106950000178D9B14B4A4FF4000111604749D1F891 +:1069600000310022002B1CBFD1F80431002B02D0D3 +:10697000D1F8081119B142704FF0100104E04FF046 +:106980000101417040490968817002704FF00000B8 +:10699000EBF7B0BF10B50220EBF7ACFF3448012293 +:1069A000002102703548C0F80011C0F80411C0F889 +:1069B0000811026010BD2E480178002904BF4078FC +:1069C00070472E48D0F80011002904BF02207047FC +:1069D000D0F8001100291CBFD0F80411002905D0FF +:1069E000D0F80801002804BF01207047002070473C +:1069F0001F4800B50278214B4078C821491EC9B212 +:106A000082B1D3F800C1BCF1000F10D0D3F800015F +:106A100000281CBFD3F8040100280BD0D3F80801CC +:106A200050B107E0022802D0012805D002E0002979 +:106A3000E4D1FFDF002000BD012000BD0C4801783B +:106A4000002904BF807870470C48D0F80011002955 +:106A50001CBFD0F80411002902D0D0F8080110B1F1 +:106A60004FF01000704708480068C0B2704700003F +:106A7000BA00002010F5004008F5004000F000408A +:106A800004F5014008F5014000F400404C480021A5 +:106A900001704170704770B5064614460D460120DE +:106AA000EBF728FF47480660001D0460001D0560E5 +:106AB00070BD70B5424901250D7040EA0241424A5D +:106AC00041F080711160414C0026C4F80461404AD5 +:106AD0004FF040711160002802BFC4F800522560D9 +:106AE00070BD012818BFFFDFC4F8006225604FF0B9 +:106AF00000703849086070BD3148017879B1344A76 +:106B00004FF0407111603149D1F804210021002A71 +:106B100008BF417002D0304A1268427001700020F4 +:106B2000EBF7E8BE26480178002904BF407870479B +:106B30002648D0F80401002808BF7047264800689E +:106B4000C0B27047002808BF70472DE9F0471C48C5 +:106B50000078002808BFFFDF1C4CD4F8040100288F +:106B600018BFBDE8F0874FF00209C4F804931B4F2B +:106B70003868C0F30018386840F010003860D4F866 +:106B80000401002804BF4FF400454FF0E02607D170 +:106B9000C6F880520EF068FBD4F804010028F7D044 +:106BA000B8F1000F03D1386820F010003860C4F845 +:106BB0000893BDE8F0870549012088607047000010 +:106BC000BD00002008F5004004F5004000F0004042 +:106BD00008F5014004F5014000F4004010ED00E02C +:106BE000012804BF41F6A4707047022804BF41F297 +:106BF0008830704700B5FFDF41F6A47000BD10B5C6 +:106C0000FB48002401214470047044728472C172F4 +:106C100080F82540C462846318300EF027FCF549E3 +:106C2000601E0860091D0860091D0C60091D0860D0 +:106C3000091D0C60091D0860091D0860091D086018 +:106C4000091D0860091D0860091D0860091D08600C +:106C5000091D0860091D086010BDE74948607047BC +:106C6000E648016801F00F01032904BF01207047C5 +:106C7000006800F00F00042804BF0220704700B530 +:106C8000FFDF012000BD012812BF0228002070474D +:106C900000B5FFDF002000BD012804BF2820704799 +:106CA000022804BF1820704700B5FFDF282000BD70 +:106CB00070B5D248016801F00F01032908BF012413 +:106CC00009D0006800F00F00042807BF0224182133 +:106CD000FFDF012400D02821C548C26A806A101A4B +:106CE0000E18082C08BF4EF6283515D02046042C67 +:106CF00008BF4EF628350BD0012808BF41F6A47511 +:106D000006D0022C1ABFFFDF41F6A47541F2883588 +:106D1000012C14D0022C00D0FFDF012C0FD0022C4C +:106D20000EBF41F28830FFDF41F6A470281A4FF4FD +:106D30007A7100F2E730B0FBF1F0304470BD41F6FB +:106D4000A470F3E710B5AE49026801F118040A63B4 +:106D500042684A63007A81F83800207E48B1207F7B +:106D6000F7F79DFBA07E011C18BF0121207FF7F7DC +:106D70008AFB607E002808BF10BD607FF7F78FFB9D +:106D8000E07E011C18BF0121607FBDE81040F7F7CD +:106D90007ABB30B500250446012904D002290CBF76 +:106DA0004FF08075FFDF45F4847040F48010954902 +:106DB000086044F44030091D40F00070086030BDA8 +:106DC00030B500250446012904D002290CBF4FF03C +:106DD0008075FFDF45F4847040F4801089490860B5 +:106DE00044F44030091D40F0007008608648D0F837 +:106DF0000001002818BFFFDF30BD2DE9F041022659 +:106E00004FF0E02801240027C8F88061BFF34F8FBE +:106E1000BFF36F8F7D48076004600CF099FF7C4DD5 +:106E200018B1286840F4806028600CF04AFF38B13F +:106E3000286820F0770040F0880040F0004028608B +:106E40000CF076FF30B17348016821F47F4141F4C2 +:106E5000B05101607149704808600CF069FF6449E5 +:106E600048B16F4881F8216006606F4A6D48106034 +:106E7000121F6E4810604FF01020806CB0F1FF3F81 +:106E800004D06B4A136860F317431360694A40F2F9 +:106E90005B601060121F40F203101060101F04604E +:106EA000564A032010606448046091F82120002AAB +:106EB00014BF4FF4C022614A42F46022604B1A6052 +:106EC000614B604A1A601B1F604A1A60026822F414 +:106ED00040720260026842F480720260C8F8806208 +:106EE000494A1020C2F80403434881F83170CF6248 +:106EF0004068002808BFBDE8F081BDE8F0410047C8 +:106F00005348016821F0010141F080710160704730 +:106F10003B4A0368C2F81A308088D08302F1180017 +:106F200001727047324B10B51A7A8A4208D1014675 +:106F30000622981CF7F71EFA002804BF012010BD96 +:106F4000002010BD2A4890F825007047284A51704B +:106F500010707047F0B50546800000F1804000F5E4 +:106F600080508B88C0F820360B78D1F8011043EAA6 +:106F70000121C0F8001605F10800012707FA00F604 +:106F8000344C002A04BF2068B04304D0012A18BF43 +:106F9000FFDF206830432060206807FA05F10843CE +:106FA0002060F0BD0DF072B9114890F832007047C2 +:106FB000294AC178116000682849000208607047BA +:106FC000252808BF02210ED0262808BF1A210AD082 +:106FD000272808BF502106D00A2894BF0422062281 +:106FE00002EB4001C9B21E4A11601E490860704799 +:106FF000240C0020000E0040C000002010150040AE +:107000000C0C00201415004000100040FC1F004034 +:107010003C170040401700402C00008978170040C2 +:1070200060150040448000409CF50140281100405C +:107030008C15004038150040501600400000040434 +:1070400008F5014040800040A4F5014010110040C7 +:107050007417004040160040241500401C150040E5 +:1070600008150040541500402DE9F047FE4CA17A68 +:10707000012956D0022918BFBDE8F087627E002A98 +:1070800008BFBDE8F087012950D0E17E667F0D1C66 +:1070900018BF01255FF02401DFF8D0934FF00108FD +:1070A000C9F84C80DFF8C8A34718DAF80000B842E6 +:1070B00028BFFFDF0020C9F84C01CAF80070300279 +:1070C00085F0010140EA015040F0031194F82000DE +:1070D000820002F1804202F5C042C2F81015E54973 +:1070E00001EB8001A07FC20002F1804202F5F8327C +:1070F000C2F81415E04BC2F81035E27FD30003F15B +:10710000804303F5F833C3F81415DC49C3F81015B0 +:1071100008FA00F008FA02F10843D9490860BDE80E +:10712000F087227E002AAED1BDE8F087A17E267FBF +:10713000002914BF012500251121ADE72DE9F041FB +:10714000D04E804603200D46C6F80002C64F97F881 +:107150002100002814BF4FF4C020CB48C849086064 +:1071600028460DF0C1F80124B8F1000F03D0B8F1A2 +:10717000010F16D018E00CF0DBFD78B1C34A11689E +:107180005006022DD0F820030CBFC0F30660C0F3F8 +:10719000062021F4FE4141EA00201060BC723460F8 +:1071A00002E00220B8727460B048C464B04800685D +:1071B0002946BDE8F04157E72DE9F0410D46B149B8 +:1071C00007460320C1F80002A74C94F821000028CC +:1071D00014BF4FF4C020AC48A94E306028460DF0D3 +:1071E00083F817B1012F1CD024E00CF0A1FD78B179 +:1071F000A6490A684806022DD0F820030CBFC0F348 +:107200000660C0F3062022F4FE4242EA0020086035 +:107210000120A072A06B40F48010A0634FF4801096 +:1072200007E00220A072A06B40F40010A0634FF4AE +:1072300000103060EBF73CFD2946BDE8F04113E754 +:107240002DE9F74F8F4C804682B003200E46C4F8DC +:107250000002854D95F82100002814BF4FF4C0208E +:107260008948874F386004980DF03EF8DFF820A277 +:107270004FF00109B8F1000F47D0B8F1010F18BF66 +:10728000FFDF5BD083480660844983480860A86BB1 +:1072900040F40020A863D4F800824FF0100AC4F82C +:1072A00008A30025C4F800527D484FF4802BC0F895 +:1072B00000B0C4F80051C4F80C51C4F81051C4F81F +:1072C0000451C4F81451C4F818510CF031FD0028D1 +:1072D00018BFC4F82851734800680090C4F80082B1 +:1072E000C7F800B0C4F804A34FF4002038605F482A +:1072F000C0F84C905E480068B04228BFFFDF3046BF +:10730000049905B0BDE8F04FAEE60CF011FD80B178 +:107310005E4A0498116853060228D3F820030CBF74 +:10732000C0F30660C0F3062021F4FE4141EA0020CC +:107330001060CAF8004085F80A90A3E75A48CAF8D6 +:1073400000000220A8729DE72DE9F041464C064658 +:10735000002594F8310017468846002808BFFFDF53 +:1073600016B1012E16D021E094F83100012808D082 +:1073700094F83020394640460CF0C3FFE16A4518C6 +:1073800014E094F830103A4640460CF0F8FFE16AF9 +:1073900045180BE094F8310094F8301001283A4673 +:1073A000404609D00DF013F8E16A45183A462946DF +:1073B0003046BDE8F04143E70CF0C3FFE16A4518F1 +:1073C000F4E72DE9F84F2F4CD4F8000220F0030920 +:1073D000D4F804034FF0100AC0F30018C4F808A34F +:1073E0000026C4F80062204D95F82100002814BF43 +:1073F0004FF4C020244840F4602129480160A97A54 +:107400000127012902D0022903D015E0297E11B9F4 +:1074100012E0697E81B1A97FEA7F07FA01F107FADC +:1074200002F21143016095F82000800000F18040D5 +:1074300000F5C040C0F81065FF208DF80000C4F8CA +:107440001061276105E000BF9DF80000401E8DF827 +:1074500000009DF8000018B1D4F810010028F3D006 +:107460009DF80000002821E0240C0020008000404E +:107470004C850040006000404C81004010110040ED +:1074800004F501400010004000000404881500408D +:10749000ACF501404885004048810040A8F5014016 +:1074A00008F50140181100400410004008BFFFDF3C +:1074B000C4F810610CF03CFC002818BFC4F8286127 +:1074C0006E72AE72EF72C4F80092B8F1000F18BF7E +:1074D000C4F804A3BDE8F88FFF2008B58DF80000BC +:1074E000F9480021C0F810110121016105E000BF39 +:1074F0009DF80010491E8DF800109DF8001019B17C +:10750000D0F810110029F3D09DF80000002808BF22 +:10751000FFDF08BD0068ED4920F07F40086070473C +:107520004FF0E0200221C0F8801100F5C070BFF3D9 +:107530004F8FBFF36F8FC0F80011704710B490E801 +:107540001C10E34981E81C10D0E90420C1E90420A3 +:1075500010BC70474FF0E0210220C1F800017047D5 +:10756000DC4908707047DC490860704770B5054613 +:10757000EBF79EFBD94C2844E16A884298BFFFDFB5 +:1075800001202074EBF794FB4119616194F821000C +:1075900040B108446061CC48D0F8001241F040018D +:1075A000C0F80012CE490020C1F84401CD496069FD +:1075B0000860A06BCC4940F48000A0634FF48000C9 +:1075C000086070BD70B5C54C054602202074C748E0 +:1075D0000E46016801F00F01032908BF012207D000 +:1075E000006800F00F0004280EBF0222FFDF012216 +:1075F00094F8310094F8301001281AD028460CF085 +:107600002DFF606194F8210048B161690844606110 +:10761000AD48D0F8001241F04001C0F80012B04966 +:107620000020C1F844016169E06A0844AD4908607E +:1076300070BD334628460CF0DFFEE2E7AC494FF45C +:1076400080000860A548816B21F4800181630021DE +:1076500001747047C20002F1804202F5F832A54B76 +:10766000C2F81035C2F81415012181409E4801600E +:107670009A48826B114381637047994801214160A8 +:10768000C1600021C0F84411964801609348C1626E +:10769000704710B504460CF04BFB00281CBF8F4808 +:1076A00080F82140944804608748D0F8001241F0E7 +:1076B0004001C0F8001210BD834810B5D0F8001288 +:1076C00021F04001C0F800120CF032FB8A4900287A +:1076D00018BF0220086010BD7B48D0F8001221F0CE +:1076E0001001C0F800120121816170477648002125 +:1076F000C0F81C11D0F8001241F01001C0F80012BF +:107700007047714981B0D1F81C21012A1EBF0020A9 +:1077100001B07047794A126802F07F02524202704B +:107720000020C1F81C01764800680090012001B0DB +:107730007047F0B517460C00064608BFFFDF674DDF +:1077400014F0010F2F731CBF012CFFDF002E0CBFA4 +:10775000012002206872EC7201281CBF0228FFDFA2 +:10776000F0BD2DE9F84F5B480078042828BFFFDF03 +:10777000DFF86C91D9F84C115D48584C00254FF05A +:107780000108D9B1A17A012902D0022903D015E05C +:10779000217E11B912E0617E81B1A17FE27F08FAFA +:1077A00001F108FA02F21143016094F820108900F7 +:1077B00001F1804101F5C041C1F810554C48A16B61 +:1077C0000160A563217C002019B1D9F84411012979 +:1077D00000D00021A27A3C4F012A6CD0022A71D03D +:1077E000D7F8101101290CBF1021002141EA000631 +:1077F0004448016811F0FF0F03D0D7F81411012994 +:1078000000D0002184F83210006810F0FF0F03D080 +:10781000D7F81801012800D0002084F833003A4836 +:10782000006884F83400FFF7C6F8012818BF00206C +:1078300084F83500C7F80051C7F80C51C7F810514B +:10784000C7F80451C7F81451C7F818510CF070FA72 +:10785000002818BFC7F828512C480068009020481D +:10786000C0F844512A480068DFF878900090D9F8B1 +:107870000000A06294F8211000291CBF401AA062E9 +:1078800024480068E0621948016801F00F010329EB +:1078900008BF012007D0006800F00F0004280EBFC9 +:1078A0000220FFDF012084F83000A07A84F8310044 +:1078B00002284DD13FE0D7F80C01012814BF002069 +:1078C00008208DE728E00000001000403C15004033 +:1078D0000C0C0020C000002004150040240C0020E7 +:1078E000008000404485004004F501401015004030 +:1078F00008F50140041100406015004048150040A3 +:107900001C110040401600401014004018110040A7 +:107910004481004040850040D7F80C01012814BF85 +:1079200000200220F64A1268012A14BF0422002215 +:107930001043084354E7607850B1F2490968097868 +:107940000840217831EA000008BF84F8248001D083 +:1079500084F82450DFF8B0A316F0020F06D0EBF73E +:10796000A7F9A16A081ADAF81010884716F0010F73 +:1079700018BF4FF0000B0DD0EBF79AF9E16ADAF877 +:107980001420081A59469047E048007810F0010F7B +:107990002FD10CE016F0020F18BF4FF0010BEBD106 +:1079A00016F0080F18BF4FF0020BE5D1ECE7DFF837 +:1079B00054B3DBF80000007800F00F00072828BF60 +:1079C00084F8255015D2DBF80000062200F10901E9 +:1079D000A01CF6F7CFFC40B9207ADBF8001009783C +:1079E000B0EBD11F08BF012001D04FF0000084F898 +:1079F0002500E17A4FF0000011F0020F1CBF16F0D5 +:107A0000020F16F0040F19D111F0100F1CBF94F8DB +:107A10003320002A02D094F835207AB111F0080FF3 +:107A20001CBF94F82420002A08D111F0040F02D0C2 +:107A300094F8251011B116F0010F01D04FF001009C +:107A4000617A19B1A0B1FFF7BCFC17E094F82100EE +:107A5000002814BF4FF4C021AD49AE480160D7F8EB +:107A6000000220F00300C7F8000284F80B8005E054 +:107A700001290AD0022918BFFFDF0FD016F0010F2D +:107A800017D0DAF80000804723E0657284F80B8095 +:107A900084F80A809621227B002007E0657284F832 +:107AA0000B800220A072227B96210120FFF74CFC64 +:107AB000E4E716F0020F05D0DAF8041028EA960081 +:107AC000884706E016F0080F18BFDAF8080025D03E +:107AD0008047A07A022818BFBDE8F88F207C0028D4 +:107AE00008BFBDE8F88F8C49C1F8445102281DD069 +:107AF000012818BFFFDFE16A6069884298BFFFDF95 +:107B0000D4F81400C9F80000A06B844940F4800048 +:107B1000A0634FF480000860BDE8F88F16F0100FE6 +:107B200014BFDAF80C00FFDFD2D1D2E76169E06A56 +:107B30000844E7E7F8B57A49044602208872012133 +:107B40002046FFF791FA774E04F13D003060724F06 +:107B50000024C7F84441744DC5F80041C5F80C41F4 +:107B6000C5F81041C5F80441C5F81441C5F81841DD +:107B70000CF0DEF8002818BFC5F828416B480068F3 +:107B800000900120B8646A4800683168884228BFC4 +:107B9000FFDFF8BD2DE9F84F614A88460126917A4A +:107BA0005C4F0024012902D0022903D015E0117E88 +:107BB00011B912E0517E81B1917FD37F06FA01F1B4 +:107BC00006FA03F31943396092F82010890001F195 +:107BD000804101F5C041C1F8104505460220907270 +:107BE00001212846FFF740FADFF8389105F13D0002 +:107BF000C9F80000DFF820A1CAF844414A4DC5F891 +:107C00000041C5F80C41C5F81041C5F80441C5F85C +:107C10001441C5F818410CF08BF8002818BFC5F8BE +:107C20002841424800680090CAF84860404800680F +:107C3000D9F80010884228BFFFDFB8F1000F1CBF41 +:107C40004FF400303860BDE8F88F022810B507D037 +:107C500001280EBF42F6CE30FFDF41F66A0010BDAC +:107C60000CF018F830B90CF02CF8002808BF41F6D9 +:107C7000583001D041F2643041F29A01084410BDFD +:107C8000294910B50020C1F80002254890F82100CC +:107C9000002814BF4FF4C0201D481E490860264923 +:107CA00024480860091D25480860091D244808600B +:107CB000091D24480860091D23480860091D234840 +:107CC000086001200CF010FB14494FF438100860D4 +:107CD00010BD10494FF43810086070471C48016807 +:107CE00003291BBF006802280120002070471848A4 +:107CF00001680B291BBF00680A280120002070477B +:107D000000140040041500400C0C0020C0000020AE +:107D10000000040408F501400080004004F5014023 +:107D2000240C002044850040001000401811004041 +:107D3000488500401011004098F5014004100040B3 +:107D400044810040141000401C11004010100040FD +:107D50005015004010B5404822220021F6F761FB83 +:107D60003D480024017821F010010170012105F047 +:107D700033FE3A494FF6FF7081F822408884384933 +:107D80000880488010BD704734498A8C824218BFF1 +:107D90007047002081F822004FF6FF7088847047FA +:107DA0002D49016070472E49088070472B498A8C05 +:107DB000A2F57F43FF3B03D00021016008467047D6 +:107DC00091F822202549012A1ABF016001200020D4 +:107DD0007047224901F1220091F82220012A04BFB4 +:107DE00000207047012202701D48008888841046D8 +:107DF00070471B49488070471849194B8A8C5B882B +:107E00009A4206D191F82220002A1EBF016001206B +:107E10007047002070471148114A818C5288914266 +:107E200009D14FF6FF71818410F8221F19B100218A +:107E3000017001207047002070470848084A818C73 +:107E40005288914205D190F8220000281CBF0020E2 +:107E50007047012070470000860C0020600C002055 +:107E6000C80000207047584A012340B1012818BFBC +:107E700070471370086890608888908170475370CD +:107E80000868C2F802008888D08070474E4A10B156 +:107E9000012807D00EE0507860B1D2F802000860E7 +:107EA000D08804E0107828B19068086090898880B4 +:107EB0000120704700207047434910B1012803D0CA +:107EC00006E0487810B903E0087808B1012070474F +:107ED0000020704730B58DB00C4605460D220021BC +:107EE00004A8F6F79EFAE0788DF81F0020798DF847 +:107EF0001E0060798DF81D00286800906868019068 +:107F0000A8680290E868039068460BF01FFD20788F +:107F10009DF82F1088420CD160789DF82E10884271 +:107F200007D1A0789DF82D10884202BF01200DB026 +:107F300030BD00200DB030BD30B50C4605468DB0CB +:107F40004FF0030104F1030012B1FEF7D3F801E092 +:107F5000FEF7EFF860790D2220F0C00040F04000FD +:107F60006071002104A8F6F75CFAE0788DF81F0034 +:107F700020798DF81E0060798DF81D00286800902A +:107F800068680190A8680290E868039068460BF062 +:107F9000DDFC9DF82F0020709DF82E0060709DF88C +:107FA0002D00A0700DB030BD10B5002904464FF073 +:107FB000060102D0FEF79EF801E0FEF7BAF86079FC +:107FC00020F0C000607110BDCC000020FE48406869 +:107FD00070472DE9F0410F46064601461446012040 +:107FE00005F06CFF054696F86500FEF7F9FD4AF2CC +:107FF000B12108444FF47A71B0FBF1F0718840F27E +:1080000071225143C0EB4100001BA0F2673402F023 +:1080100077FF002818BF1E3CAF4234BF28463846C1 +:10802000A04203D2AF422CBF3C462C467462BDE84E +:10803000F0812DE9FF4F8BB0044690F8650088462B +:108040000890DDE90D1008430A90E0480027057804 +:108050000C2D28BFFFDFDE4E36F8159094F88C51BA +:108060000C2D28BFFFDFDA4830F81500484480B2F5 +:10807000009094F87D000D280CBF01200020059091 +:108080000D98002804BF94F82C0103282BD10598E3 +:1080900048B3B4F8AE01404525D1D4F83401C4F852 +:1080A0002001608840F2E2414843C4F82401B4F85A +:1080B0007A01B4F806110844C4F82801204602F0F9 +:1080C00029FFB4F8B201E08294F8B0016075B4F809 +:1080D000B4016080B4F8B601A080B4F8B801E080C3 +:1080E000022084F82C01D4F884010790D4F8800190 +:1080F0000390B4F80661B4F87801D4F874110991CA +:108100000D9921B194F8401151B100F0D6B804F5A1 +:10811000807102917431049104F5B075091D07E076 +:1081200004F5AA710291091D049104F5A275091DB7 +:108130000691B4F87010A8EB0000A8EB01010FFA4B +:1081400080F90FFA81FBB9F1000F05DAD4F870015C +:1081500009900120D9460A909C484FF0000A007906 +:10816000A8B3F3F7E1FE90B3B4F8180102282ED3B8 +:1081700094F82C0102282AD094F8430138BB94F8D3 +:108180008C0100900C2828BFFFDF9148009930F83F +:10819000110000F5C86080B2009094F82C0101280D +:1081A0007ED0608840F2E2414843009901F0F5F842 +:1081B000D4F8342180B206EB0B01A1EB0901821A3D +:1081C00001FB02AAC4F83401012084F8430194F8A9 +:1081D0002C01002865D0012800F00082022800F060 +:1081E0006481032818BFFFDF00F02D82A7EB0A018E +:1081F0000998FCF744FB0499012640F271220860BB +:108200000698A0F80080002028702E71049800685D +:10821000A8606188D4F834015143C0EB41006B4938 +:10822000A0F23730C8618969814287BF029908602E +:10823000029801600298616A0068084400F2A71081 +:10824000E86002F05DFE10B1E8681E30E8606E7113 +:10825000B4F8F000A0EB080000B20028C4BF03206F +:108260006871059800280E9800F04482E0B100BFC4 +:10827000B4F8181100290CBF0020B4F81A01A4F8B2 +:108280001A0194F81C21401C504388420CD2687992 +:10829000401E002808DD6E71B4F81A01401C01E090 +:1082A0000FE05AE0A4F81A010D98002800F0468269 +:1082B00094F84001002800F03D820FB00220BDE894 +:1082C000F08F94F8800003283DD03F4894F8651063 +:1082D00090F8300005F0E7F8E18A40F2712251434E +:1082E00000EB4100CDF80400D4F82401009901F01E +:1082F00054F8D4F82021D4F82811821A01FB02AADC +:10830000C4F82001DDE9001001F047F8D4F830117D +:10831000C4F83001411A8A44608840F2E24148437F +:10832000009901F03AF806EB0B01D4F82821A1EBF3 +:108330000901891AD4F83421C4F83401821A491E7B +:1083400001FB02AA40E7E18A40F27122D4F824013D +:10835000514300EB41000190C6E70398002808BF95 +:10836000FFDF94F86510184890F8300005F09BF88E +:108370000190E08A40F271214143019800EB4100F5 +:10838000009901F00AF8C4F83001608840F2E24137 +:108390004843009901F001F8C4F8340186B221463F +:1083A0000120D4F8289005F089FD074694F865006F +:1083B000FEF716FC4AF2B12108444FF47A7BB0FB79 +:1083C000FBF0618806E00000A80C0020DC00002023 +:1083D000B857020040F271225143C0EB4100801BAC +:1083E000A0F2673602F08CFD002818BF1E3EB9458A +:1083F00034BF38464846B04203D2B9452CBF4E463A +:108400003E46666294F86500FEF73DFC00F2E140EE +:10841000B0FBFBF103980F1894F86500FEF733FCEE +:10842000064694F86500FEF7DBFB30444AF2AB31B8 +:108430000844B0FBFBF1E08A40F27122424301980C +:10844000D4F8306100EB4200401A801B3844A0F1A0 +:108450002007607D40F2E24110FB01F994F86500CD +:108460000090FEF7BDFB4AF2B1210844B0FBFBF0DF +:1084700000EB460000EB09060098FEF70DFC3044C7 +:1084800000F16201FA48816194F86500FEF7FBFB98 +:1084900000F2E140B0FBFBF103980844381A40F2C7 +:1084A000F721814288BFFFDFA0E6E18A40F2712216 +:1084B000D4F82401514300EB4100009900F06DFF16 +:1084C000C4F83001618840F2E2404843009900F06E +:1084D00064FFC4F8340187B221460120D4F828B0E3 +:1084E00005F0ECFC814694F86500FEF779FB4AF252 +:1084F000B12101444FF47A70B1FBF0F0618840F291 +:1085000071225143C0EB4100C01BA0F2673702F05B +:10851000F7FC002818BF1E3FCB4534BF48465846DD +:10852000B84203D2CB452CBF5F464F46676216BBAD +:108530000E9800B394F865603046FEF751FB4AF29E +:10854000B12101444FF47A70B1FBF0F0D4F830114E +:1085500040F271230844E18AD4F82421594302EB04 +:1085600041010F1A3046FEF797FB0799081A384465 +:10857000A0F120070AE0E18A40F27122D4F8240138 +:10858000514300EB4100D4F83011471AD4F82821A8 +:10859000D4F82011D4F8300101FB020B607D40F2C9 +:1085A000E24110FB01F994F865603046FEF718FBD4 +:1085B0004AF2B12101444FF47A70B1FBF0F000EBC4 +:1085C0004B0081443046FEF767FB484400F16001F0 +:1085D000A7488161012084F82C0107E6618840F2F8 +:1085E0007122D4F834015143C0EB410101FB09F77A +:1085F000D4F8281106EB0B02521AD4F820C1D4F893 +:108600003031521E0CFB013102FB001B607D40F239 +:10861000E24110FB01F994F865000646FEF7E0FA26 +:108620004AF2B12101444FF47A70B1FBF0F000EB53 +:108630004B0081443046FEF72FFB484400F16001B7 +:108640008B488161D2E5618840F27122D4F834010F +:108650005143C0EB410000FB09F794F87C0024284B +:108660001CBF94F87D0024280BD1B4F8AE01A8EB10 +:10867000000000B2002804DB94F8B101002818BF04 +:1086800008900A98D8B1D6B9079800281ABF03985D +:108690000028FFDF94F86500FEF7A2FA4AF2B12144 +:1086A00001444FF47A70B1FBF0F03F1A94F8650082 +:1086B000FEF7F2FA0799081A3844A0F12007D4F817 +:1086C000341106EB0B0000FB01F60898FEF788FA60 +:1086D0004AF2B12101444FF47A70B1FBF0F000EBA3 +:1086E00046060898FEF7D8FA304400F16001604869 +:1086F00081617BE500287FF4BBAD94F82C01002854 +:108700003FF4D2AD618840F27122D4F83401514374 +:10871000C0EB4101284604F071FD0004000C3FF459 +:10872000C3AD1899002918BF088001200FB0BDE81B +:10873000F08F00BF94F87C01FCF7F8FE94F87C0100 +:108740002946FCF7D9FD20B10D9880F0010084F88E +:1087500041010FB00020BDE8F08F70B5454C607A44 +:1087600000281CBF002070BD94F8340038B1A16B04 +:10877000606A884203D9F7F74AF9002070BDA06A01 +:10878000E8B1F6F76AF90546F5F7ECFF284442F23E +:1087900010714618FCF78CFB05462946E06AFDF788 +:1087A00076F8E562A16A8219914224BF081AA06294 +:1087B00005D20120A062F7F72AF9002070BD012040 +:1087C00070BDF8B52B4C0246294F00256168606AE0 +:1087D000052A4AD2DFE802F0033136394000A07A98 +:1087E000002660B101216846FDF784FC9DF8000079 +:1087F00042F210710002B0FBF1F201FB1206F6F733 +:108800002CF98119A069FCF73AF8A06125740320BE +:10881000607501202075607A38B9207B04F1100161 +:10882000FCF76AFD002808BFFFDF2584FCF74BFA40 +:108830007879BDE8F840EAF767BBBDE8F840002169 +:1088400000F0C8BDC1F88001F8BDD1F88001BDE8D5 +:10885000F840012100F0BEBD84F83450FCF733FA33 +:108860007879BDE8F840EAF74FBBFFDFF8BD0000BC +:10887000DC000020A80C00202DE9F04FDFF8049464 +:10888000044683B099F800008B4601270025FE4E70 +:108890004FF00208032804BF99F80C00A0427DD1D4 +:1088A000D9F80400706199F80000032818BFFFDFB1 +:1088B0000324BBF1080F72D2DFE80BF0040F323251 +:1088C0002DD2D2C9C9F82450F6F778FC002818BF79 +:1088D000FFDFB47003B0BDE8F08FF5F743FF044647 +:1088E000D9F81C00A04228BFC9F81C4006D2201AA3 +:1088F0000421FDF700F8C9F81C4038B1F6F7F1FF84 +:10890000002818BFFFDF03B0BDE8F08F03B00020E0 +:10891000BDE8F04F55E703B0BDE8F04FFEF721BFCB +:1089200089F8147089F8105099F834004FF0010A52 +:1089300042F2107B68B14FF47A71D9F81800FBF756 +:108940009EFFC9F81800002109F1100004F056FC40 +:108950001BE001216846FDF7C3FB9DF80000000203 +:10896000B0FBFBF10BFB110AF6F777F88244514696 +:10897000D9F81800FBF783FFC9F81800514609F130 +:10898000100004F03BFC00F1010AB9F82000411C82 +:108990000A293CBF5044A9F8200001E064E05FE0F0 +:1089A000D9F8040038B1B9F82000401C0A2828BFC3 +:1089B00089F8158001D289F8154099F8090070BB33 +:1089C00099F8340040B1D9F83810D9F82400884219 +:1089D00002D9F7F71CF822E0D9F8280058B3F6F7C7 +:1089E0003CF80446F5F7BEFE204400EB0B08FCF70C +:1089F0005FFA04462146D9F82C00FCF748FFC9F875 +:108A00002C40D9F8281000EB0802914224BF081A24 +:108A1000C9F828000FD2C9F82870F6F7F8FF99F8BE +:108A20000C00FCF726FA89F80050707903B0BDE815 +:108A3000F04FEAF769BA99F80C0009F11001FCF758 +:108A40005BFC002808BFFFDF03B0BDE8F08F99F89A +:108A50000C00FCF70EFA89F8005003B0BDE8F08F67 +:108A6000FFDF03B0BDE8F08F202C28BFFFDFDFF869 +:108A70001C92072139F81400FAF7BAF85FEA000AE5 +:108A800008BFFFDF202C28BFFFDF39F81400BAF839 +:108A90000010884218BFFFDF5446C6F814A04FF0FC +:108AA000200ABBF1080F80F06881DFE80BF0049822 +:108AB000A2A29BF3F2F1C4F88051F580C4F884516E +:108AC00094F8410138B9FCF7F3F9D4F84C11FCF7EC +:108AD000DEFE00281DDCB4F83E01B4F870108842B8 +:108AE00008D1B4F8F400401AA4F8F6002046B4F80F +:108AF000F41005E0401AA4F8F600B4F83E11204640 +:108B0000A4F87010D4F86811C4F84C11C0F87011B2 +:108B10001DE0B4F83C11B4F87000081AA4F8F6008F +:108B2000B4F83C112046A4F87010D4F84C11C4F8E5 +:108B30006811C4F87011D4F85411C4F80011D4F8B5 +:108B40005811C4F87411B4F85C11A4F8781102F04B +:108B5000BCF8FCF787F9814694F86500FEF740F809 +:108B60004AF2B12108444FF47A71B0FBF1F0D4F825 +:108B7000341140F27122084461885143C0EB410036 +:108B8000A0F1300AB9F1B70F98BF4FF0B7092146ED +:108B9000012005F093F94844AAEB0000A0F54779BD +:108BA000A2462146012005F089F9DAF824109C300C +:108BB000814288BF0D1AC6F80C904D4528BF4D461E +:108BC000B560D4F86C01A0F2A7103061FCF72CFE60 +:108BD00084F8407186F8028003B0BDE8F08F02F09F +:108BE0008AF901E0FEF7BDFD84F8407103B0BDE8ED +:108BF000F08FFCF75DF9D4F8702101461046FCF7C0 +:108C000046FE48B1628840F27123D4F834115A43C9 +:108C1000C1EB4201B0FBF1F094F87D100D290FD0AB +:108C2000B4F87010B4F83E210B189A42AEBF501C35 +:108C3000401C0844A4F83E0194F8420178B905E0CC +:108C4000B4F83E01401CA4F83E0108E0B4F83E012F +:108C5000B4F8F410884204BF401CA4F83E01B4F8F4 +:108C60007A010DF1040B401CA4F87A01B4F89A00C3 +:108C7000B4F89810401AB4F87010401E08441FFA57 +:108C800080F814E0A80C0020DC000020E40C002098 +:108C900065E059E071E000231A462046CDF800B0A7 +:108CA000FFF7C7F948B3012818BFFFDF44D0B4F875 +:108CB0003E11A8EB010000B20028ECDA082084F88D +:108CC0008D0084F88C70204601F0B0FD84F82C51A2 +:108CD00094F87C514FF6FF77202D00D3FFDF29F861 +:108CE000157094F87C01FCF7C4F884F87CA17079C5 +:108CF00003B0BDE8F04FEAF707B9A06E002804BF43 +:108D000003B0BDE8F08FB4F83E01B4F89420801AA7 +:108D100001B20029DCBF03B0BDE8F08FB4F86C00ED +:108D20000144491E91FBF0F189B201FB0020A4F837 +:108D3000940003B0BDE8F08FB4F83E01BDF8041014 +:108D40000844A4F83E01B2E7FEF7C6FBFEF709FDB2 +:108D50004FF0E020C0F8808203B0BDE8F08F94F8B7 +:108D60002C01042818BFFFDF84F82C5194F87C51A3 +:108D70004FF6FF77202DB2D3B0E7FFDF03B0BDE899 +:108D8000F08F10B5FC4C207850B101206072F6F7DE +:108D900064FE2078032805D0207A002808BF10BD83 +:108DA0000C2010BD207BFCF7C1FB207BFCF72AFECA +:108DB000207BFCF75EF8002808BFFFDF0020207052 +:108DC00010BD2DE9F04FEC4F83B0387801244FF0FF +:108DD000000840B17C720120F6F73FFE3878032886 +:108DE00018BF387A0DD0DFF8949389F803406946AC +:108DF0000720F9F786FE002818BFFFDF4FF6FF7443 +:108E000040E0387BFCF792FB387BFCF7FBFD387BBE +:108E1000FCF72FF8002808BFFFDF87F80080E2E7A3 +:108E2000029800281CBF90F82C1100292AD0008835 +:108E3000A0421CBFDFF848A34FF0200B3AD0072117 +:108E4000F9F7D6FE040008BFFFDF94F87C01FCF7B9 +:108E5000D9FD84F82C8194F87C514FF6FF76202DB3 +:108E600028BFFFDF2AF8156094F87C01FCF701F8B1 +:108E700084F87CB169460720F9F743FE002818BF43 +:108E8000FFDF12E06846F9F71AFE0028C8D011E0AB +:108E9000029800281CBF90F82C11002905D00088EA +:108EA000A0F57F41FF39CAD104E06846F9F707FE13 +:108EB0000028EDD089F8038087F8348087F80B808C +:108EC00003B00020BDE8F08FAC49487100208870E5 +:108ED00001220A7048700A71C870A749087070E7CB +:108EE000A649087070472DE9F84FA34C06468846FE +:108EF0002078002860D1A348FBF760FF207320286A +:108F00005AD0032766602770002565722572AEB1BE +:108F1000012106F58E70FDF70CF90620F9F710FE19 +:108F200081460720F9F70CFE96F81C114844B1FB66 +:108F3000F0F200FB1210401C86F81C01FBF792FFB8 +:108F400040F2F651884238BF40F2F65000F23F102E +:108F50001FFA80F9F5F706FCE061F5F77EFD0126C2 +:108F600068B3A672FBF7A4FF824601216846FDF7AD +:108F7000B7F89DF8000042F210710002B0FBF1F268 +:108F800001FB120000EB09015046FBF778FCA061E1 +:108F9000C4E90A8A267567752574207B04F11001DF +:108FA000FCF7AAF9002808BFFFDF25840020F6F7A8 +:108FB00054FD0020BDE8F88F0C20BDE8F88FFBF7CA +:108FC00077FF4946FBF75BFCA061A57284F834602B +:108FD000A8F28B50A562A063DCE76849487070472F +:108FE0006649087170472DE9F041644C0646E088F7 +:108FF000401CE080D4E902516078D6F8807120B13D +:109000003A46284604F02EF90546A068854205D068 +:109010002169281A08442061FCF706FCA560AF42CC +:1090200009D896F82C01012805D0E078002804BF63 +:109030000120BDE8F0810020BDE8F08110B50446B4 +:109040000846FDF7CDFD4AF2B12108444FF47A718C +:10905000B0FBF1F040F2E241614300F2373081426F +:109060008CBF081A002010BD70B5044682B00020E5 +:1090700084F8400194F8FE00002807BF94F82C0102 +:10908000032802B070BDFBF713FFD4F8702101462E +:109090001046FCF7FCFB0028DCBF02B070BD628804 +:1090A00040F27123D4F834115A43C1EB4201B0FBB2 +:1090B000F1F0B4F87010401C0844A4F83C01B4F876 +:1090C000F400B4F83C21801A00B20028DCBF02B0E2 +:1090D00070BD012084F84201B4F89A00B4F89820D9 +:1090E00001AE801A401E084485B212E00096B4F822 +:1090F0003C11002301222046FEF79BFF002804BFFD +:1091000002B070BD01280DD0022812BFFFDF02B0EF +:1091100070BDB4F83C01281A00B20028BCBF02B0F0 +:1091200070BDE3E7B4F83C01BDF804100844A4F8AE +:109130003C01EEE7F8B504220025062964D2DFE8F9 +:1091400001F0072F03191933044680F82C2107E09A +:1091500004460A48C078002818BF84F82C2113D090 +:10916000FBF7B1FDA4F87A51B4F87000A4F83E0101 +:1091700084F84251F8BD0000A80C0020DC0000205B +:10918000E40C0020798801000095B4F8F410012364 +:1091900000222046FEF74DFF002818BFFFDFDFE763 +:1091A000032180F82C11E5E70646876AB0F8340100 +:1091B000314685B2012004F081FE044696F8650030 +:1091C000FDF70EFD4AF2B12108444FF47A71B0FB6D +:1091D000F1F0718840F271225143C0EB4100401B15 +:1091E000A0F2673501F08CFE002818BF1E3DA74293 +:1091F00034BF20463846A84228BF2C4602D2A74298 +:1092000028BF3C467462B5E7FFDFB3E72DE9F047BE +:10921000984CA178022906BFE1880029BDE8F087B3 +:109220006569C5F8840195F86500FDF735FDD5F849 +:109230008411081AA1680144A160E1680844E06053 +:10924000656995F84301002808BFBDE8F08795F8E7 +:109250002C01032818BFBDE8F08795F865802678B3 +:109260000C2E28BFFFDF844C34F8167095F88C6103 +:109270000C2E28BFFFDF34F81600384495F88C71A7 +:1092800086B20C2F28BFFFDF34F8170000F5C86046 +:1092900087B24046FDF700FDD5F884110C1A404610 +:1092A000FDF79EFC4FF47A7900F2E730B0FBF9F05D +:1092B000241A4046FDF7F0FCD5F80011A1EB000A96 +:1092C0004046FDF78DFC4AF2B1210844B0FBF9F0AD +:1092D000AAEB0000A0F160017143B1FBF7F2292174 +:1092E00001EB500102F16000A1EB500201EB5000D4 +:1092F000A24201D8A04201D8F2F797FE688840F256 +:10930000E2414843314600F048F8C5F834010020F6 +:1093100085F84301BDE8F08770B50546554890F8DB +:1093200002C0BCF1020F07BF406900F5C07453488A +:1093300000F12404002904BF256070BD4FF47A7643 +:1093400001290DD002291CBFFFDF70BD1046FEF7BA +:109350007CFC00F2E140B0FBF6F0281A206070BD02 +:109360001846FDF790FC00F2E140B0FBF6F0281A39 +:10937000206070BD4148007800281CBF0020704765 +:1093800010B50720F9F7CEFB80F0010010BD3B4877 +:109390000078002818BF0120704730B50246002031 +:1093A000002908BF30BDA2FB0110490A41EAC051A3 +:1093B000400A4C1C40F100000022D4F1FF3140F281 +:1093C000A17572EB000038BFFFDF04F5F460B0FB5D +:1093D000F5F030BD2DE9F843284C0025814684F88E +:1093E0003450D4F8188084F83010E57225700127C5 +:1093F00027723946606803F073FA6168C1F87081BA +:10940000267B81F87C61C1F88091C1F87481B1F844 +:109410000080202E28BFFFDF194820F816806468DE +:1094200084F82C510023A4F878511A461946204696 +:109430000095FEF7FEFD002818BFFFDFC4F8285195 +:10944000C4F8205184F82C71A4F83E51A4F83C5182 +:1094500084F84251B4F87000401EA4F87000A4F8DB +:109460007A51FBF730FC03484079BDE8F843E9F74F +:109470004BBD0000DC000020B8570200A80C002003 +:10948000E40C00202DE9F0410E46044604F0C1FB37 +:109490000546204604F0C1FB044603F029FFFB4FBC +:1094A000010015D0386990F864208A4210D090F8F5 +:1094B000C4311BB190F8C63123421FD02EB990F8A9 +:1094C0005D30234201D18A4218D890F8C401A8B176 +:1094D000284603F00DFF70B1396991F8652082428A +:1094E00009D091F8C40118B191F8C701284205D0FC +:1094F00091F8C40110B10120BDE8F0810020FBE724 +:1095000030B5E24C85B0E06900285ED0142200211D +:109510006846F4F786FF206990F86500FDF760FB68 +:109520004FF47A7100F5FA70B0FBF1F5206990F80C +:109530006500FDF7B1FB2844ADF8060020690188FD +:10954000ADF80010B0F87010ADF804104188ADF817 +:10955000021090F8A60130B1A069C11C039104F07B +:1095600039FA8DF81000206990F8A5018DF80800EF +:10957000E169684688472069002180F8A61180F8D3 +:10958000A5110399002920D090F8A41100291CD11D +:1095900090F87C10272918D09DF81010039A002904 +:1095A00013D013780124FF2B11D0072B0DD10229E2 +:1095B0000BD15178FF2908D180F8A4410399C0F854 +:1095C000A8119DF8101080F8A71105B030BD1B2917 +:1095D000F2D9FAE770B5AD4C206990F87D001B28F0 +:1095E00000D0FFDF2069002580F8A75090F8D8014F +:1095F00000B1FFDF206990F8A81041B180F8A850B1 +:109600000188A0F8DC1180F8DA510E2108E0018809 +:10961000A0F8DC1180F8DA51012180F8DE110D216B +:1096200080F8D8110088F9F716FCF9F7ADF8207921 +:10963000E9F76AFC206980F87D5070BD70B5934CE5 +:10964000A07980072CD5A078002829D1626920460E +:10965000D37801690D2B01F170005FD00DDCA3F10F +:1096600002034FF001050B2B19D2DFE803F01A18A3 +:1096700044506127182C183A6400152B6FD008DC71 +:10968000112B4BD0122B5AD0132B62D0142B06D196 +:1096900066E0162B71D0172B70D0FF2B6FD0FFDF39 +:1096A00070BD91F87F200123194603F03DFD00288D +:1096B000F6D12169082081F87F0070BD1079BDE8DE +:1096C000704001F0B9BC91F87E00C00700D1FFDF07 +:1096D00001F071FC206910F87E1F21F0010101707A +:1096E00070BD91F87D00102800D0FFDF20691121A6 +:1096F00080F8A75008E091F87D00142800D0FFDF23 +:109700002069152180F8A75080F87D1070BD91F870 +:109710007D00152800D0FFDF172005E091F87D00BF +:10972000152800D0FFDF1920216981F87D0070BD68 +:10973000BDE870404EE7BDE8704001F051BC91F8C3 +:109740007C200123002103F0EFFC00B9FFDF0E2095 +:109750000FE011F87E0F20F0040008701DE00FE00C +:1097600091F87C200123002103F0DEFC00B9FFDF2B +:109770001C20216981F87C0070BD12E01BE022E012 +:1097800091F87E00C0F30110012800D0FFDF2069AE +:1097900010F87E1F21F010010170BDE8704001F04B +:1097A0000ABC91F87C200123002103F0BDFC00B924 +:1097B000FFDF1F20DDE791F87D00212801D000B1F7 +:1097C000FFDF2220B0E7BDE8704001F000BC2F4869 +:1097D000016991F87E20130702D50121817070473D +:1097E00042F0080281F87E208069C07881F8E100AB +:1097F00001F0D8BB10B5254C21690A88A1F81A22BE +:1098000081F8180291F8640001F0C0FB216981F829 +:109810001C0291F8650001F0B9FB216981F81D0275 +:10982000012081F81602002081F8C4012079BDE8EA +:109830001040E9F769BB10B5144C05212069FFF70A +:1098400079FC206990F85A10012908D000F5F771C9 +:1098500004F002FB2079BDE81040E9F755BB022176 +:1098600080F85A1010BD10B5084C01230921206959 +:1098700090F87C20703003F057FC48B1216900203B +:1098800001F8960F087301F81A0C10BDFC000020B7 +:109890000120A070F9E770B5FE4D01232946286923 +:1098A000896990F87C2009790E2A01D1122903D008 +:1098B00000241C2A03D004E0BDE87040D3E714293B +:1098C00002D0202A07D008E080F87C4080F8A2402F +:1098D000BDE87040AFE7162906D0262A01D1162927 +:1098E00002D0172909D00CE000F87C4F80F8264000 +:1098F000407821280CD01A2017E090F87D20222AE9 +:1099000007D0EA69002A03D0FF2901D180F8A631E7 +:1099100032E780F87D4001F04EFB286980F89740DF +:1099200090F8C4010028F3D00020BDE8704061E742 +:1099300010B5D84C216991F87C10202902D0262935 +:1099400002D0A2E7FFF756FF2169002081F87C00D2 +:1099500081F8A20099E72DE9F843CE4C206990F8F0 +:109960007C10202908D0002790F87D10222905D0EE +:109970007FB300F17C0503E00127F5E700F17D05E9 +:1099800010F8B01F41F004010170A06904F04DF916 +:109990004FF00108002608B33946A069FFF772FDB1 +:1099A000E0B16A46A169206903F0B1FC90B3A069F7 +:1099B00004F039F92169A1F8AE01B1F8701001F095 +:1099C000CBFA40B32069282180F88D1080F88C8074 +:1099D00048E0FFE70220A070BDE8F883206990F816 +:1099E000C40110B11E20FFF705FFAFB1A0692169C6 +:1099F000C07881F8E20008FA00F1C1F3006000B914 +:109A0000FFDF20690A2180F87C1090F8A20040B99D +:109A1000FFDF06E009E01AE02E7001F0CCFAFFF754 +:109A2000D6FE206980F89760D6E7206990F8C401D7 +:109A300018B10020FFF7DEFE2E70206900F17D01D5 +:109A400080F897608D420DD180F87D600AE0206932 +:109A50009DF8001080F8B0119DF8011080F8B11148 +:109A600024202870206900F17D018D4203D1BDE8DA +:109A7000F84301F0A0BA80F8A260ADE770B5854C5C +:109A800001230B21206990F87D20703003F04CFBFE +:109A9000202650BB20690123002190F87D207030E2 +:109AA00003F042FB0125F0B1206990F87C002428E6 +:109AB0001BD0A06904F097F8C8B1206990F8B010E5 +:109AC00041F0040180F8B010A1694A7902F0070260 +:109AD00080F85D20097901F0070180F85C1090F8AA +:109AE000C5311BBB06E0A57046E6A67044E6BDE89E +:109AF00070406CE690F8C431C3B900F164035E783D +:109B00008E4205D11978914202D180F897500DE02C +:109B100000F504710D7002884A8090F85C200A718B +:109B200090F85D0048712079E9F7EEF9216921206C +:109B300081F87D00BDE8704001F034BAF8B5554CAD +:109B4000206990F87E0010F0300F04D0A07840F02B +:109B50000100A070F8BDA06904F02AF850B3A06914 +:109B600004F020F80746A06904F020F80646A06932 +:109B700004F016F80546A06904F016F801460097AF +:109B8000206933462A46303004F0ECF8A07980078B +:109B900003D56069C07814280FD0216991F87C0042 +:109BA0001C280AD091F85A0001280ED091F8BB0168 +:109BB00058B907E0BDE8F84009E62169012081F8BD +:109BC0005A0002E091F8BA0130B1206910F87E1F06 +:109BD00041F0100101700EE091F87E0001F5FE7277 +:109BE00040F0200081F87E0031F8300B04F028F9B5 +:109BF0002079E9F789F9BDE8F84001F0D3B970B5EB +:109C0000244C206990F87E10890707D590F87C20B5 +:109C100001230821703003F087FAE8B1206990F839 +:109C2000AA00800712D4A06903F09EFF216981F881 +:109C3000AB00A06930F8052FA1F8AC204088A1F84E +:109C4000AE0011F8AA0F40F002000870206990F8E9 +:109C5000AA10C90703D00FE00120A0708CE590F88E +:109C60007E00800700D5FFDF206910F87E1F41F0DD +:109C70000201017001F096F92069002590F87C102E +:109C8000062906D180F87C5080F8A2502079E9F7A7 +:109C90003BF901E0FC000020206990F8AC11042998 +:109CA000DCD180F8AC512079E9F72EF9206990F8E1 +:109CB0007C100029D2D180F8A2505DE570B5FC4C33 +:109CC00001230021206990F87D20703003F02CFAE8 +:109CD000012578B9206990F87D20122A0AD0012345 +:109CE0000521703003F020FA10B10820A07043E580 +:109CF000A57041E5206990F8A80008B901F052F973 +:109D00002169A06901F5847103F00FFF2169A06941 +:109D1000D83103F015FF206990F8E00100B1FFDFB2 +:109D200021690888A1F8E20101F5F271A06903F048 +:109D3000EAFE2169A06901F5F67103F0ECFE2069E5 +:109D400080F8E051142180F87D102079BDE8704042 +:109D5000E9F7DAB870B5D64C01230021206990F8F4 +:109D60007D20703003F0E0F90125A8B1A06903F06F +:109D700096FE98B1A0692169B0F80D00A1F8AE0176 +:109D8000B1F8701001F0E8F858B12069282180F886 +:109D90008D1080F88C50EFE4A570EDE4BDE87040C4 +:109DA00015E5A0692169027981F8B021B0F8052094 +:109DB000A1F8B22103F066FE2169A1F8B401A069FF +:109DC00003F063FE2169A1F8B601A06903F064FE07 +:109DD0002169A1F8B8010D2081F87D00CCE47CB5A3 +:109DE000B34CA079C00738D0A06901230521C578FC +:109DF000206990F87D20703003F096F968B1AD1EAF +:109E00000A2D06D2DFE805F009090505090905054F +:109E10000909A07840F00800A070A07800281CD1A3 +:109E2000A06903F005FE002871D0A0690226C5785C +:109E30001DB1012D01D0162D18D1206990F87C009C +:109E400003F05AF990B1216991F87C001F280DD0D8 +:109E5000202803D0162D16D0A6707CBD262081F8B0 +:109E60007C00162D02D02A20FFF7C4FC0C2D5BD0FD +:109E70000CDC0C2D4BD2DFE805F036331F47BEBE9D +:109E80004BB55ABE393C2020A0707CBD0120142D5A +:109E900071D008DC0D2D6FD0112D6ED0122D71D028 +:109EA000132D34D164E0152D7FD0162D68D0182DD8 +:109EB00067D0FF2D2BD198E020690123194690F837 +:109EC0007F20703003F030F9002808D1A06903F03A +:109ED00013FE216981F89201072081F87F008CE050 +:109EE00001F025F989E0FFF735FF86E001F0FFF882 +:109EF00083E0206990F87D10112901D0A6707CE0E4 +:109F0000122180F87D1078E0FFF7D8FE75E072E04E +:109F1000206990F87D001728F0D101F04CF82169F4 +:109F20001B2081F87D0068E0FFF769FE65E020698D +:109F300090F87E00C00703D0A07840F0010026E032 +:109F40006946A06903F017FE9DF8000000F02501A6 +:109F5000206900F8B01F9DF8011001F04101417027 +:109F600001F020F8206910F87E1F41F0010117E090 +:109F7000FFF779FC41E015E020E022E002E014E088 +:109F800016E018E0216991F87E10490701D5A0700C +:109F900033E001F007F8206910F87E1F41F004015A +:109FA00001702AE0FFF7CAFD27E001F068F824E01D +:109FB000FFF764FD21E0FFF7CEFC1EE0A069007909 +:109FC0000DE0206910F8B01F41F004010170A06994 +:109FD00003F047FE162810D1A06903F046FEFFF7F4 +:109FE000A7FC0AE0FFF757FC07E0E16919B1216916 +:109FF00081F8A60101E0FFF7EAFB2169F1E93002EF +:10A00000401C42F10002C1E900027CBD70B5284C41 +:10A01000A07900074AD5A078002847D1206990F898 +:10A02000E400FE2800D1FFDF2069FE21002580F832 +:10A03000E41090F87D10192906D180F8A75000F09F +:10A04000BAFF206980F87D50206990F87C101F29A4 +:10A0500002D0272921D119E090F87D0003F04CF8B7 +:10A0600078B120692621012380F87C1090F87D20AA +:10A070000B21703003F058F878B92A20FFF7BAFBAB +:10A080000BE02169202081F87C0006E0012180F8A6 +:10A09000A51180F87C5080F8A250206990F87F10BC +:10A0A000082903D10221217080F8E41030E4000077 +:10A0B000FC00002010B5FD4C216991F8B0210AB9CF +:10A0C00091F8642081F8642091F8B1210AB991F8DF +:10A0D000652081F8652010B10020FFF78BFB206917 +:10A0E00003F062FE002806D02069BDE8104000F5AC +:10A0F000F77103F0B1BE24E470B5EC4C06460D4692 +:10A10000206990F8E400FE2800D0FFDF22690020DB +:10A1100082F8E46015B1A2F8A400E5E422F89E0FED +:10A1200001201071E0E470B5E04C012300212069AA +:10A1300090F87C20703002F0F7FF00286AD0206988 +:10A1400090F8BA1111B190F8BB1139B190F8C4115F +:10A1500000295ED090F8C51119B35AE090F87D102F +:10A1600024291CD090F87C10242918D05FF000031B +:10A1700000F5D87200F5DD7103F0E6FD21690020DD +:10A1800081F8BA0101461420FFF7B6FF216901F1F9 +:10A190003000C28A21F8E62F408B48803FE001233F +:10A1A000E6E790F87D2001230B21703002F0BCFF20 +:10A1B00078BB206990F8640000F0E8FE054620694D +:10A1C00090F8650000F0E2FE0646206990F8C6119E +:10A1D000284600F0CDFE50B1206990F8C7113046F6 +:10A1E00000F0C6FE18B10020FFF704FB11E0206963 +:10A1F0000123032190F87D20703002F095FF40B9D3 +:10A2000020690123022190F87D20703002F08CFF3C +:10A2100008B1002068E400211620FFF76DFF01203F +:10A2200062E410B5F0BBA14C206990F87E10CA071B +:10A2300002D00121092051E08A070AD501210C2012 +:10A24000FFF75AFF206910F8AA1F41F001010170C1 +:10A2500046E04A0702D5012113203FE00A0705D551 +:10A2600010F8E11F41710121072037E011F0300F94 +:10A270003AD090F8BB11A9B990F8BA11D9B190F8B9 +:10A280007D1024292ED090F87C1024292AD0002378 +:10A2900000F5D87200F5DD7103F056FD216911F863 +:10A2A0007E0F00E020E020F0200040F01000087059 +:10A2B000002081F83C01206990F87E10C90613D572 +:10A2C00003F072FDFFF7B7FA216901F13000C28A8D +:10A2D00021F8E62F408B488001211520FFF70CFF65 +:10A2E000012008E70123D3E7002004E770B56F4C95 +:10A2F000206990F8E410FE2978D1A178002975D161 +:10A3000090F87F2001231946703002F00DFF0028DD +:10A310006CD1206990F8901149B10021A0F89C10EF +:10A3200090F8911180F8E610002102205BE090F88F +:10A330007D2001230421703002F0F6FE0546FFF770 +:10A3400070FF002852D1284600F055FF00284DD15B +:10A3500020690123002190F87C20703002F0E4FE97 +:10A3600078B120690123042190F87D20703002F03B +:10A37000DBFE30B9206990F8960010B10021122060 +:10A3800031E0206990F87C200A2A0DD0002D2DD1D3 +:10A3900001230021703002F0C7FE78B1206990F8E7 +:10A3A000AC1104290AD105E010F8E21F0171002167 +:10A3B000072018E090F8AA00800718D0FFF7B3FE36 +:10A3C000002813D120690123002190F87C207030EF +:10A3D00002F0AAFE002809D0206990F8A401002804 +:10A3E00004D00021FF20BDE8704085E609E000218F +:10A3F0000C20FFF781FE206910F8AA1F41F001012F +:10A4000001702BE43EB505466846FDF7CFFC00B968 +:10A41000FFDF222200210098F4F703F803210098BF +:10A4200003F0EEFA0098017821F01001017029463E +:10A4300003F00BFB1D4C0D2D43D00BDCA5F10205E9 +:10A440000B2D19D2DFE805F01F184B19191F1857EB +:10A4500018192400152D5FD008DC112D28D0122DDD +:10A460000BD0132D09D0142D06D155E0162D2CD06C +:10A47000172D6AD0FF2D74D0FFDFFDF7AAFC00284E +:10A4800000D1FFDF3EBD2169009891F8E6101AE087 +:10A49000E26800981178017191884171090A81710F +:10A4A0005188C171090A0172E7E70000FC00002031 +:10A4B0000321009803F0D3FB0621009803F0D3FB9F +:10A4C000DBE7009806210171D7E70098D4F8101057 +:10A4D00091F8C621027191F8C7114171CDE7216948 +:10A4E000009801F5887103F02FFB21690098DC3199 +:10A4F00003F034FBC1E7FA49D1E90001CDE90101DC +:10A50000206901A990F8B00000F025008DF8040042 +:10A51000009803F05EFBB0E72069B0F8481000989F +:10A5200003F02EFB2069B0F8E810009803F02CFB34 +:10A530002069B0F84410009803F02AFB2069B0F8B5 +:10A54000E610009803F028FB97E7216991F8C40111 +:10A5500000280098BCD111F8642F02714978BCE73B +:10A56000FFE7206990F8A721D0F8A811009803F020 +:10A570007AFA82E7DB4810B5006990F8821041B999 +:10A5800090F87D2001230621703002F0CDFD0028D7 +:10A5900000D00120AFE570B5D24D286990F8801049 +:10A5A00039B1012905D0022906D0032904D0FFDFE3 +:10A5B00014E4B0F8F41037E090F87F10082936D092 +:10A5C000B0F89810B0F89A2000248B1C9A4206D359 +:10A5D000511A891E0C04240C01D0641EA4B290F8F8 +:10A5E000961039B190F87C2001230921703002F0D7 +:10A5F0009BFD40B3FFF7BEFF78B129690020B1F899 +:10A600009020B1F88E108B1C9A4203D3501A801EF2 +:10A6100000D0401EA04200D284B20CB1641EA4B28D +:10A620002869B0F8F4102144A0F8F0103EE5B0F825 +:10A6300098100329BDD330F8701F428D1144491C76 +:10A64000A0F8801032E50024EAE770B50C46054614 +:10A650004FF4087200212046F3F7E3FE258025E53C +:10A66000F8F7D0BB2DE9F0410D4607460721F8F772 +:10A67000BFFA041E3CD094F8CC010026A8B16E703D +:10A68000092028700BE0268484F8CC61D4F8CE0130 +:10A690006860D4F8D201A860B4F8D601A88194F813 +:10A6A000CC010028EFD12E71AEE094F8D80190B320 +:10A6B00094F8D8010D2813D00E2801D0FFDFA3E0B5 +:10A6C0002088F8F7C8FB0746F8F773F878B96E707A +:10A6D0000E20287094F8DA0128712088E88014E0B0 +:10A6E0002088F8F7B8FB0746F8F763F810B10020A8 +:10A6F000BDE8F0816E700D20287094F8DA012871A1 +:10A700002088E88094F8DE01287284F8D861384601 +:10A71000F8F749F878E0FFE794F80E0230B16E7070 +:10A720001020287084F80E62AF806DE094F8E0018C +:10A7300090B16E700A2028702088A880D4F8E411A7 +:10A74000C5F80610D4F8E811C5F80A10B4F8EC0101 +:10A75000E88184F8E06157E094F8080270B16E7007 +:10A760001A20287005E000BF84F80862D4F80A02B5 +:10A77000686094F808020028F6D145E094F8EE01EC +:10A7800088B16E701520287008E000BF84F8EE6173 +:10A7900004F5F8702B1D07C883E8070094F8EE0154 +:10A7A0000028F3D130E094F8FC0170B16E701C20E9 +:10A7B000287084F8FC61D4F8FE016860D4F80202C5 +:10A7C000A860B4F80602A8811EE094F8100238B11F +:10A7D0001D20287084F81062D4F81202686013E01B +:10A7E00094F81602002883D06E701620287007E0B7 +:10A7F00084F81662D4F818026860B4F81C02288144 +:10A8000094F816020028F3D1012071E735480021A1 +:10A81000C16101620846704730B5324D0C46E860B0 +:10A82000FFF7F4FF00B1FFDF2C7130BD002180F88D +:10A830007C1080F87D1080F8801090F8FE1009B12F +:10A84000022100E00321FEF775BC2DE9F041254C03 +:10A850000546206909B1002104E0B0F80611B0F8FE +:10A86000F6201144A0F8061190F8901139B990F82B +:10A870007F2001231946703002F056FC30B1206968 +:10A8800030F89C1FB0F85A2011440180206990F8DC +:10A89000A23033B1B0F89E10B0F8F6201144A0F801 +:10A8A0009E1090F9A670002F06DDB0F8A410B0F845 +:10A8B000F6201144A0F8A41001213D2615B180F81E +:10A8C0008D6017E02278022A0ED0012A15D0A278D6 +:10A8D0004AB380F88C1012F0140F11D01E2117E02B +:10A8E000D0570200FC00002090F8E620062A3CD059 +:10A8F00016223AE080F88C1044E090F8922134E07F +:10A90000110702D580F88D603CE0910603D5232124 +:10A9100080F88D1036E0900700D1FFDF21692A20F2 +:10A9200081F88D002AE02BB1B0F89E20B0F8A0305D +:10A930009A4210D2002F05DDB0F8A420B0F8A03064 +:10A940009A4208D2B0F89C30B0F89A20934204D3CF +:10A9500090F890310BB1222207E090F880303BB1A3 +:10A96000B0F89830934209D3082280F88D20C1E7CF +:10A97000B0F89820062A01D33E22F6E7206990F825 +:10A980008C1019B12069BDE8F0414FE7BDE8F041F6 +:10A990000021FEF7CFBB2DE9F047FF4C81460D4665 +:10A9A00020690088F8F769FA060000D1FFDFA07877 +:10A9B0002843A070A0794FF000058006206904D5D7 +:10A9C000A0F8985080F8045103E030F8981F491C13 +:10A9D0000180FFF7CFFD012740B3E088000506D5D1 +:10A9E000206990F8821011B1A0F88E501EE0206905 +:10A9F000B0F88E10491C89B2A0F88E10B0F89020E3 +:10AA00008A4201D3531A00E00023B4F808C00CF1C5 +:10AA1000050C634501D880F89670914206D3A0F8E2 +:10AA20008E5080F80E722079E8F76EFAA0794FF018 +:10AA3000020810F0600F0ED0206990F8801011B15C +:10AA4000032908D102E080F8807001E080F880805E +:10AA50000121FEF76FFB206990F88010012904D1D5 +:10AA6000E188C90501D580F88080B9F1000F71D166 +:10AA7000E188890502D5A0F8185104E0B0F8181152 +:10AA8000491CA0F8181100F07DFBFEF739FDFFF717 +:10AA90002DFC00F028FF0028206902D0A0F8F85013 +:10AAA00003E030F8F81F491C018000F01FFF38B1A7 +:10AAB000206990F80411022907D8491C80F8041174 +:10AAC000206990F80401022804D9206920F8F85F71 +:10AAD0004580057320690123002190F87D207030A6 +:10AAE00002F022FB20B9206990F87D000C286AD181 +:10AAF00020690123002190F87C20703002F014FBC3 +:10AB000048B320690123002190F87F20703002F0C3 +:10AB10000BFB00B3206990F88010022953D190F804 +:10AB20000401C0B93046F7F714FCA0B1216991F8CF +:10AB3000E400FE2847D1B1F8F200012843D981F89A +:10AB4000FD70B1F89A20B1F89800931E984203DB8B +:10AB5000012004E043E036E0101A401E80B2B1F854 +:10AB6000F82023899A4201D3012202E09A1A521C4A +:10AB700092B2904200D91046012801D181F8FD50CF +:10AB800091F86F206AB98A6E5AB1B1F89420B1F881 +:10AB90007030D21A12B2002A03DD904200DB104658 +:10ABA00080B291F8892192B1B1F8FA20B1F88A11F6 +:10ABB0008A4201D3012102E0891A491C89B28842E4 +:10ABC00005D9084603E02169012081F8FD5021697B +:10ABD000B1F870201044A1F8F400FFF7DCFCE08825 +:10ABE000C0F340214846FFF730FE206980F8FE5050 +:10ABF000BDE8F047FDF70FB9674902468878CB7882 +:10AC0000184312D10846006942B18979090703D572 +:10AC100090F87F00082808D001207047B0F84C1049 +:10AC2000028E914201D8FEF7DEB90020704770B560 +:10AC3000594C05460E46E0882843E080A80703D516 +:10AC4000E80700D0FFDF6661EA074FF000014FF030 +:10AC500001001AD0A661F278062A02D00B2A14D17C +:10AC60000AE0226992F87D30172B0ED10023E2E929 +:10AC70002E3302F8370C08E0226992F87D30112B50 +:10AC800003D182F8811082F8A800AA0718D562695A +:10AC9000D278052A02D00B2A12D10AE0216991F854 +:10ACA0007D20152A0CD10022E1E9302201F83E0C6A +:10ACB00006E0206990F87D20102A01D180F88210EA +:10ACC000280601D50820E07072E42DE9F84F324CD7 +:10ACD00000254FF00108E580A570E570414625701C +:10ACE00061F3070220619246814680F8FE80008869 +:10ACF000F8F7C3F8070000D1FFDF20690088FDF7EF +:10AD000052F820690088FDF774F82069B0F8F21055 +:10AD100071B190F8E410FE290FD190F8901189B12B +:10AD200090F87F2001231946703002F0FDF978B1C8 +:10AD3000206990F8E400FE2804D0206990F8E4002F +:10AD4000FFF760FB206990F8FF1089B1258118E0BA +:10AD50002069A0F89C5090F8911180F8E61000212D +:10AD60000220FFF7C9F9206980F8FD500220E7E7CB +:10AD700090F8CC1119B9018C8288914200D8818851 +:10AD80002181B0F8F610491E8EB2B0F8F8103144A7 +:10AD9000A0F8F81002E00000FC00002090F8FC1081 +:10ADA00021B1A0F8FA5080F8FC5004E0B0F8FA1095 +:10ADB0003144A0F8FA1030F8981F31440180FFF7B1 +:10ADC000D9FB20B1206930F88E1F31440180206901 +:10ADD000B0F8F210012902D8491CA0F8F2100EB107 +:10ADE00080F8045190F8FD10A1B1B0F8F800218965 +:10ADF00088420FD23846F7F7ACFA58B1206990F87C +:10AE0000891139B1B0F8FA10B0F88A01814201D342 +:10AE100000F06FFD206980F8FD5090F87D100B293F +:10AE200001D00C2916D1B0F87020B0F8AE31D21A8A +:10AE300012B2002A0EDBD0F8B011816090F8B41184 +:10AE40000173032101F04CFD206980F87D5080F8EA +:10AE5000B28026E0242910D1B0F87010B0F8AE21ED +:10AE6000891A09B2002908DB90F8C401FFF722F91A +:10AE7000206900F87D5F857613E090F87C10242926 +:10AE800001D025290DD1B0F87010B0F8AE01081A24 +:10AE900000B2002805DB0120FFF70CF9206980F8DB +:10AEA0007C5020690146B0F8F620703001F030FF88 +:10AEB000206990F8891109B1A0F8FA50F74800907C +:10AEC000F74BF84A4946504600F03AFC216A11B166 +:10AED0006078FCF7BFFB20690123052190F87D20F5 +:10AEE000703002F021F9002803D0BDE8F84F00F0DF +:10AEF00004BABDE8F88F00F0DCBCEB49C8617047CC +:10AF0000E948C069002800D001207047E64A507027 +:10AF10001162704710B504460088A4F8D001B4F857 +:10AF2000B401A4F8D201B4F8B601A4F8D401B4F87D +:10AF3000B801A4F8D601012084F8CC01DA480079E0 +:10AF4000E7F7E2FF0221204601F0CAFC002004F8E6 +:10AF50007D0F0320E07010BD401A00B247F6FE716D +:10AF6000884201DC002801DC012070470020704786 +:10AF7000012802D0022805D102E0012904D001E015 +:10AF8000022901D0002070470120704710B5012828 +:10AF900004D0022804D0FFDF204610BD0124FBE7C7 +:10AFA0000224F9E7C0480021006920F8A41F817835 +:10AFB000491C81707047BC4800B5016911F8A60FA3 +:10AFC000401E40B20870002800DAFFDF00BDB6481E +:10AFD0002721006980F87C10002180F8A4117047B7 +:10AFE00010B5B14C206990F8AC11042916D190F835 +:10AFF0007C2001230021703002F096F800B9FFDFB9 +:10B00000206990F8AA10890703D4062180F87C10E3 +:10B0100004E0002180F8A21080F8AC11206990F8BB +:10B020007E00800707D5FFF7C6FF206910F87E1F56 +:10B0300021F00201017010BD9B4910B5096991F81A +:10B040007C200A2A09D191F8E220824205D1002011 +:10B0500081F87C0081F8A20010BD91F87E201307D2 +:10B0600006D522F0080081F87E00BDE81040A2E776 +:10B07000FF2801D0FFDF10BDBDE81040A7E7F8B5FD +:10B08000894C01230A21206990F87C20703002F05D +:10B090004BF838B3A06902F08BFDC8B1A06902F08B +:10B0A00081FD0746A06902F081FD0646A06902F015 +:10B0B00077FD0546A06902F077FD014600972069FB +:10B0C00033462A46303002F04DFE206902F06CFE15 +:10B0D0002169002081F8A20081F87C00BDE8F840D9 +:10B0E000FEF7A9BBA07840F00100A070F8BD10B534 +:10B0F0006D4C01230021206990F87D20703002F012 +:10B1000013F830B1FFF74EFF2169102081F87D0060 +:10B1100010BD20690123052190F87D20703002F0D8 +:10B1200003F808B1082000E00120A07010BD70B540 +:10B130005D4C01230021206990F87D20703001F0E2 +:10B14000F3FF012588B1A06902F0D3FC2169A1F8C1 +:10B15000AE01B1F87010FFF7FFFE40B12069282161 +:10B1600080F88D1080F88C50AEE5A570ACE52169B3 +:10B17000A06901F5D87102F0B7FC21690B2081F8B4 +:10B180007D00A1E510B5FEF741FFFEF728FE464C15 +:10B19000A079400708D5A07830B9206990F87F00E1 +:10B1A000072801D101202070FEF748FAA079C006D7 +:10B1B00009D5A07838B9206990F87D100B2902D103 +:10B1C0000C2180F87D10E07800070ED5206901235E +:10B1D000052190F87D20703001F0A6FF30B10820E5 +:10B1E000A0702169002081F8D80110BDBDE8104091 +:10B1F000002000F082BB10B52B4C216991F87D2016 +:10B2000048B3102A06D0142A07D0152A1AD01B2AB0 +:10B210002CD11AE001210B2019E0FAF767FF0C2866 +:10B2200017D32069082100F58870FAF763FF28B169 +:10B2300020690421DC30FAF75DFF00B9FFDF01214E +:10B24000042004E000F017F803E001210620FEF7D7 +:10B2500053FF012010BD212A08D191F8970038B979 +:10B2600091F8C40110B191F8C50108B1002010BDDA +:10B2700001211720EBE770B50B4C0025206990F8F1 +:10B280009311012912D002292DD190F8A810E9B10B +:10B29000062180F8E610012102201FE097A9010095 +:10B2A000F9AB01002FAC0100FC00002090F8D81190 +:10B2B000002918D100F1C80300F58471002200F5BF +:10B2C000CA7001F0ABFE0121052007E090F8B00044 +:10B2D000400701D5112000E00D200121FEF70CFFF1 +:10B2E000206980F89351EFE430B5FE4C0546207894 +:10B2F000002818BFFFDF257230BDFA490120C87150 +:10B3000070472DE9F14FF84C20462178456805F14A +:10B31000700795F86510688F95F882802E8F082940 +:10B3200071D001F0B5FF00BFB8F1000F04BF001DE0 +:10B3300080B2864238BF304600F0FF08DFF8A493A1 +:10B34000EA48C9F82400207809F1340066684068AA +:10B3500000F1700A90F882B096F86510348F708F03 +:10B36000082954D001F094FFBBF1000F04BF001D69 +:10B3700080B2844238BF2046C0B29AF81210002929 +:10B3800018BF04210844C0B296F86510FBF718FDF9 +:10B39000B87C00283FD007F15801D44891E80E103E +:10B3A00000F5027484E80E10B96EC0F82112F96E2F +:10B3B000C0F8251200F58170FCF7D5F8CA4800786E +:10B3C00000280CBF0120002080F00101C848017650 +:10B3D000D7E91412C0E90412A0F58372D9F8241039 +:10B3E000FBF759FB95F86500012808BF002204D03F +:10B3F00002281ABFFFDF0022012241460120FBF78D +:10B4000058FB0EE0FFE7042101F042FF8CE7042126 +:10B4100001F03EFFA8E7D9F82400FCF7A4F8FBF7F9 +:10B420006BFB009818B900219620FCF7CBF895F833 +:10B43000642001210020FCF77CF995F82C000128FC +:10B4400008BFFCF753F9022089F80000FCF746FC1E +:10B45000002818BFFFDFBDE8F88F2DE9F04FDFF8B7 +:10B46000889283B0484699F800204068A9F1140AF0 +:10B4700000F1700590F8751004460127A9F1340613 +:10B4800089B3012900F0D480022900F0D580032976 +:10B4900018BFFFDF00F0DE80306A0823017821F05A +:10B4A00008010170AA7903EAC202114321F00401E4 +:10B4B0000170EA79042303EA8202114321F01001AA +:10B4C000017095F805A0F06AF6F753FF8046FCF787 +:10B4D000B4FCBAF1020F7DD0BAF1010F7BD0BAF102 +:10B4E000030F79D0CAE0FFE72B7B4FF002084FF043 +:10B4F000000B242B1CBF95F80DC0BCF1240F07D006 +:10B500001F2B18BF202B1AD0BCF1220F2FD049E0DF +:10B5100094F864105AB190F8B001002847D001297E +:10B5200018BF012835D000BF4FF002013FE090F86E +:10B53000120180B3012918BF01282AD0F4E7BCF119 +:10B54000220F14D072B390F8C60194F8641010F072 +:10B55000010F18BF384604D0012918BF012818D0A0 +:10B56000E2E710F0020F18BF4046F5D11FE0CAB164 +:10B5700090F8C62190F85D0094F8641002EA00008B +:10B5800010F0010F18BF384606D0012918BF012856 +:10B59000CAD14FF001010AE010F0020F18BF404677 +:10B5A000F3D104E094F86410042908BF0821A08EA8 +:10B5B00001F06EFE218E814238BF0846ADF80400CE +:10B5C000A4F84C005046FCF717FC80B14FF48060A3 +:10B5D000B28902E045E048E04BE042F48062316A23 +:10B5E000B2817269904703206871EF7054E76A4630 +:10B5F00001A9F06AF6F7F7FD306210B195F837103F +:10B6000021B15046FCF7CCFB6F7145E79DF8001067 +:10B6100031B9A0F800B080F802B0012102F0F0F9D1 +:10B62000BDF80410306A02F022FB85F8058033E78C +:10B630005046FCF7B5FB2FE7B4F84C00ADF804001A +:10B640006A4601A9F06AF6F7CEFD3062002808BF0D +:10B65000FFDF21E75046FCF7CFFB002808BFFFDFE4 +:10B660001AE730EA080009D106E030EA080005D1FF +:10B6700002E0B8F1000F01D0012100E00021306AA2 +:10B68000027842EA01110170697C00291CBF6979C6 +:10B6900001293CD005F15801144891E80E1000F53D +:10B6A000027888E80E10A96EC0F82112E96EC0F881 +:10B6B000251200F58170FBF756FF99F8000000286D +:10B6C0000CBF012100210A480176D5E91212C0E918 +:10B6D0000412A0F58371326AFBF7DDF994F8640077 +:10B6E000012807E02001002054010020280D00203F +:10B6F000300F002008BF002204D002281ABFFFDF4D +:10B7000000220122FB210020FBF7D3F903E0FBF725 +:10B710002AFFFBF7F1F9012194F865200846FCF7B0 +:10B7200008F83771306A018831828078B0743770D8 +:10B73000FCF7DDFA002818BFFFDF03B0BDE8F08F8B +:10B740002DE9F04387B01E46174681460C46FE4D54 +:10B75000DDF83880287828B9002F1CBF002EB8F1FA +:10B76000000F00D1FFDFC5F81C80C5E90D94C5E9C5 +:10B7700005764FF00000E871A871E870A870287194 +:10B780006871F24FA881E881387804F1700620884A +:10B79000F7F773FBE8622088F7F75DFB2863FBF798 +:10B7A0002CFB94F96700FBF7FDFB04F11200FBF79B +:10B7B000B1FE04F10E00FBF7FBFB387800280CBF4C +:10B7C00003200120FBF7CCFEE14890E80E108DE845 +:10B7D0000E10D0E90410CDE90410387800280CBF11 +:10B7E000DC48DD4804906846FBF7A8FEF07EFBF7D6 +:10B7F000E7FBFBF7AFFE94F86F0078B9A06E68B175 +:10B80000B08C3188884209D1B4F86C100122084408 +:10B81000B08494F86E00A16EF9F709F93878002821 +:10B8200004BFFF2094F864401BD094F8651096F88C +:10B830001280258F608F08292ED001F029FD00BFCE +:10B84000B8F1000F04BF001D80B2854238BF284602 +:10B85000C0B2B17C002918BF0421084494F86540A7 +:10B86000C0B22146FBF7ACFA3878C8B1786890F8D6 +:10B870008801002818BFFBF743FB21460120FBF796 +:10B880009BFC7868D0F80001FBF770FE0120FFF701 +:10B8900038FD07B0BDE8F083042101F0F9FCCFE7E3 +:10B8A00021460020FBF788FCFFF7D7FD07B0BDE875 +:10B8B000F083A64800B501783438007819B1022821 +:10B8C00018BFFFDF00BD012818BFFFDF00BD9E4885 +:10B8D00010B50078022818BFFFDFBDE8104000F067 +:10B8E00035BA00F033BA9848007970479648C07866 +:10B8F000704795490120487170472DE9F0470600CF +:10B900009248914D406800F17004686A90F8019087 +:10B9100018BF012E03D1296B08F0CAFD6870687842 +:10B9200000274FF00108A0B101283CD0022860D0C8 +:10B9300003281CBFFFDFBDE8F087012E08BFBDE86C +:10B94000F087286BF6F70AFF287ABDE8F047E7F79B +:10B95000DBBA012E14D0A86A002808BFFFDF68896F +:10B96000C21CD5E90910F2F732FDA86A686201220B +:10B970004946286BF6F76EFD022E08BFBDE8F0873A +:10B98000D4E91401401C41F10001C4E91401E0793B +:10B99000012801D1E77101E084F80780287ABDE829 +:10B9A000F047E7F7B1BA012E14D0A86A002808BF03 +:10B9B000FFDF6889C21CD5E90910F2F708FDA86A03 +:10B9C000686200224946286BF6F744FD022E08BF44 +:10B9D000BDE8F087D4E91410491C40F10000C4E927 +:10B9E0001410E07901280CBFE77184F80780BDE8E6 +:10B9F000F087012E06D0286BF6F7B0FE022E08BFA6 +:10BA0000BDE8F087D4E91410491C40F10000C4E9F6 +:10BA10001410E0790128BFD1BCE770B54B4E304619 +:10BA2000A6F13404406800F170052078012818BFA1 +:10BA3000FFDFA87868B10021A970A289042042F034 +:10BA40000402A28162699047307800281CBF01205F +:10BA50002871216A0322087832EA000009D1A289FC +:10BA600012F4806F05D042F00202A28162690220C6 +:10BA700090470121002000F093F918B1BDE8704013 +:10BA800000F064B9BDE8704000203AE42DE9F14FC0 +:10BA90002E4E00273046A6F134054068317800F17B +:10BAA000700A2878B846022818BFFFDFE88940F4FA +:10BAB0000070E88171683078FF2091F86410FBF71E +:10BAC0007FF9009800289AF8120000F00781FBF730 +:10BAD00039F8FBF727F84FF0010990B99AF81200EE +:10BAE00078B1686A417861B100789AF80710C0F3BC +:10BAF000C000884205D185F80290BDE8F84F00F0FB +:10BB000025B9686A41786981002908BFAF6203D00E +:10BB1000286BF6F759FCA862E88940F02000E8811C +:10BB2000EF703078706800F17004834690F82C0054 +:10BB3000012825D1FBF7D0FD2146584601F0AFFA88 +:10BB4000F0B13078002809E02001002054010020E5 +:10BB5000D8570200C91702000D92010070680CBF8F +:10BB600000F59A7000F50270BBF800104180217A50 +:10BB70000171617A417180F80090287AE7F7C4F981 +:10BB8000686A9AF806100078C0F3800088423BD0BB +:10BB90003078706800F1700490F8750000282FD09C +:10BBA00002284BD06771307800281CBF207900280C +:10BBB00009D02771AA89394642F01002AA816A6920 +:10BBC0004FF010009047E078A0B1E770FCF723F940 +:10BBD000002808BFFFDF0820AA89002142F00802E0 +:10BBE000AA816A699047D4E91202411C42F100001F +:10BBF000C4E91210A07901280CBFA77184F806903F +:10BC0000E88940F48070E881696A9AF8073008781A +:10BC1000C0F3C0029A424ED13278726800F003003D +:10BC200002F17004012818BF02282DD003281CBF80 +:10BC3000A87940F0040012D0A8713CE0E86AF6F759 +:10BC4000FEFA002808BFFFDFD4E91202411C42F1CE +:10BC50000000C4E91210287AE7F756F9A2E784F841 +:10BC60000290EA89484642F40062EA81AA8942F0D9 +:10BC70000102AA816A699047E079012801D1E77140 +:10BC800019E084F8079016E0487818B3E98941F480 +:10BC90000061E981A96A71B1FB2884BFA87940F0ED +:10BCA0001000C9D8E879002808BFC84603D0802012 +:10BCB0006A69002190470120009900F071F8B0B145 +:10BCC000B8F1000F1CBF0020FFF717FEBDE8F84FCA +:10BCD00000F03CB8E0790128D3D1D0E7002818BFA4 +:10BCE000FAF769FFE88940F04000E881E3E7B8F13E +:10BCF000000F1CBF0120FFF700FEFFF7AEFBB8F1FD +:10BD0000000F08BFBDE8F88F0220BDE8F84FF4E54A +:10BD100070B50D4606464248414900784C6850B11E +:10BD2000FAF79EFF034694F8642029463046BDE8A2 +:10BD30007040FDF7F1BAFAF793FF034694F86420D8 +:10BD400029463046BDE8704005F041BD344910B584 +:10BD50004C68FBF792FCFBF771FCFBF732FBFBF73F +:10BD6000DFFBFAF7C9FE94F82C00012808BFFBF7A7 +:10BD7000B3FC94F86F0038B9A06E28B1002294F893 +:10BD80006E001146F8F753FE264C00216269E089E7 +:10BD90009047E269A179A07890470020207010BDFB +:10BDA00070B5204C0546002908BF012D06D1E0786A +:10BDB00000F10100C0B2E07001282ED8A169284628 +:10BDC0008847002829D06179174839B1012D01BF72 +:10BDD00041780029017811F0100F1ED0A179E1B946 +:10BDE0000F490978002908BF012D01D091B18DB903 +:10BDF0000E49097811F0100F04BF007810F0100FF1 +:10BE00000BD0A08948B9A06A20B9608910B111F09F +:10BE1000100F02D04FF0000070BD4FF0010070BD58 +:10BE20005401002020010020280D002030010020B6 +:10BE3000FE498A78824286BF084490F84301002078 +:10BE4000704710B540F2D3120021F848F2F7E9FA32 +:10BE50000822FF21F648F2F7E4FAF6480021417083 +:10BE600081704FF46171818010BD2DE9F0410E4663 +:10BE7000054600F0AEFBED4C102816D004EBC001D7 +:10BE800091F85A0110F0010F1CBF0120BDE8F081AC +:10BE9000607808283CBF012081F85A011CD26078E4 +:10BEA000401C60700120BDE8F0816078082813D242 +:10BEB00022780127501C207004EBC2083068C8F8B3 +:10BEC0005401B088A8F85801102A28BFFFDF88F86D +:10BED000535188F85A71E2E70020BDE8F081D54956 +:10BEE00088707047D3488078704770B4CF48002579 +:10BEF0000178491E4BB2002B47DB00BF00EBC301AA +:10BF000091F85A1111F0010F3BD04278D9B2521E6C +:10BF1000427000EBC10282F85A5190F802C0002230 +:10BF2000BCF1000F0BD9841894F803618E4202D142 +:10BF3000102A26D103E0521CD2B29445F3D80278DD +:10BF4000521ED2B202708A421BD000EBC20200EB3A +:10BF5000C10CD2F85341CCF85341D2F85721CCF858 +:10BF60005721847890F800C00022002C09D9861847 +:10BF700096F8036166450CD1102A1CBF024482F872 +:10BF80000311591E4BB2002BB8DAAA48857070BC59 +:10BF90007047521CD2B29442E9D8F2E7A3498A789A +:10BFA000824286BF01EB0010C01C002070472DE9C3 +:10BFB000F04101261F4690463446002500F009FB5B +:10BFC00010282AD099494FF0000C01EBC00292F8DA +:10BFD0005A2102F001058A78002A1ED901EB0C03D0 +:10BFE00093F8033183421FD1BCF1100F15D0002FFD +:10BFF00018BF87F800C0887860450ED901EB0C1097 +:10C0000010F1030F09D001EB0C0090F84B4190F8B0 +:10C010003B0101280CBF0126002648EA050046EA3C +:10C0200004010840BDE8F0810CF1010303F0FF0CAE +:10C030006245D3D8F1E72DE9F05F1F4690460E46E2 +:10C04000814600F0C6FA794D044610283CD00146DE +:10C05000AB780020002B0ED92A1892F803218A42CF +:10C0600005D110281CBF1220BDE8F09F03E0401C42 +:10C07000C0B28342F0D8082B3FD2102C27D0AE7824 +:10C080001022701CA87005EB061909F10300414647 +:10C0900000F0AAFF09F183001022394600F0A4FF46 +:10C0A0001021384600F07DFF3544102185F843010A +:10C0B000404600F076FF85F84B0185F803410020EB +:10C0C00085F83B01BDE8F09FAB78082B15D22C78A2 +:10C0D000CA46601C287005EBC4093068C9F85401D1 +:10C0E000B0884FF0000BA9F85801102C28BFFFDFD3 +:10C0F00089F853A189F85AB1C1E70720BDE8F09F3C +:10C1000070B44A488178491E4BB2002BBCBF70BC4A +:10C11000704700BF817803F0FF0C491ECAB28270DD +:10C1200050FA83F191F8031194453ED000EB0215CB +:10C1300000EB0C14D5F80360C4F80360D5F8076071 +:10C14000C4F80760D5F80B60C4F80B60D5F80F6031 +:10C15000C4F80F60D5F88360C4F88360D5F88760B1 +:10C16000C4F88760D5F88B60C4F88B60D5F88F5021 +:10C17000C4F88F50851800EB0C0402EB420295F8CE +:10C1800003610CEB4C0C00EB420284F8036100EB02 +:10C190004C0CD2F80B61CCF80B61B2F80F21ACF863 +:10C1A0000F2195F83B2184F83B2100EBC10292F866 +:10C1B0005A2112F0010F33D190F802C00022BCF1D5 +:10C1C000000F0BD9841894F803518D4202D1102A24 +:10C1D00026D103E0521CD2B29445F3D80278521E05 +:10C1E000D2B202708A421BD000EBC20200EBC10C3B +:10C1F000D2F85341CCF85341D2F85721CCF857210B +:10C20000847890F800C00022002C09D9851895F890 +:10C210000351654512D1102A1CBF024482F8031154 +:10C22000591E4BB2002BBFF675AF05E0580F00202A +:10C23000680100205C01002070BC7047521CD2B223 +:10C240009442E3D8ECE7FE4948707047FC484078D8 +:10C25000704738B14AF2B811884203D8F84988804B +:10C260000120704700207047F5488088704710B55E +:10C2700000F0AFF9102814D0F24A0146002092F8DD +:10C2800002C0BCF1000F0CD9131893F803318B4294 +:10C2900003D1102818BF10BD03E0401CC0B2844574 +:10C2A000F2D8082010BDE7498A78824286BF01EBA8 +:10C2B0000010833000207047E24B93F802C08445A1 +:10C2C0009CBF00207047184490F8030103EBC000A6 +:10C2D00090F853310B70D0F854111160B0F8580138 +:10C2E000908001207047D74A114491F80321D44926 +:10C2F0000A700268C1F8062080884881704770B5CE +:10C3000016460C460546FBF7D7F9FAF720FBCC4852 +:10C31000407868B1CB48817851B12A19002E0CBF02 +:10C320008330C01CFAF7EDFAFAF734FB012070BD38 +:10C33000002070BD10B5FAF75BFB002804BFFF209A +:10C3400010BDBDE81040FAF779BBFAF751BBBD4903 +:10C350008A7882429CBF00207047084490F803010D +:10C3600001EBC00090F85A0100F0010070472DE980 +:10C37000F047B44E00273D46307800288CBFDFF8E8 +:10C38000C882BDE8F0870024B078002808D93119A8 +:10C3900091F80321AA4204D0611CCCB2A042F6D885 +:10C3A0001024A04286BF06EB0410C01C002006EB40 +:10C3B000C50999F85A1111F0010F16D050B1102C7F +:10C3C00004D0311991F83B11012903D0102100F05C +:10C3D000E8FD50B108F8074038467B1C99F8532116 +:10C3E00009F5AA71DFB2FAF7B5FD681CC5B230785D +:10C3F000A842C8D8BDE8F0872DE9F041914C00264D +:10C400003546A07800288CBF8F4FBDE8F0816119B8 +:10C41000C0B291F80381A84286BF04EB0510C01C8E +:10C42000002091F83B11012903D0102100F0B9FD43 +:10C4300058B104EBC800BD5590F8532100F5AA711E +:10C440003046731CDEB2FAF785FD681CC5B2A078D1 +:10C45000A842DCD8BDE8F08101447A4810B500EB71 +:10C4600002100A4601218330FAF74BFABDE810406A +:10C47000FAF790BA0A46724910B5497841B1714B42 +:10C48000997829B10244D81CFAF73BFA012010BD73 +:10C49000002010BD6B4A01EB410102EB4101026833 +:10C4A000C1F80B218088A1F80F0170472DE9F041F8 +:10C4B000644D07460024A878002898BFBDE8F081A5 +:10C4C000C0B2A04217D905EB041010F1830612D0B8 +:10C4D0001021304600F065FD68B904EB440005EB1F +:10C4E000400808F20B113A463046FBF725FDB8F834 +:10C4F0000F01A8F80F01601CC4B2A878A042DFD8D1 +:10C50000BDE8F08101461022504800F06DBD4F4853 +:10C5100070474C498A78824203D90A1892F843211D +:10C520000AB10020704700EB400001EB400000F230 +:10C530000B10704743498A78824206D9084490F824 +:10C540003B01002804BF01207047002070472DE9FF +:10C55000F0410E46074615460621304600F021FD03 +:10C56000384C98B1A17871B104F59D7011F0010FAC +:10C5700018BF00F8015FA178490804D0457000F8A1 +:10C58000025F491EFAD10120BDE8F08138463146EC +:10C5900000F01FF8102819D0A3780021002B15D91E +:10C5A000621892F8032182420BD1102918BF082982 +:10C5B0000CD004EB010080F83B514FF00100BDE8C6 +:10C5C000F08101F10101C9B28B42E9D80020BDE838 +:10C5D000F0812DE9F0411B4D0646002428780F46D6 +:10C5E000002811D905EBC40090F85311B14206D1CF +:10C5F0000622394600F5AA70F1F7BCFE38B1601C7E +:10C60000C4B22878A042EDD81020BDE8F0812046C1 +:10C61000BDE8F0810B4910B44A7801EBC003521E0B +:10C620004A70002283F85A2191F802C0BCF1000F31 +:10C6300016D98B1893F8034184420DD1102A07E0D4 +:10C640005C010020580F0020680100202B11002001 +:10C650001CBF10BC704703E0521CD2B29445E8D80E +:10C660000A78521ED2B20A7082421BD001EBC2027B +:10C6700001EBC003D2F853C1C3F853C1D2F857211C +:10C68000C3F857218C7891F800C00022002C09D9FA +:10C690008B1893F80331634506D1102A1CBF11444F +:10C6A00081F8030110BC7047521CD2B29442EFD8FB +:10C6B00010BC704770B449490D188A78521ED3B225 +:10C6C0008B7095F8032198423DD001EB001401EBEB +:10C6D000031C00EB4000DCF80360C4F80360DCF8E6 +:10C6E0000760C4F80760DCF80B60C4F80B60DCF886 +:10C6F0000F60C4F80F60DCF88360C4F88360DCF876 +:10C700008760C4F88760DCF88B60C4F88B60DCF865 +:10C710008FC0C4F88FC001EB030C03EB43039CF8FC +:10C72000034101EB430385F8034101EB4000D3F8DB +:10C730000B41C0F80B41B3F80F31A0F80F319CF852 +:10C740003B0185F83B0101EBC20090F85A0110F063 +:10C75000010F1CBF70BC704700208C78002C0DD9D5 +:10C760000B1893F803C1944504D110281CBF70BC6A +:10C77000704703E0401CC0B28442F1D80878401EE4 +:10C78000C0B20870904204BF70BC704701EBC20396 +:10C7900001EBC000D0F853C1C3F853C1D0F8570122 +:10C7A000C3F857018C780B780020002C9CBF70BC1C +:10C7B000704700BF01EB000C9CF803C19C4506D1FB +:10C7C00010281CBF084480F8032170BC7047401C2F +:10C7D000C0B28442EED870BC70470000580F0020F1 +:10C7E00010B50A7B02F01F020A73002242768B18F2 +:10C7F00093F808C00CF001034FEA5C0C0CF0010444 +:10C8000023444FEA5C0C0CF0010423444FEA5C0C17 +:10C810000CF001041C444FEA5C0303F0010CA44437 +:10C820005B0803F00104A4445B0803F00104A44482 +:10C830000CEB530300EB020C521C8CF8143090F8F4 +:10C8400019C0D2B263444376052AD0D3D8B2252882 +:10C8500088BFFFDF10BD0023C383428401EBC20207 +:10C86000521EB2FBF1F10184704770B46FF01F02E9 +:10C87000010C02EA90251F23A1F5AA4054381CBFE1 +:10C88000A1F5AA40B0F1550009D0A1F52850AA3869 +:10C890001EBFA1F52A40B0F1AA00012000D100205E +:10C8A0004FF0000C624664468CEA0106F6431643DC +:10C8B000B6F1FF3F11D005F001064FEA5C0C4CEADF +:10C8C000C63C03F0010652086D085B08641C42EA8E +:10C8D000C632162CE8D370BC704770BC002070477D +:10C8E0002DE9F04701270446002579B14FF4FA42BB +:10C8F000012979D0022900F00581032918BFBDE87C +:10C90000F0870146BDE8F047703069E704F1700632 +:10C91000802200213046F1F784FDB571F571357341 +:10C920007573F57335747571B576F576212086F8D3 +:10C930004000412086F84100FE2086F874002688D9 +:10C94000702200212046F1F76CFD268084F8647087 +:10C9500084F86570282084F86600002104F1300016 +:10C9600001F008FA1B21A4F84E10A4F85010A4F806 +:10C970005210A4F854104FF4A470A4F85600A4F870 +:10C98000580067734FF448606080A4F8F050A4F832 +:10C99000F250A4F8F450A4F8F650A4F8F850A4F813 +:10C9A000FA5084F8FD5084F8FF50A4F8065184F83A +:10C9B0000451A4F81851A4F81A5184F8BA5184F813 +:10C9C000BB5184F8C45184F8C55184F8895184F866 +:10C9D000905184F8935184F8AC51C4F8A451C4F830 +:10C9E000A851BDE8F087FFE7A4F8065184F8FE508F +:10C9F0006088FD490144B1FBF0F1A4F890104BF6BA +:10CA00008031A4F89210E388A4F89850B4F89CC040 +:10CA1000DB000CFB00FCB3FBF0F39CFBF0FC5B1CAD +:10CA2000A4F89CC09BB203FB00FC04F17001A4F8C5 +:10CA30009A30BCF5C84FC4BF5B1E4B85B2FBF0F209 +:10CA4000521C0A8600F5802202F5EE32531EB3FB1B +:10CA5000F0F20A84CB8B03FB00F2B2FBF0F0C88348 +:10CA6000214604F17000FFF7BBFE07F061F9E0B367 +:10CA7000D4F80E006FF01F01030C01EA90211F266D +:10CA8000A3F5AA4054381CBFA3F5AA40B0F1550045 +:10CA90000AD0A3F52850AA381EBFA3F52A40B0F14A +:10CAA000AA004FF0010901D14FF000090022104601 +:10CAB0004FEA020C82EA03086FEA080848EA000815 +:10CAC000B8F1FF3F19D001F00108520842EAC8321C +:10CAD00006F001084008490876080CF1010C40EA0C +:10CAE000C830BCF1160FE5D300E002E0B9F1000F49 +:10CAF00003D084F88851BDE8F08784F88871BDE8D8 +:10CB0000F08700BFB4F8B411B4F8B831B4F802C07B +:10CB100004F17000A4F89850B4F89C40DB0004FBCA +:10CB20000CF4B3FBF1F394FBF1F45B1C84859BB232 +:10CB300003FB01F44385B4F5C84FC4BF5B1E4385B6 +:10CB4000B2FBF1F2521C0286428C01EBC202521E71 +:10CB5000B2FBF1F20284C28B02FB0CF2B2FBF1F1E8 +:10CB6000C183BDE8F08770B50446002569B14FF474 +:10CB7000FA4201295CD002297ED0032918BF70BD7A +:10CB80000146BDE8704070302AE604F1700680224C +:10CB900000213046F1F745FCB571F57135737573B9 +:10CBA000F57335747571B576F576212086F84000F9 +:10CBB000412086F84100FE2086F874002688702205 +:10CBC00000212046F1F72DFC2680012684F86460C0 +:10CBD00084F86560282084F86600002104F13000A4 +:10CBE00001F0C8F81B22A4F84E20A4F85020A4F8A5 +:10CBF0005220A4F854204FF4A470A4F85600A4F8CE +:10CC000058006673A4F8F850202084F8FA0084F8DD +:10CC1000F050C4F8F45084F8245184F8255184F875 +:10CC20002E5184F82F5184F8145184F8205170BD8E +:10CC300060886D490144B1FBF0F1A4F890104BF607 +:10CC40008031A4F89210E388A4F89850B4F89CC0FE +:10CC5000DB000CFB00FCB3FBF0F39CFBF0FC5B1C6B +:10CC6000A4F89CC09BB203FB00FC04F17001A4F883 +:10CC70009A30BCF5C84F00E01AE0C4BF5B1E4B857C +:10CC8000B2FBF0F2521C0A8600F5802202F5EE3269 +:10CC9000531EB3FBF0F20A84CB8B03FB00F2B2FB12 +:10CCA000F0F0C883214604F17000BDE8704097E5BC +:10CCB000D4F81831B4F802C004F170005989DB8946 +:10CCC000A4F89850B4F89C40DB0004FB0CF4B3FBD0 +:10CCD000F1F394FBF1F45B1C84859BB203FB01F43C +:10CCE0004385B4F5C84FC4BF5B1E4385B2FBF1F268 +:10CCF000521C0286428C01EBC202521EB2FBF1F2C0 +:10CD00000284C28B02FB0CF2B2FBF1F1C18370BD55 +:10CD10002DE9F003447E0CB1252C03D9BDE8F003C6 +:10CD200012207047002A02BF0020BDE8F0037047C0 +:10CD300091F80DC01F2601232C4D4FF00008BCF1C7 +:10CD4000000F79D0BCF1010F1EBF1F20BDE8F0031A +:10CD50007047B0F800C00A7C8F7B91F80F907A4042 +:10CD60004F7C87EA090742EA072282EA0C0C002777 +:10CD70000CF0FF094FEA1C2C99FAA9F99CFAACFCBB +:10CD80004FEA19694FEA1C6C49EA0C2C0CEB0C1C9D +:10CD90007F1C9444FFB21FFA8CFC032FE8D38CEA6B +:10CDA000020C124F0022ECFB057212096FF02405F1 +:10CDB00002FB05C2D2B201EBD207827602F0070570 +:10CDC0003F7A03FA05F52F4218BFC2767ED104FBE5 +:10CDD0000CF2120C521CD2B25FF0000400EB040CF7 +:10CDE0009CF814C0944503E0FFDB050053E4B36EE8 +:10CDF0003CBFA2EB0C02D2B213D30D194FF0000CC2 +:10CE000095F8085003FA0CF73D421CBF521ED2B2EF +:10CE1000002A6AD00CF1010C0CF0FF0CBCF1080FD9 +:10CE2000F0D304F1010C0CF0FF04052CD6D33046EE +:10CE3000BDE8F0037047FFE790F81AC00C7E474644 +:10CE400004FB02C2FE4C4FF0000CE2FB054C4FEA23 +:10CE50001C1C6FF024040CFB0422D2B201EBD204A0 +:10CE6000827602F0070C247A03FA0CFC14EA0C0F09 +:10CE70001FBFC2764046BDE8F003704790F819C066 +:10CE8000B2FBFCF40CFB1422521CD2B25FF0000483 +:10CE900000EB040C9CF814C094453CBFA2EB0C02C0 +:10CEA000D2B212D30D194FF0000C2D7A03FA0CF800 +:10CEB00015EA080F1CBF521ED2B27AB10CF1010C58 +:10CEC0000CF0FF0CBCF1080FF0D300E010E004F10F +:10CED000010C0CF0FF04052CDAD3A8E70CEBC4011D +:10CEE000C1763846BDE8F00370470CEBC401C1764B +:10CEF0004046BDE8F0037047D24A0168126811400D +:10CF0000D14A126811430160704730B4CF49CD4B0C +:10CF100000244FF0010C0A78521CD2B20A70202A69 +:10CF200008BF0C700D781A680CFA05F52A42F2D089 +:10CF3000097802680CFA01F15140016030BC704779 +:10CF4000017931F01F0113BF002000221146704704 +:10CF500010B4435C491C03F0010C5B0803F00104AE +:10CF6000A4445B0803F00104A4445B0803F001043B +:10CF7000A4445B0803F00104A4445B0803F001042B +:10CF80005B08A44403F00104A4440CEB53031A44CB +:10CF9000D2B20529DDDB012A8CBF0120002010BCA4 +:10CFA000704730B40022A1F1010CBCF1000F11DD7B +:10CFB000431E11F0010F08BF13F8012F5C785FEAE0 +:10CFC0006C0C07D013F8025F22435C782A43BCF153 +:10CFD000010CF7D1491E5CBF405C0243002A0CBF24 +:10CFE0000120002030BC7047002A08BF7047114460 +:10CFF000401E12F0010F03D011F8013D00F8013F6F +:10D00000520808BF704700BF11F8013C437011F887 +:10D01000023D00F8023F521EF6D1704770B58CB049 +:10D0200000F110041D4616460DF1FF3C5FF00800AC +:10D0300014F8012C8CF8012014F8022D0CF8022FA2 +:10D04000401EF5D101F1100C6C460DF10F010820C6 +:10D050001CF8012C4A701CF8022D01F8022F401E0A +:10D06000F6D1204606F072FC7EB16A1E04F1300053 +:10D070005FF0080110F8013C537010F8023D02F80F +:10D08000023F491EF6D10CB070BD0898286009987F +:10D0900068600A98A8600B98E8600CB070BD38B55D +:10D0A00005460C466846FAF72CFB002808BF38BD39 +:10D0B0009DF900202272E07E607294F90A1000202F +:10D0C000511A48BF494295F82D308B42C8BF38BD30 +:10D0D000FF2B08BF38BDE17A491CC9B2E17295F84F +:10D0E0002E30994203D8A17A7F2918BF38BDA27289 +:10D0F0000020E072012038BD0C2818BF0B2810D08A +:10D100000D2818BF1F280CD0202818BF212808D0B0 +:10D11000222818BF232804D024281EBF2628002038 +:10D1200070474FF0010070470C2963D2DFE801F02F +:10D1300006090E13161B323C415C484E002A5BD098 +:10D1400058E0072A18BF082A56D053E00C2A18BF07 +:10D150000B2A51D04EE00D2A4ED04BE0A2F10F0029 +:10D160000C2849D946E023B1A2F110000B2843D97D +:10D1700040E0122A18BF112A3ED090F8380020B1A2 +:10D18000122A37D31A2A37D934E0162A32D31A2A68 +:10D1900032D92FE0A2F10F0103292DD990F83800E0 +:10D1A00008B31B2A28D925E0002B08BF042A21D167 +:10D1B00022E013B1062A1FD01CE0012A1AD11BE07D +:10D1C0001C2A1CBF1D2A1E2A16D013E01F2A18BFB6 +:10D1D000202A11D0212A18BF222A0DD0232A1CBFB1 +:10D1E000242A262A08D005E013B10E2A04D001E033 +:10D1F000052A01D000207047012070472DE9F04139 +:10D200000D4604468668F7F7FBFF58B9F7F750FE5E +:10D2100040F23571F7F733FBA0602046F7F7F0FFD7 +:10D220000028F3D0DDB13046A168F8F730FB0028C4 +:10D2300015DD2844401EB0FBF5F707FB05F107E0BC +:10D2400053E4B36EF0570200F4570200700100205F +:10D250003046F7F714FBA0603846BDE8F0810020A7 +:10D26000BDE8F08170B50446904228BF70BD101B28 +:10D2700064280BD325188D4206D80421F8F73BFB10 +:10D2800000281CBF284670BD204670BD6420F1E711 +:10D2900011F00C0F13D001F0040100290DBF402242 +:10D2A000102296214FF4167101F5BC71A0EB010319 +:10D2B00088428CBF93FBF2F0002080B270470229B5 +:10D2C00019BF6FF00D0101EBD0006FF00E0101EB03 +:10D2D0009000F2E7084418449830002A14BF042153 +:10D2E00000210844704701207047106808667047A5 +:10D2F00010F0010F1CBF0120704710F0020F1CBF7F +:10D300000220704710F0040018BF082070472DE974 +:10D31000F0410546174688460126084600F079FC8C +:10D320000446404600F079FC034610F0010F18BF98 +:10D33000012008D113F0020F18BF022003D113F00F +:10D34000040018BF082014F0010F18BF4FF0010CA3 +:10D3500021D000BF50EA0C0108BF002613F0030FD4 +:10D3600008BF002014F0030F08BF4FF0000C95F821 +:10D370006410814208BF0020387095F8651061453F +:10D3800008BF4FF0000C87F801C0002808BFBCF1AF +:10D39000000F1CD10DE014F0020F18BF4FF0020C6B +:10D3A000D8D114F0040F14BF4FF0080C4FF0000C4C +:10D3B000D0E7404600F037FCB5F87010401A00B2D4 +:10D3C00047F6FE71884201DC002800DC002630466A +:10D3D000BDE8F08101281CBF02280020704718B466 +:10D3E000CBB2C1F3072CC1B2C0F30720012B05D08B +:10D3F000022B08BFBCF1020F1BD002E0BCF1010FF1 +:10D4000017D0012904D0022908BF022811D001E059 +:10D4100001280ED001EA0C0161F3070210EA0300B3 +:10D4200060F30F22D0B210F0020F18BF02200BD110 +:10D4300006E0084003EA0C01084060F30702EFE74A +:10D4400010F0010018BF01208DF80000C2F3072082 +:10D4500010F0020F18BF022003D110F0010018BF16 +:10D4600001208DF80100BDF8000018BC7047162A95 +:10D4700010D12A220C2818BF0D280FD04FF0230CF2 +:10D480001F280DD031B10878012818BF002805D019 +:10D49000162805D000207047012070471A70FBE75E +:10D4A00083F800C0F8E7012902D0022905D007E07F +:10D4B000002804BF40F2E240704740F6C4107047B5 +:10D4C00000B5FFDF40F2E24000BD002A14BF4FF478 +:10D4D00029614FF4A471002B14BF4FF429624FF45B +:10D4E000A47200280CBF01200020114498310028AC +:10D4F00018BF0420084470474078704730B505468F +:10D50000007801F00F0220F00F0010432870092965 +:10D5100012D2DFE801F0050705070509050B0F002A +:10D5200006240BE00C2409E0222407E0012400205B +:10D53000E87003E00E2401E00024FFDF6C7030BDD2 +:10D54000007800F00F0070470A68C0F8032089884F +:10D55000A0F807107047D0F803200A60B0F8070061 +:10D56000888070470A68C0F809208988A0F80D10E3 +:10D570007047D0F809200A60B0F80D008880704725 +:10D580000278402322F0400203EA81111143017026 +:10D5900070470078C0F3801070470278802322F033 +:10D5A000800203EAC1111143017070470078C0097D +:10D5B000704770B514460E4605461F2A88BFFFDF28 +:10D5C0002246314605F10900F0F701FFA01D687001 +:10D5D00070BD70B544780E460546062C38BFFFDF97 +:10D5E000A01F84B21F2C88BF1F24224605F1090109 +:10D5F0003046F0F7ECFE204670BD70B514460E467E +:10D6000005461F2A88BFFFDF2246314605F1090083 +:10D61000F0F7DDFEA01D687070BD0968C0F80F103E +:10D6200070470A88A0F8132089784175704790F8F0 +:10D63000242001F01F0122F01F02114380F8241062 +:10D640007047072988BF072190F82420E02322F0A3 +:10D65000E00203EA4111114380F8241070471F30A3 +:10D6600007F009BF10B5044600F009FB002818BFF9 +:10D67000204410BDC17811F03F0F1BBF027912F09A +:10D68000010F0022012211F03F0F1BBF037913F09D +:10D69000020F002301231A4402EB4202530011F04F +:10D6A0003F0F1BBF027912F0080F0022012203EB8B +:10D6B000420311F03F0F1BBF027912F0040F00224A +:10D6C0000122134411F03F0F1BBF027912F0200F0B +:10D6D0000022012202EBC20203EB420311F03F0FD2 +:10D6E0001BBF027912F0100F0022012202EB42024E +:10D6F0001A4411F03F0F1BBF007910F0400F0020BB +:10D700000120104410F0FF0014BF01210021084443 +:10D71000C0B2704770B50278417802F00F02082A53 +:10D720004DD2DFE802F004080B4C4C4C0F14881F5C +:10D730001F280AD943E00C2907D040E0881F1F2882 +:10D7400003D93CE0881F1F2839D8012070BD4A1E2C +:10D75000FE2A34D88446C07800258209032A09D0DD +:10D7600000F03F04601C884204D86046FFF782FF47 +:10D77000A04201D9284670BD9CF803004FF0010675 +:10D7800010F03F0F1EBF1CF10400007810F0100FC6 +:10D7900013D064460421604600F071FA002818BFD7 +:10D7A00014EB0000E6D0017801F03F012529E1D219 +:10D7B00080780221B1EB501FDCD3304670BD0020D1 +:10D7C00070BD70B50178012501F00F010024042916 +:10D7D0000AD007290DD008291CBF002070BD407851 +:10D7E0000E2836D0204670BD4078801F1F2830D9C3 +:10D7F000F8E7844640789CF803108A09032AF1D0A0 +:10D8000001F03F06711C8142ECD86046FFF732FF01 +:10D81000B042E7D89CF8030010F03F0F1EBF1CF188 +:10D820000400007810F0100F13D066460421604603 +:10D8300000F025FA002818BF16EB0000D2D00178BE +:10D8400001F03F012529CDD280780221B1EB501F94 +:10D85000C8D3284670BD10B4017801F00F01032928 +:10D8600020D0052921D14478B0F81910B0F81BC098 +:10D87000B0F81730827D222C17D1062915D3B1F5C7 +:10D88000486F98BFBCF5FA7F0FD272B1082A98BFD3 +:10D890008A420AD28B429CBFB0F81D00B0F5486F97 +:10D8A00003D805E040780C2802D010BC0020704757 +:10D8B00010BC012070472DE9F0411F4614460D00B1 +:10D8C000064608BFFFDF2146304600F0D8F90400C5 +:10D8D00008BFFFDF30193A462946BDE8F041F0F7AE +:10D8E00076BDC07800F03F007047C02202EA811187 +:10D8F000C27802F03F021143C1707047C0788009BE +:10D900007047C9B201F00102C1F340031A4402EBAF +:10D910004202C1F3800303EB4202C1F3C00302EBF6 +:10D920004302C1F3001303EB43031A44C1F3401352 +:10D9300003EBC30302EB4302C1F380131A4412F05A +:10D94000FF0202D0521CD2B20171C37802F03F0133 +:10D9500003F0C0031943C170511C417070472DE999 +:10D96000F0410546C078164600F03F041019401CEF +:10D970000F46FF2888BFFFDF281932463946001DB1 +:10D98000F0F725FDA019401C6870BDE8F081C17852 +:10D99000407801F03F01401A401E80B2704710B538 +:10D9A00090F803C00B460CF03F0144780CF03F0C9C +:10D9B000A4EB0C0CACF1010C1FFA8CF4944288BF60 +:10D9C00014462BB10844011D22461846F0F7FFFC0F +:10D9D000204610BD4078704700B5027801F003037F +:10D9E00022F003021A430270012914BF0229002108 +:10D9F00004D0032916BFFFDF012100BD417000BD27 +:10DA000000B5027801F0030322F003021A4302700A +:10DA1000012914BF0229002104D0032916BFFFDF0A +:10DA2000012100BD417000BD007800F00300704787 +:10DA3000417841B1C078192803D2C04A105C8842AD +:10DA400001D1012070470020704730B50124054600 +:10DA5000C17019293CBFB948445C02D3FF2918BFE3 +:10DA6000FFDF6C7030BD70B515460E4604461B2AAC +:10DA700088BFFFDF65702A463146E01CBDE8704074 +:10DA8000F0F7A5BCB0F807007047B0F80900704780 +:10DA9000C172090A01737047B0F80B00704730B4C7 +:10DAA000B0F80720B0F809C0B0F805300179941F2C +:10DAB00040F67A45AC4298BFBCF5FA7F0ED269B108 +:10DAC000082998BF914209D293429FBFB0F80B003A +:10DAD000B0F5486F012030BC98BF7047002030BCC3 +:10DAE0007047001D07F0C7BC021D0846114607F02D +:10DAF000C2BCB0F809007047007970470A684260FC +:10DB000049688160704742680A6080684860704771 +:10DB10000988818170478089088070470A68C0F849 +:10DB20000E204968C0F812107047D0F80E200A6025 +:10DB3000D0F81200486070470968C0F816107047A6 +:10DB4000D0F81600086070470A6842604968816032 +:10DB5000704742680A608068486070470968C16021 +:10DB60007047C06808607047007970470A68426073 +:10DB700049688160704742680A6080684860704701 +:10DB80000171090A417170478171090AC1717047B9 +:10DB90000172090A417270478172090AC1727047A5 +:10DBA00080887047C08870470089704740897047F7 +:10DBB00001891B2924BF4189B1F5A47F07D381883E +:10DBC0001B2921BFC088B0F5A47F01207047002029 +:10DBD00070470A68426049688160704742680A601D +:10DBE000806848607047017911F0070F1BBF4079CA +:10DBF00010F0070F002001207047017911F0070F86 +:10DC00001BBF407910F0070F002001207047017101 +:10DC10007047007970474171704740797047817152 +:10DC2000090AC1717047C088704745A282B0D2E925 +:10DC30000012CDE900120179407901F0070269462E +:10DC40001DF80220012A07D800F00700085C01280F +:10DC50009EBF012002B07047002002B070470171E2 +:10DC6000704700797047417170474079704730B50F +:10DC70000C460546FB2988BFFFDF6C7030BDC378BA +:10DC8000024613F03F0008BF70470520127903F0E9 +:10DC90003F0312F0010F36D0002914BF0B2070474C +:10DCA00012F0020F32D0012914BF801D704700BF4F +:10DCB00012F0040F2DD0022914BF401C704700BF82 +:10DCC00012F0080F28D0032914BF801C704700BF32 +:10DCD00012F0100F23D0042914BFC01C704700BFDE +:10DCE00012F0200F1ED005291ABF1230C0B27047A3 +:10DCF00012F0400F19D006291ABF401CC0B270475D +:10DD0000072918D114E00029CAD114E00129CFD184 +:10DD100011E00229D4D10EE00329D9D10BE0042966 +:10DD2000DED108E00529E3D105E00629E8D102E0CB +:10DD3000834288BF7047002070470000F8570200F8 +:10DD400000010102010202038A880B89B1F802C0B6 +:10DD5000C988A0F844C0A0F84810A0F84620A0F850 +:10DD60004A307047DDF800C08181C2810382A0F88B +:10DD700012C070471B2202838282C281828142804C +:10DD800002810280428482848283002918BF704706 +:10DD90004FF4A4714183C18241820182C1804181DB +:10DDA0008180C1840185704770B4B0F84830818F9C +:10DDB000458EC48E8B4228BF0B46B0F84A20B0F87F +:10DDC00040108A4238BF11464386C186028FB0F8A0 +:10DDD0003AC09A4238BF1A468C4538BF8C460287F3 +:10DDE000A0F83AC0AB420ABFA14201230023048E2F +:10DDF000B0F84420C18FB0F834C08A4228BF0A4628 +:10DE0000B0F84650B0F842108D4238BF294690F81D +:10DE10005A50022D0AD002868186A2420ABF61456D +:10DE20000120002040EA030070BC7047944238BFD4 +:10DE300022468C4538BF6146002580F85A50EAE7F3 +:10DE4000508088899080C889D080088A1081488A4B +:10DE5000508101201070704730B402884A80B0F8B9 +:10DE600030C0A1F804C0838ECB80428E0A81C48E5C +:10DE70004C81B0F85650A54204BFB0F852409442CD +:10DE800008D1B0F858409C4202BFB0F85430634506 +:10DE9000002301D04FF001030B7300F13003A0F811 +:10DEA00052201A464B89D3848B889384CA88A0F861 +:10DEB00058204FF00100087030BC704730B4034662 +:10DEC0000A46088E91F864104FF4747C11F00C0F20 +:10DED0001CBF0CEB801080B219D0918E814238BFEC +:10DEE0000846118F92F8654014F00C0F1CBF0CEB24 +:10DEF000811189B213D0528F8A4238BF1146002B4C +:10DF00000CBF01220022002330BCFFF7E3B9022935 +:10DF100007BF80003C30C000703080B2DDE7022CCB +:10DF200007BF89003C31C900703189B2E3E70000C6 +:10DF30002DE9F041044606F042FBC8B9FE4F78686F +:10DF400090F8221001260025012914D0017801291A +:10DF50001BD090F8281001291CBF0020BDE8F081DB +:10DF6000657018212170D0F82A10616080F828505F +:10DF70000120BDE8F081657007212170416A616070 +:10DF800080F822500120BDE8F081657014212170D5 +:10DF9000811C2022201DF0F71AFA257279680D7075 +:10DFA00081F82850E54882888284C26B527B80F8D1 +:10DFB000262080F82260C86B0088F4F74CFFF4F745 +:10DFC000F2FBD5E7DC4840680178002914BF80885F +:10DFD0004FF6FF70704730B5D74C83B00D462078B0 +:10DFE0007F2808BFFFDF94F900307F202070D4F82D +:10DFF00004C09CF84C00062808BF002205D09CF8FD +:10E000004C0008280CBF022201229CF85000CDE9E8 +:10E01000000302929CF86F309CF87C200CF13201D6 +:10E02000284606F04EFB03B0BDE8304006F0F1BCD8 +:10E0300070B506F009FB002818BF06F08EFABE4C3A +:10E04000606800F1800290F87210895C80F87C10A2 +:10E05000002002F093FF00B3F9F77CFA6068B8493A +:10E0600090F851000D5C2846F8F7AAFF606880F828 +:10E070006F5090F87C102520F8F78BFE606890F8C0 +:10E080007C100120F9F75AF86068002590F84010DC +:10E09000032918BF022904D00EE0BDE8704001F04A +:10E0A00040BA90F872108030085C012804D1012237 +:10E0B00011460020F9F73DFBF9F718FB606890F86E +:10E0C0007C00012807BF0126032100260521A06846 +:10E0D000FEF7D0F9616881F84E0040B1002E0CBF08 +:10E0E00050264026F8F71FFC3046F9F7D2FA606850 +:10E0F000406DF9F73BFA606890F85010FF291CBF9B +:10E100006930FEF7F0F8FF21606880F84F1080F862 +:10E11000501080F85D5080F85C5080F879500621EE +:10E1200080F84C1070BD70B5834C0646606800F1F5 +:10E130004C052046806841B1D0F80510C5F81D1087 +:10E14000B0F80900A5F8210003E005F11D01FFF773 +:10E1500002FAA068FFF71DFA85F82400A0680021E4 +:10E16000032E018002D0052E04D03DE00321FFF7ED +:10E17000C5F939E00521FFF7C1F96068C06B00F10E +:10E180000E01A068FFF749FA6068C06B00F1120148 +:10E19000A068FFF746FAD4E90110CA6B527D827578 +:10E1A000CA6BD28AC275120A0276CA6B528842764C +:10E1B000120A8276CA6B9288C276120A0277CA6BFA +:10E1C000D2884277120A8277C96B0831FFF747FA83 +:10E1D0006068C06B017EA068FFF729FA606890F85C +:10E1E0008210A068FFF72DFA05F11D01A068FFF766 +:10E1F000B9F995F82410A068FFF7CFF9606800F12D +:10E20000320590F8316090F84D1091B190F84010BF +:10E21000032906D190F83910002918BF90F8520050 +:10E2200001D190F84F00FEF774F900281CBF0126B9 +:10E2300005462946A068FFF787F93146A068BDE882 +:10E240007040FFF79DB93C49496881F84B00704721 +:10E2500070B5394D00240126A8606968A1F87D4099 +:10E2600081F87F4081F84C6091F84C20022A1FBF52 +:10E2700091F84C100129FFDF70BD06F083F9686842 +:10E28000047080F8224080F8284090F84E0030B1A9 +:10E29000F9F712FAF8F75BFB686880F84E40686897 +:10E2A000072180F84A4080F8396080F8404080F8C3 +:10E2B000514080F84B4080F8794080F8381070BDAC +:10E2C0002DE9F0411C4C054686B0606890F84C0082 +:10E2D000012818BF022805D003281EBF0C2006B055 +:10E2E000BDE8F081687A02283CD0F8F786FD02206C +:10E2F000F9F736F9134800F10C0191E80E108DE89A +:10E300000E10D0E90710CDE904106846F9F716F9A8 +:10E31000606890F94B00F8F745FEA068F9F723F91B +:10E320000848F9F7F7F80848F8F742FE606890F8EF +:10E33000311032300AE00000740100203C1100204E +:10E3400017580200145802001A580200F8F7E0FDAE +:10E350000F210720F8F7FAFD606890F83900E0B166 +:10E36000FEF74AF86068297A00F1800280F872109E +:10E37000297A895C80F87C10696841652968816523 +:10E380006A7A6AB1012A25D00526022A08BF80F8D8 +:10E390004C606FD0032A78D0B2E0FDF7E8FFE1E7E8 +:10E3A000DFF858C590F83830002100BF90F85120B0 +:10E3B000521CACFB02656D08A5EB85052A4480F86C +:10E3C000512023FA02F212F0010F03D1491CC9B205 +:10E3D0000329EBD3002680F8796090F849100029D2 +:10E3E00004BF90F84D00002840D0F6F761FD0546C7 +:10E3F00060682946406CF7F74AFADFF8048507465B +:10E4000090FBF8F008FB107041422846F6F737FA07 +:10E41000616897FBF8F24864486F10444867FDF75D +:10E4200023FF6268516F884220D85667556492F87E +:10E430004D0000281CBF0120FEF738F8012160685C +:10E4400090F84A20002A1CBF90F84920002A0DD0DD +:10E4500090F8313000F13202012B04D1527902F0F0 +:10E46000C002402A08D03230F9F79EFD61680420CE +:10E4700081F84C0044E008E00125FEF748F86168A7 +:10E480002A463231F9F758FDF0E7002918BFFFDFBF +:10E49000606800F17D0590F87F00400908BF012702 +:10E4A00003D0012814BF00270227F9F753F8287872 +:10E4B00000F03F052846F8F783FD606880F86F504C +:10E4C00090F8680002280CBF4020FF203946F8F77A +:10E4D00060FC39460120F8F76FFEF9F707F90521CE +:10E4E000A068FDF7C7FF616881F84E0028B150258C +:10E4F000F8F719FA2846F9F7CCF8606880F84C600C +:10E5000006B00020BDE8F08110B5FE4C606890F8C0 +:10E510004C1004290DD005291CBF0C2010BD90F80B +:10E52000790048B101F05AF86168082081F84C0080 +:10E5300008E0FFF77DFD05E001F050F86168072075 +:10E5400081F84C00002010BDEE49002210F0010FB0 +:10E55000496802D0012281F8802010F0080F03D012 +:10E560001144082081F8800000207047E54949687F +:10E5700081F84800704710B5E24C636893F830307A +:10E58000022B14BF032B00280BD100291ABF02292C +:10E59000012000201146FDF76AFE08281CBF01205B +:10E5A00010BD606890F83000002816BF02280020D7 +:10E5B0000120BDE81040F9F77FBCD248406890F8D0 +:10E5C0003000002816BF022800200120F9F774BC93 +:10E5D000CC49496881F830007047CA49496881F8D8 +:10E5E0004A00704770B5C74C616891F83000002848 +:10E5F00016BF02280020012081F8310001F132010C +:10E60000F9F744FC606890F83010022916BF03291E +:10E610000121002180F84D1090F8312000F13203E3 +:10E620004FF00005012A04BF5B7913F0C00F0AD038 +:10E6300000F13203012A04D15A7902F0C002402AC3 +:10E6400001D0002200E0012280F84920002A04BF06 +:10E65000002970BD4567F6F72BFC6168486491F8A6 +:10E660004D0000281CBF0020FDF720FF0026606839 +:10E6700090F84A1000291ABF90F84910002970BD7F +:10E6800090F8312000F13201012A04D1497901F0DA +:10E69000C001402905D02946BDE870403230F9F765 +:10E6A00083BCFDF734FF61683246BDE8704032310B +:10E6B000F9F742BC70B5934D0C4600280CBF0123FE +:10E6C0000023696881F8393081F842004FF0080072 +:10E6D00081F852000CD1002C1ABF022C012000201E +:10E6E0001146FDF7C4FD6968082881F8520001D081 +:10E6F000002070BD022C14BF032C1220F8D170BD75 +:10E70000002818BF1120704703287E4A526808BFAE +:10E71000D16382F84000002070477A48416891F840 +:10E720004000032804D0012818BF022807D004E0C5 +:10E7300091F84200012808BF70470020704791F807 +:10E740004100012814BF03280120F6D1704770B59D +:10E75000F8F793FFF8F772FFF8F733FEF8F7E0FEEB +:10E76000684C0025606890F84E0030B1F8F7A4FFBF +:10E77000F8F7EDF8606880F84E5060680121A0F865 +:10E780007D5080F87F5080F84C1080F82850002091 +:10E7900070BD5C4810B54068603006F0F0FA0020AB +:10E7A00010BD58480121406890F84020032A03BF5B +:10E7B00080F82A10C26B1288002218BF80F82A2025 +:10E7C000828580F8281070474E49496881F8820098 +:10E7D00070470178002311F0010F4A49496809D0B8 +:10E7E0004278032A08BFCB6381F84020012281F8D8 +:10E7F00080201346027812F0040F0CD082784FF07C +:10E80000000C032A08BFC1F83CC081F840200B442B +:10E81000082283F88020C27881F830200279002A0B +:10E8200016BF022A0123002381F8393081F84120E4 +:10E83000427981F83820807981F848004FF0000053 +:10E840007047304840687C30704770B52D4C0646A4 +:10E850000D46606890F84C00032818BFFFDF022EB9 +:10E860001EBF032EFFDF70BD002D18BF06F0E0F8BD +:10E8700000216068A0F87D1080F87F10012180F8E9 +:10E880004C1070BD00F04DBE2DE9F0471D4C064602 +:10E89000894660684FF00108072E90F8397038BF3C +:10E8A000032548D3082E84BF0020BDE8F08790F8E8 +:10E8B0004C10062908BF002105D090F84C100829FB +:10E8C0000CBF0221012190F87C0005F0C4FE002855 +:10E8D0007CD1A068C17811F03F0F1AD0027912F0F4 +:10E8E000010F16D061684FF0050591F84E20002AFF +:10E8F00018BFB9F1000F1ED006E00000ABAAAAAA0B +:10E9000040420F007401002091F87C10012909D0C9 +:10E9100011E011F03F0F1ABF007910F0100F002F17 +:10E9200054D14DE04FF001024FF00501FDF7E7FC37 +:10E93000616881F84E00A16808782944C0F380100E +:10E9400030B1487900F0C000402808BF012000D055 +:10E950000020616891F84E10002918BF002807D0E8 +:10E96000FDF7E8FC0146606880F84F1080F85C8095 +:10E97000606890F84F10FF292BD080F8501008469F +:10E98000FDF7E5FC40EA0705606890F84F20FF2A94 +:10E9900018BF002D10D0072E0ED3A068C17811F03B +:10E9A0003F0F09D0017911F0020F05D00B21FDF7BF +:10E9B00053FD606880F85D802846BDE8F08705E07B +:10E9C000FDF790FA002808BFBDE8F0870120BDE8F8 +:10E9D000F087A36890F8392059191B78C3F3801C7D +:10E9E00000F14F036046FDF7E2FA0546CCE72DE95A +:10E9F000F04F87B04FF00008F948F8F782FE7F2704 +:10EA0000F74C002808BF2770F8F766FEA068FEF7ED +:10EA100097FD81460121FFF737FF06466068002514 +:10EA200090F87C10012918BFFFDF0ED0606890F8C5 +:10EA30004E0030B1F8F740FEF7F789FF606880F8C4 +:10EA40004E5007B04046BDE8F08F4FF006084FF03B +:10EA5000010AB9F1080F46D2DFE809F04ACB0445B4 +:10EA6000454521FBF8F7ADFC002EDFD0606890F83B +:10EA70004000012818BF0228D8D120787F2808BF7D +:10EA8000FFDF94F90000277000906068FF2190F884 +:10EA90006F3090F85020323005F0E1FFC6E716B332 +:10EAA00090F84000022802D0012817D01BE02078FF +:10EAB0007F2808BFFFDF94F900002770009060688E +:10EAC000FF2190F86F3090F85020323005F0C7FFEA +:10EAD00060684FF00C0880F87950A7E720787F280D +:10EAE0005ED1FFDF5CE0F8F76CFC4FF006089DE7B5 +:10EAF0004FF00008002E00F0528190F840100229DB +:10EB000034D0012949D0032990D1A268C16BD378B0 +:10EB100091F81AC0634521D1137991F81BC0634560 +:10EB20001CD1537991F81CC0634517D1937991F8A2 +:10EB30001DC0634512D1D37991F81EC063450DD134 +:10EB4000137A91F81FC0634508D1137891F819C062 +:10EB5000C3F38013634508BF012300D0002390F85E +:10EB6000420001282AD0B3B300F015B920787F28DD +:10EB700008BFFFDF94F90000277000906068FF2154 +:10EB800090F86F3090F85020323005F068FF6068E0 +:10EB90004FF00C0880F879A048E720787F28A0D0B3 +:10EBA00094F90000277000906068FF2190F86F30A2 +:10EBB00090F85020323005F052FF17E0002B7DD145 +:10EBC00010461A31FEF7C7FCA068FEF7E2FC616848 +:10EBD000C96B4876DFE0FFE7824890F852100829B9 +:10EBE0006ED090F84F00884268D0D8E04FF0060809 +:10EBF0001CE790F84D1000290CBF4FF0010B4FF0AF +:10EC0000000B4FF00008A16811F8092BD20907D0BA +:10EC1000497901F0C001402908BF4FF0010A01D035 +:10EC20004FF0000A90F84010032906D190F83910EF +:10EC3000002918BF90F8529001D190F84F904846A3 +:10EC4000FDF731FB0090D0B34846FDF7F1F80028FE +:10EC500000E0C9E018BF4FF0010BBAF1000F35D04A +:10EC6000A068A14600F109010098F9F733F95FEABD +:10EC70000008D9F8040090F8319018BF49F0020953 +:10EC8000606890F84010032924D0F8F79AFB002E12 +:10EC9000ACD0F8F757F9002808BFB8F1000F7DD0C5 +:10ECA00020787F2808BFFFDF94F9000027700090CC +:10ECB000606890F86F3090F8502002E06BE005E05B +:10ECC0006DE04946323005F0CAFE8FE7606890F883 +:10ECD0003190D5E7A168C06BCA78837E9A421CD177 +:10ECE0000A79C37E9A4218D14A79037F9A4214D195 +:10ECF0008A79437F9A4210D1CA79837F9A420CD194 +:10ED00000A7AC37F9A4208D10978407EC1F3801104 +:10ED1000814208BF4FF0010901D04FF00009314F87 +:10ED200097F84F00082806D097F85210884208BF7D +:10ED30004FF0010A01D04FF0000AB8F1000F05D1E1 +:10ED4000BBF1000F04D0F8F7FDF808B1012000E096 +:10ED500000204EB197F84210012903D021B959EA99 +:10ED60000A0101D0012100E00021084217D06068AB +:10ED700090F84210012908BFB9F1000F0BD1C06B08 +:10ED800000F11A01A068FEF7E6FBA068FEF701FC9F +:10ED90006168C96B48764FF00E0847E602E0F8F765 +:10EDA00010FB23E7606890F84100032818BF022891 +:10EDB0007FF41CAFBAF1000F3FF418AF20787F2822 +:10EDC00008BFFFDF94F90000277000906068FE2103 +:10EDD00090F86F3090F85020323005F040FE05E793 +:10EDE000740100203C11002090F84800002818BF52 +:10EDF000002E3FF478AEA068FEF780FD30B1012808 +:10EE00007BD002287AD0F8F7DCFA0FE6F8F7D9FAC7 +:10EE1000616891F8400003283FF4E8AEA068C2782A +:10EE200012F03F0F06D0037913F0100F18BF4FF008 +:10EE3000010801D14FF00008B8F1000F14BF0823FA +:10EE4000012312F03F0F3FF4D1AE007933EA000204 +:10EE50007FF4CCAE10F0020F08D091F87C000021B6 +:10EE600005F061FB002808BF012000D000208DF8CC +:10EE70000C508DF810508DF81450FF26D0B105AA13 +:10EE800003A904A800F010FC606890F831609DF8B8 +:10EE90000C00002818BF46F002060BD1A068FEF750 +:10EEA00085FB81460121A068FEF7DCFB4946F8F7A7 +:10EEB00039F848B3B8F1000F21D0012000F054FB1D +:10EEC00000283FF493AE20787F2808BFFFDF94F935 +:10EED00000102770606890F85020CDE9002102955D +:10EEE00090F86F3090F87C2000F13201304605F048 +:10EEF000E8FB606880F86850A2E03FE06CE03146D3 +:10EF00000020FFF768F871E6606890F84100032878 +:10EF100018BF02287FF46AAE9DF8100000283FF465 +:10EF200065AE9DF80C0000287FF460AEB8F1000FCC +:10EF30001FD0012000F018FB00283FF457AE2078C6 +:10EF40007F2808BFFFDF94F900102770606890F8F1 +:10EF50005020CDE90021029590F86F3090F87C2088 +:10EF600000F13201FE2005F0ACFB606880F86850CB +:10EF700066E0FE210020FFF72EF837E6F8F721FAC9 +:10EF8000A0681821C27812F03F0F3FF42FAE00792D +:10EF900031EA00007FF42AAE012000F0E5FA0028F3 +:10EFA0003FF424AE20787F2808BFFFDF94F90010DB +:10EFB0002770606890F85020CDE90021029590F804 +:10EFC0006F3090F87C2000F13201FF2005F079FBD2 +:10EFD000606880F868A033E0F8F7F3F9606890F8AB +:10EFE000400003283FF402AEA0681821C27812F056 +:10EFF0003F0F3FF4FBAD007931EA00007FF4F6AD3E +:10F00000012000F0B1FA00283FF4F0AD20787F280D +:10F0100008BFFFDF94F900102770606890F8502057 +:10F02000CDE90021029590F86F3090F87C2000F136 +:10F030003201FF2005F045FB6168022081F868007D +:10F040004FF00308F2E4F0B5FB4C074683B060686C +:10F050006D460078002818BFFFDF002661688E70BB +:10F06000C86B02888A8042884A8382888A83C088E3 +:10F07000C88381F8206047B10121A068FEF7F2FA49 +:10F080000546A0680078C10907E06946A068FEF758 +:10F0900062FAA0680078C0F380116068012790F8D8 +:10F0A0004D20002A18BF002904D06A7902F0C0025E +:10F0B000402A26D090F84A20002A18BF002903D001 +:10F0C000697911F0C00F1CD000F10E00E3F794FF36 +:10F0D000616891F85000FF2819D001F10802C91D9C +:10F0E000FDF7EAF8002808BFFFDF6068C17941F04A +:10F0F0000201C171D0F869104161B0F86D1001834F +:10F100000FE02968C0F80E10A9884182E0E7C86BBB +:10F11000427ECA71D0F81A208A60C08B88814E6105 +:10F120000E8360680770C26B90F84B1082F867100E +:10F13000C06B0088F3F78FFEF3F726FB03B0F0BD3A +:10F140002DE9F041BC4C0546002660680127B04619 +:10F1500090F84000012818BF022802D0032818BFE9 +:10F16000FFDF5DB1A068FEF7D5FA18B9A068FEF719 +:10F1700028FB18B100F026FB064645E0606890F8D1 +:10F180004C007F25801F06283ED2DFE800F00319DF +:10F190001924352FA848F8F7B4FA002808BF2570BD +:10F1A000F8F79AFA606890F84E0030B1F8F784FAF0 +:10F1B000F7F7CDFB606880F84E80F8F702F92FE092 +:10F1C0009D48F8F79EFA002808BF2570F8F784FAE2 +:10F1D00005F02EFCC3E09848F8F793FA002808BF22 +:10F1E0002570F8F779FAF8F7ECF819E09248F8F793 +:10F1F00088FA30B9257004E08F48F8F782FA0028C1 +:10F20000F8D0F8F769FAAAE0102E7BD2DFE806F012 +:10F210001E9EA7ABC4C408B4BCC4C4C40C84205193 +:10F22000BDE8F041FEF704BF032001F0A7FE00286F +:10F2300069D000210320FEF776FF01221146104617 +:10F24000F8F777FA61680C2081F84C00BDE8F0818E +:10F25000606800F14C05042001F090FE00287ED08B +:10F260000E202870012002F068FAA068616800781A +:10F27000C0F3401081F8710000210520FEF753FF14 +:10F280006E48A1684FF0200CC26B0B78527B23F0C4 +:10F2900020030CEA42121A430A70C16B95F825301C +:10F2A0004A7B1A404A73C06B282180F86610BDE87B +:10F2B000F081062001F062FE002850D05F4D0F2043 +:10F2C00085F84C00022002F038FA6068012190F8BD +:10F2D0007C200846F8F72DFAA06861680078C0F332 +:10F2E000401081F8710001210520FEF71CFFE86B3A +:10F2F0004773A068017821F020010170F8F7F7FC4E +:10F30000002801E048E02AE018BFFFDF2820E96B71 +:10F3100081F86600BDE8F081052001F02FFEF0B114 +:10F3200001210320FEF7FFFEF8F7E1FC002818BFDB +:10F33000FFDF6068012190F87C200846F8F7F9F9B2 +:10F3400061680D2081F84C00BDE8F0816068A0F88C +:10F350007D8080F87F8080F84C70BDE8F081BDE84A +:10F36000F04100F0DEB86168032081F84C00BDE890 +:10F37000F041082002F0E1B900F030F9616807209F +:10F3800081F84C00BDE8F08100F028F961680820A0 +:10F3900081F84C00BDE8F081FFDFBDE8F08170B579 +:10F3A000254C606890F84C100C2929D00D2932D0DA +:10F3B0000E2945D00F291CBFFFDF70BD042002F0CD +:10F3C000BCF9606890F87C100E20F7F7E2FC002191 +:10F3D0009620F8F7F7F8F8F789F90521A068FDF706 +:10F3E00049F8616881F84E0028B15025F7F79BFA7B +:10F3F0002846F8F74EF961680B2081F84C0070BD83 +:10F40000F8F774F900219620F8F7DCF86168092014 +:10F4100081F84C0070BD90F87C10FF20F7F7B9FC24 +:10F4200000219620F8F7CEF8F8F760F961680A2015 +:10F4300081F84C0070BD0000740100203C110020D8 +:10F440000021A0F87D1080F87F10012180F84C1079 +:10F450000020FFF7F8FDBDE87040032002F06DB911 +:10F4600070B5FE4C606890F84C007F25801F062820 +:10F4700028BF70BDDFE800F0171F1D032A11F748F1 +:10F48000F8F73FF9002808BF2570F8F725F9F7F7D6 +:10F4900098FFBDE87040FEF7CBBDF048F8F731F9B2 +:10F4A000C8B9257017E0ED48F8F72BF940B9257079 +:10F4B00006E005F0BDFAE948F8F723F90028F6D090 +:10F4C000F8F70AF9BDE8704000F02BB8E348F8F708 +:10F4D00018F90028E5D0F8F7FFF8606800216030DF +:10F4E00005F0FEFBBDE8704000F01BB870B5DB4CCA +:10F4F00006460D46012908D0606890F87C20304609 +:10F50000BDE87040134602F062B9F7F7A9FB6168E5 +:10F510000346304691F87C202946BDE8704002F051 +:10F5200056B970B5F8F7A9F8F8F788F8F7F749FF72 +:10F53000F7F7F6FFC94C0025606890F84E0030B12F +:10F54000F8F7BAF8F7F703FA606880F84E50606889 +:10F55000022180F84C10A0F87D5080F87F50BDE863 +:10F560007040002002F0E9B870B5BC4D0646042199 +:10F57000A868FEF777F8044680780221B1EB501FA7 +:10F580001ED005F061F8002808BF70BD207800F09B +:10F590003F00252814D2F7F78BFB217811F0800F5C +:10F5A0000CBF1E214FF49671B4F80120C2F30C0277 +:10F5B00012FB01F10A1AB2F5877F28BF814201D2FE +:10F5C000002070BD68682188A0F87D10A17880F8BF +:10F5D0007F103046BDE8704001F0D0BC2DE9F0410D +:10F5E0009E4C616891F87F00400908BF012503D057 +:10F5F000012814BF002502258A6D002A33D001F1AD +:10F600007D07002808BF012603D0012814BF00266B +:10F610000226F7F79FFF387800F03F073846F7F7E4 +:10F62000CFFC606880F86F7090F8680002280CBF0B +:10F630004020FF203146F7F7ACFB60683246816D11 +:10F640000120F7F7FDFDF8F751F80521A068FCF758 +:10F6500011FF616881F84E0028B15026F7F763F971 +:10F660003046F8F716F86068406DF7F77FFF60687E +:10F6700090F84010022906D0032904BF90F86800D2 +:10F68000012804D008E090F86800022804D12A4636 +:10F6900001210020F8F74DF86068002180F87C50C7 +:10F6A00080F85C10BDE8F0812DE9F74F6B4C002528 +:10F6B000914660688A4690F84D0000280CBF4FF0D4 +:10F6C00001084FF00008A0680178CE090121FDF77C +:10F6D000C9FF36B1407900F0C000402808BF0126BC +:10F6E00000D00026606890F84E10002961D090F894 +:10F6F00040104FF0000B032906D190F83910002973 +:10F7000018BF90F852700ED1A068C17811F03F0F69 +:10F710001CBF007910F0010F02D104F0FDFE40B3D0 +:10F72000606890F84F70FF2F18BF082F21D038461F +:10F73000FCF77EFB002818BF4FF00108002E38D0E0 +:10F74000606890F85D0030B1FCF7FFFD0546606829 +:10F7500080F85DB02DE03846FCF7A5FD0546012197 +:10F76000A068FDF77FFF01462846F8F7B3FB054682 +:10F770001FE0F6B1606890F85C00D0B9A068C1786D +:10F7800011F03F0F05D0017911F0010F18BF0B21C7 +:10F7900000D105210022FCF7B2FD616881F84E001E +:10F7A00038B1FCF7C7FDFF2803D06168012581F857 +:10F7B0004F008AF800500098067089F8008003B066 +:10F7C000BDE8F08F2DE9F04F244C87B0002560682C +:10F7D00090F84C002E46801F4FF07F08062880F0DE +:10F7E000D881DFE800F00308088EFCDEFFF7FFF8A1 +:10F7F000054600F0CFB91948F7F783FF002808BF86 +:10F8000084F80080F7F768FFA068FDF799FE0546C9 +:10F81000072864D1A068FEF771F80146606890F887 +:10F8200068208A425BD190F84C10062908BF00205E +:10F8300005D090F84C0008280CBF0220012004F0ED +:10F8400024FF88B90321A068FDF70CFF002846D0EB +:10F8500001884078C1F30B01000901E07401002028 +:10F8600005F025FA00283AD000212846FFF70CF8C9 +:10F87000A0B38DF80C608DF808608DF804606268A4 +:10F88000FF2592F84C0008280CBF02210121A06836 +:10F89000C37813F03F0F1CBF007910F0020F12D095 +:10F8A00092F87C0004F03FFE68B901AA03A902A8FF +:10F8B000FFF7FAFE606890F831509DF80C000028C0 +:10F8C00018BF45F002052B469DF804209DF808104E +:10F8D0009DF80C0000F0D1F9054603E0FFE705F0C4 +:10F8E000A7F80225606890F84E00002800F05281C9 +:10F8F000F7F7E2FEF7F72BF8606880F84E6000F04B +:10F9000049B9A068FDF71CFE0646A1686068CA7880 +:10F9100090F869309A4221D10A7990F86A309A4277 +:10F920001CD14A7990F86B309A4217D18A7990F8B5 +:10F930006C309A4212D1CA7990F86D309A420DD14A +:10F940000A7A90F86E309A4208D1097890F87000DF +:10F95000C1F38011814208BF012500D00025F7F7CF +:10F9600030FDFE48F7F7CDFE002808BF84F8008080 +:10F97000F7F7B2FE042E11D185B120787F2808BF99 +:10F98000FFDF94F9003084F80080606890F86F2001 +:10F9900090F8791090F8500005F018F9062500F05D +:10F9A000F9B80227ED48F7F7ACFE002808BF84F845 +:10F9B0000080F7F791FEA068FDF7C2FD0546A0683C +:10F9C000FDF79CFF082D08BF00287CD1A0684FF0F0 +:10F9D0000301C27812F03F0F75D0007900E099E082 +:10F9E00031EA00006FD1606800F14C0890F83900EE +:10F9F000002814BF98F8066098F803604FF00009DB +:10FA000098F8020078B1FCF795FC0546FF280AD06B +:10FA10000146A068401DFCF766FCB5420CBF4FF0E4 +:10FA200001094FF000090021A068FDF71BFE062226 +:10FA300008F11D01EEF79EFC40B9A068FDF7A9FD95 +:10FA400098F82410884208BF012000D0002059EA0D +:10FA500000095DD0606800F1320590F831A098F897 +:10FA6000010038B13046FCF754FD00281CBF0546A4 +:10FA70004FF0010A4FF00008A06801784FEAD11B4F +:10FA80000121FDF7EFFDBBF1000F07D0407900F039 +:10FA9000C000402808BF4FF0010B01D04FF0000B11 +:10FAA0000121A068FDF7DEFD06222946EEF762FC83 +:10FAB00030B9A068FDF77AFD504508BF012501D097 +:10FAC0004FF0000500E023E03BEA050018BFFF2EE1 +:10FAD0000DD03046FCF7E7FB060008D00121A068F6 +:10FAE000FDF7C0FD01463046F8F7F4F9804645EAD7 +:10FAF000080019EA000F0BD060680121603005F0A2 +:10FB0000EFF801273846FFF79EFA052001F015FEB1 +:10FB10003D463FE002259148F7F7F3FD002808BF76 +:10FB200084F80080F7F7D8FDA068FDF709FD0646C8 +:10FB3000A068FDF7E3FE072E08BF00282AD1A068C1 +:10FB40004FF00101C27812F03F0F23D002799143A8 +:10FB500020D1616801F14C060021FDF783FD0622EA +:10FB600006F11D01EEF706FCA0B9A068FDF711FD36 +:10FB700096F8241088420DD160680121603005F0AC +:10FB8000AFF8FF21022000F009F8002818BF032574 +:10FB900000E0FFDF07B02846BDE8F08F2DE9F04315 +:10FBA0006E4C0F4601466068002683B090F87920BD +:10FBB000002A31D090F84C0008280CBF02250125FE +:10FBC000A1684FF000084FF07F09C87810F03F0F90 +:10FBD000624890F900001CBF097911F0100F22D083 +:10FBE0007F2808BFFFDF94F9001084F80090606858 +:10FBF00090F85020CDE90021029590F86F3090F8F0 +:10FC00007C2000F13201384604F05BFD05F058F825 +:10FC100010B304F0FEFE2CE0002914BF02210121E4 +:10FC200080F87910C6E77F2808BFFFDF94F900103D +:10FC300084F80090606890F85020CDE9002102958A +:10FC400090F86F3090F87C2000F13201384604F0D3 +:10FC500038FD04F0DEFE0CE00220FFF785FC30B139 +:10FC60006068012680F86880F7F7ABFB01E004F0DC +:10FC7000DFFE03B03046BDE8F0832DE9F047374C96 +:10FC8000054684B09A4617460E46A068FDF736FE34 +:10FC90004FF00109002800F0D3804FF0020801283E +:10FCA00008D0022800F0128104F0C2FE04B04046E1 +:10FCB000BDE8F087A0680921C27812F03F0F00F07C +:10FCC0005D810279914340F05981616891F840105B +:10FCD000032906D012F0020F08BFFF2118D05DB132 +:10FCE00015E00021FDF7BEFC61680622C96B1A31E0 +:10FCF000EEF740FB48BB1EE0FDF758FC054601212E +:10FD0000A068FDF7AFFC2946F7F70CF918B151468A +:10FD1000012000F055B9606890F84100032818BF31 +:10FD2000022840F02B81002E1CBFFE21012040F054 +:10FD3000478100F023B9A068FDF72BFC6168C96B0F +:10FD4000497E884208BF012600D00026A068C178FD +:10FD500011F03F0F09D0017902E00000740100208A +:10FD600011F0020F01D06DB338E0616891F84220C4 +:10FD7000012A01D096B11BE0D6B90021FDF772FC33 +:10FD800061680268C96BC1F81A208088C883A068BE +:10FD9000FDF7FFFB6168C96B487609E091F84F00F9 +:10FDA00091F85210884203D004B04046BDE8F08775 +:10FDB0006068603004F0D8FF002840D004B00F2005 +:10FDC000BDE8F08767B1FDF7F1FB05460121A068AA +:10FDD000FDF748FC2946F7F7A5F808B1012200E035 +:10FDE0000022616891F84200012807D040B92EB97D +:10FDF00091F84F3091F852108B4201D1012100E06F +:10FE000000210A421BD0012808BF002E11D14FF05B +:10FE10000001A068FDF726FC61680268C96BC1F8A3 +:10FE20001A208088C883A068FDF7B3FB6168C96B9E +:10FE300048766068603004F097FF0028BED19DE0EE +:10FE400060682F46554690F840104FF0020803298D +:10FE5000AAD0A168CA7812F03F0F1BBF097911F030 +:10FE6000020F002201224FF0FF0A90F84C100829DF +:10FE70000CBF0221012192B190F87C0004F053FBE9 +:10FE800068B95FB9A068FDF791FB07460121A0683A +:10FE9000FDF7E8FB3946F7F745F848B1AA46514661 +:10FEA0000020FFF77BFE002818BF4FF003087BE718 +:10FEB000606890F84100032818BF02287FF474AFEF +:10FEC000002E18BF4FF0FE0AE9D16DE7616891F886 +:10FED0004030032B52D0A0684FF0090CC27812F0CA +:10FEE0003F0F4BD002793CEA020C47D1022B06D0DF +:10FEF00012F0020F08BFFF2161D0E5B35EE012F0FF +:10FF0000020F4FF07F0801D04DB114E001F1600005 +:10FF100004F02AFF80B320787F2842D013E067B333 +:10FF2000FDF744FB05460121A068FDF79BFB294630 +:10FF3000F6F7F8FF08B36068603004F015FFD8B139 +:10FF400020787F282DD094F9001084F80080606814 +:10FF500090F85020CDE90021CDF8089090F86F304E +:10FF600090F87C2000F13201504604F0AAFB0D20ED +:10FF700004B0BDE8F08716E000E001E00220F7E7FA +:10FF8000606890F84100032818BF0228F6D1002EBF +:10FF9000F4D04FF0FE014FF00200FEF71CF80220F3 +:10FFA000E6E7FFDFCFE7FDF701FB05460121A0688B +:10FFB000FDF758FB2946F6F7B5FF20B15146022060 +:10FFC000FEF709F8DAE7606890F84100032818BFE7 +:10FFD0000228D3D1002E1CBFFE210220F0D1CDE794 +:10FFE000D0F8001149B1D0E941231A448B691A4471 +:10FFF0008A61D0E93F12D16003E0FE4AD0F8FC10DC +:020000040002F8 +:100000001162D0E93F1009B1086170470028FCD0A7 +:100010000021816170472DE9FF4F06460C46488854 +:1000200083B040F2E24148430190E08A002500FBA2 +:1000300001FA94F87C0090460D2822D00C2820D09C +:1000400024281ED094F87D0024281AD0002083464E +:10005000069818B10121204603F058F894F864106E +:1000600094F86500009094F8F0200F464FF47A79E8 +:100070004AB1012A61D0022A44D0032A5DD0FFDFB1 +:10008000B5E00120E3E7B8F1000F00D1FFDFD94868 +:1000900014F8641F243090F83400FDF704FA01903E +:1000A0002078F7F7D2FD4D4600F2E730B0FBF5F1CE +:1000B000DFF84093D9F80C0001EB00082078F7F73F +:1000C000C4FD014614F86409022816D0012816D090 +:1000D00040F6340008444AF2EF010844B0FBF5F161 +:1000E0000198D9F81C20411A514402EB08000D1860 +:1000F000012084F8F0002D1D78E02846EAE74FF44F +:10010000C860E7E7DFF8EC92A8F10100D9F8081021 +:10011000014300D1FFDFB848B8F1000F016801EBDF +:100120000A0506D0D9F8080000F22530A84200D907 +:10013000FFDF032084F8F00058E094F87C20019D54 +:10014000242A05D094F87D30242B01D0252A3AD1D9 +:10015000B4F87020B4F81031D21A521C12B2002A2E +:1001600031DB94F8122172B3174694F8132102B1CF +:1001700010460090022916D0012916D040F634000E +:1001800049F608528118022F12D0012F12D040F6E2 +:1001900034001044814210D9081A00F5FA70B0FBFF +:1001A000F9F005440FE04846EAE74FF4C860E7E796 +:1001B0004846EEE74FF4C860EBE7401A00F5FA70E6 +:1001C000B0FBF9F02D1AB8F1000F0FD0DFF8248240 +:1001D000D8F8080018B9B8F8020000B1FFDFD8F865 +:1001E000080000F22530A84200D9FFDF05B9FFDF83 +:1001F0002946D4F8F400F4F742FBC4F8F400B060E8 +:10020000002030704FF0010886F80480204602F08C +:10021000D8FFABF10101084202D186F8058005E064 +:1002200094F8F000012844D003207071606A3946C8 +:10023000009A01F011FBF060069830EA0B0035D00F +:1002400029463046FCF7DAFF87B2204602F0B9FFB4 +:10025000B8420FD8074686F8058005FB07F1D4F8A9 +:10026000F400F4F70CFBB06029463046FCF7C6FFFB +:10027000384487B23946204602F048FFB068C4F8D7 +:10028000F400A06E002811D0B4F87000B4F89420E7 +:10029000801A01B2002909DD34F86C0F0144491EAF +:1002A00091FBF0F189B201FB0020208507B0BDE889 +:1002B000F08F0220B9E72DE9F04106460C460120F7 +:1002C00001F0AFFAC5B20B2001F0ABFAC0B2854223 +:1002D00000D0FFDF0025082C7ED2DFE804F00461A7 +:1002E000696965C68293304601F0ACFA0621F2F7DF +:1002F0007FFC040000D1FFDF304601F0A3FA218823 +:10030000884200D0FFDF94F8F00000B9FFDF2046FC +:1003100002F09BFD374E21460020B5607580F561E7 +:10032000FDF7CCFD00F19807606AB84217D994F840 +:100330006500F6F755FC014694F864004FF47A72B4 +:10034000022828D0012828D040F6340008444AF278 +:1003500047310844B0FBF2F1606A0844C51B2146EE +:1003600000203561FDF7AAFD618840F2E242514369 +:100370009830081AA0F22530706194F8652094F83E +:100380006410606A01F068FAA0F29510B061BDE8EF +:10039000F041F5F749BA1046D8E74FF4C860D5E701 +:1003A000BDE8F04102F0BBBDBDE8F041F7F7D9B9B7 +:1003B000304601F047FA0621F2F71AFC040000D19A +:1003C000FFDF304601F03EFA2188884200D0FFDF8F +:1003D00001220021204600E047E0BDE8F04101F0A5 +:1003E00058BAF7F779F8F7F7BCF902204FF0E02197 +:1003F00004E00000C011002084010020C1F8800248 +:10040000BDE8F081304601F01DFA0621F2F7F0FB5D +:10041000040000D1FFDF304601F014FA2188884241 +:1004200000D0FFDF94F8F000042800D0FFDF84F84C +:10043000F05094F8FA504FF6FF76202D00D3FFDFEE +:10044000F94820F8156094F8FA00F4F712FD00B9A5 +:10045000FFDF202084F8FA002046FFF7C1FDF348B3 +:100460000078BDE8F041E2F74FBDFFDFC8E770B5A7 +:10047000ED4C0025443C84F82850E07868B1E570E4 +:10048000FEF78FF92078042803D0606AFFF7A8FDF3 +:100490006562E6480078E2F737FDBDE8704001F09C +:1004A00009BA70B5E04C0146443CE069F5F7EFF954 +:1004B0006568A27890FBF5F172B140F27122B5FB4C +:1004C000F2F292B2A36B01FB02F6B34202D901FB36 +:1004D000123200E00022A2634D43002800DAFFDF61 +:1004E0002946E069F4F7CBF9E06170BD2DE9F05FD2 +:1004F000FEF7A7F98246CC48683800F124088168E5 +:100500004646D8F81800F4F7BAF90146F069F5F74D +:10051000BEF94FF00009074686F835903C4640F298 +:100520008E254E461DE000BF0AEB06000079F6F767 +:1005300057FB4AF2B12101444FF47A70B1FBF0F15C +:1005400008EB86024046926811448C4207D3641A35 +:1005500090F83510A4F28E24491C88F83510761CCA +:10056000F6B298F83600B042DED8002C0FDD98F8CD +:100570003510404608EB81018968A14207D24168E5 +:10058000C91BA94200D90D466C4288F8359098F8ED +:100590003560C3460AEB060898F80400F6F720FB1E +:1005A00001464AF2B12001444FF47A7AB1FBFAF2E3 +:1005B00098F80410082909D0042909D0002013183C +:1005C00004290AD0082908D0252207E0082000E0E5 +:1005D000022000EB40002830F1E70F22521D4FF4BB +:1005E000A870082913D0042914D0022915D04FF07F +:1005F000080C282012FB0C00184462190BEB860330 +:1006000002449868D84682420BD8791925E04FF009 +:10061000400CEFE74FF0100CECE74FF0040C182003 +:10062000E8E798F8352098F836604046B24210D294 +:10063000521C88F835203C1B9868621984180846BB +:10064000F6F7CEFA4AF2B1210144B1FBFAF00119F2 +:1006500003E080F83590D8F80410D8F81C00BDE805 +:10066000F05FF4F70CB92DE9FE4F14460546FEF78E +:10067000E8F8DFF8B4A10290AAF1440A50469AF8CB +:1006800035604FF0000B0AEB86018968CAF83C1010 +:10069000F4B3044600780027042825D005283ED06E +:1006A000FFDFA04639466069F4F7E9F80746F4F73A +:1006B000FFFB81463946D8F80440F5F7E8F8401EBC +:1006C00090FBF4F0C14361433846F4F7D8F8014693 +:1006D000C8F81C004846F5F7DAF8002800DDFFDF0F +:1006E000012188F813108DE0D4F81490D4F8048018 +:1006F00001F047F9070010D0387800B9FFDF7969B9 +:1007000078684A460844414601F027F9074600E068 +:100710000BE04045C5D9FFDFC3E75F46C1E7606A2C +:1007200001F0D6F840F6B837BBE7C1690AEB4600DE +:100730000191408D10B35446DAF81400FFF7B1FE72 +:100740006168E069F4F79BF8074684F835B0019CCE +:10075000D0462046DAF81410F5F799F88146394664 +:100760002046F5F794F8D8F804200146B9FBF2F0DA +:10077000B1FBF2F1884242D0012041E0F4F798FB4E +:10078000FFF78FFEFFF7B2FE9AF83510DAF8049003 +:100790000AEB81010746896800913946DAF81C00A6 +:1007A000F5F775F800248046484504DB98FBF9F41A +:1007B00004FB09F41AE0002052469AF8351007E0CD +:1007C00002EB800304F28E249B68401C1C44C0B2E0 +:1007D0008142F5D851B10120F6F702FA4AF2B1216F +:1007E00001444FF47A70B1FBF0F004440099A8EB97 +:1007F00004000C1A00D5FFDFCAF83C40A7E7002030 +:1008000088F813009AF802005446B8B13946E069F6 +:10081000F5F73DF80146A26B40F2712042438A424F +:1008200006D2C4F83CB009E0281200208001002064 +:10083000E06B511A884200D30846E063AF6085F848 +:1008400000B001202871029F94F835003F1DC05D63 +:10085000F6F7C6F94AF23B5101444FF47A70B1FB06 +:10086000F0F0E16BFD300844E8602078042808D1FE +:1008700094F8350004EB4000408D0A2801D2032093 +:1008800000E00220687104EB4600408DC0B12846AC +:100890006168FCF7B3FC82B20020761C0CE000BF5C +:1008A00004EB4001B0424B8D13449BB24B8501D306 +:1008B0005B1C4B85401CC0B294F836108142EFD2CD +:1008C000A8686061A06194F8350004EB4001488D90 +:1008D000401C488594F83500C05D082803D00428E2 +:1008E00003D000210BE0082100E0022101EB4101CF +:1008F00028314FF4A872082804D0042802D0022816 +:1009000007D028220A44042805D0082803D025212E +:1009100002E01822F6E70F21491D08280CD0042810 +:100920000CD002280CD0082011FB0020E16B88427B +:1009300008D20120BDE8FE8F4020F5E71020F3E744 +:100940000420F1E70020F5E770B5FE4C061D14F811 +:10095000352F905DF6F744F94FF47A7100F2E730E5 +:10096000B0FBF1F0D4F8071045182078805DF6F759 +:1009700093F92178895D082903D0042903D0002246 +:100980000BE0082200E0022202EB420228324FF480 +:10099000A873082904D0042902D0022907D02823EB +:1009A0001344042905D0082903D0252202E0182386 +:1009B000F6E70F22521D08290AD004290AD002297D +:1009C0000AD0082112FB0131081A281A293070BDFB +:1009D0004021F7E71021F5E70421F3E72DE9FF4176 +:1009E00007460C46012000F01CFFC5B20B2000F0AA +:1009F00018FFC0B2854200D0FFDF20460126002547 +:100A0000D04C082869D2DFE800F00430464642683E +:100A10006865667426746078002819D1FDF711FFA7 +:100A2000009594F835108DF808104188C90411D04C +:100A3000206C019003208DF80900C248243885609D +:100A4000C56125746846FDF73BFC002800D0FFDF38 +:100A5000BDE8FF81FFF778FF0190E07C10B18DF8D1 +:100A60000950EAE78DF80960E7E7607840B1207C3B +:100A700008B9FDF76CFE6574BDE8FF41F4F723B9D2 +:100A8000A674FDF741FD0028E2D0FFDFE0E7BDE8F6 +:100A9000FF41F6F766BEFDF7D4FE4088C00407D0DC +:100AA00001210320FDF7D1FEA7480078E2F72CFAD8 +:100AB000002239466846FFF7D6FD38B16946384608 +:100AC00000F0BEFE0028C3D1FFDFC1E7E670FFF7EC +:100AD000CEFCBDE7BDE8FF41C9E4FFDFB8E79949B7 +:100AE00050B101228A704A6840F27123B2FBF3F2DE +:100AF00002EB0010886370470020887070472DE972 +:100B0000F05F894640F271218E4E4843002504462D +:100B1000706090462F46D0074AF2B12A4FF47A7B94 +:100B20000FD0B9F800004843B0600120F6F758F83C +:100B300000EB0A01B1FBFBF0241AB7680125A4F20F +:100B40008E245FEA087016D539F8151040F271202E +:100B5000414306EB85080820C8F80810F6F740F86E +:100B600000EB0A01B1FBFBF0241AD8F80800A4F24C +:100B70008E2407446D1CA74219D9002D17D0391BAC +:100B8000B1FBF5F0B268101AB1FBF5F205FB1212D9 +:100B9000801AB060012008E0B1FBF5F306EB80029B +:100BA0009468E31A401CC0B29360A842F4D3BDE835 +:100BB000F09F2DE9F041634C00262078042804D0F2 +:100BC0002078052801D00C201AE401206070607C98 +:100BD000002538B1EFF3108010F0010F72B610D07D +:100BE00001270FE0FDF72DFE074694F82000F4F7EB +:100BF0009DFC7888C00411D000210320FDF725FE5C +:100C00000CE00027607C38B1A07C28B1FDF79FFD87 +:100C10006574A574F4F757F807B962B694F8200024 +:100C2000F4F7F0FE94F8280030B184F828502078CA +:100C3000052800D0FFDF0C26657000F03BFE304633 +:100C400014E4404810B5007808B1FFF7B2FF00F097 +:100C5000A1FE3C4900202439086210BD10B53A4C71 +:100C600058B1012807D0FFDFA06841F66A01884229 +:100C700000D3FFDF10BD40F6C410A060F4E7324996 +:100C800008B508702F4900200870487081F82800C6 +:100C9000C8700874487488742022486281F8202043 +:100CA000243948704FF6FF7211F1680121F81020C5 +:100CB000401CC0B22028F9D30020FFF7CFFFFFF778 +:100CC000C0FF1020ADF80000012269460420FFF7A4 +:100CD00016FF08BD7FB51B4C05460E46207810B1A7 +:100CE0000C2004B070BD95F8652095F86410686A12 +:100CF00000F092FEC5F80401656295F8F00000B1BD +:100D0000FFDF104900202439C8610521217060707F +:100D100084F82800014604E004EB4102491C508598 +:100D2000C9B294F836208A42F6D284F835003046AB +:100D3000FFF7D5FE0548F4F741F884F82000202895 +:100D400007D105E0E411002080010020DD09020048 +:100D5000FFDFF4F7ADF8606194F8201001226846D7 +:100D6000FFF781FC00B9FFDF94F82000694600F02E +:100D700067FD00B9FFDF0020B3E7FF4810B500783A +:100D800008B1002010BD0620F1F7CCFE80F0010074 +:100D900010BD38B5F84D0446287800B1FFDF0020BB +:100DA0000090237802460146DB0705D06088A188C1 +:100DB000ADF8001001221146491E85F8361069462B +:100DC000FFF79DFE002038BD1FB511B1112004B002 +:100DD00010BDE94C217809B10C20F8E700226270BF +:100DE00004212170114604E004EB4103491C5A859B +:100DF000C9B294F836308B42F6D284F83520FFF72A +:100E00006EFEDE48F3F7DAFF84F82000202800D1D8 +:100E1000FFDF00F0B6FD10B1F4F74AF805E0F4F793 +:100E200047F840F6B831F3F72AFD606194F82010D6 +:100E300001226846FFF717FC00B9FFDF94F8200095 +:100E4000694600F0FDFC00B9FFDF0020BFE770B588 +:100E5000C94C616A0160FFF7ACFE050002D1606A0F +:100E6000FFF7BEF800206062284670BD7FB5C24C17 +:100E70002178052901D00C2033E7BF492439C86007 +:100E8000606A00B9FFDF606A90F8F00000B1FFDF30 +:100E9000606A90F8FA00202800D0FFDFB848F3F726 +:100EA0008DFF616A0546202881F8FA000E8800D37C +:100EB000FFDFB148443020F81560606A90F8FA000E +:100EC000202800D1FFDF002301226846616AFFF776 +:100ED000A2F8606A694690F8FA0000F0B1FC00B927 +:100EE000FFDF00206062FCE6A349243948707047A8 +:100EF00010B540F2E24300FB03F4002000F08CFD4B +:100F0000844201D9201A10BD002010BD70B50D46D5 +:100F1000064601460020FCF7D1FF044696F865001E +:100F2000F5F75EFE014696F864004FF47A720228E7 +:100F300015D0012815D040F6340008444AF2473154 +:100F40000844B0FBF2F1708840F271225043C1EBCB +:100F50004000A0F22530A54206D2214605E0104609 +:100F6000EBE74FF4C860E8E72946814204D2A54286 +:100F700001D2204600E02846706270BD70B505467B +:100F8000FDF75FFC7C49007824398C689834072D84 +:100F90002CD2DFE805F00430302528303000142151 +:100FA0004FF4A873042810D00822082809D02A2159 +:100FB00002280FD011FB024000222823D118441828 +:100FC00015E0402211FB0240F8E7102211FB02401D +:100FD0002E22F3E7042211FB024000221823EDE742 +:100FE00004F5317403E004F5B07400E0FFDF6248FB +:100FF000C06BA04201D9012070BD002070BD70B54A +:101000005D4C243C607870B1D4E904512846A26854 +:10101000FCF728F92061A84205D0A169401B0844CB +:10102000A061F4F701FC2169A068884201D820780A +:1010300008B1002070BD012070BD2DE9FF5F07469B +:1010400015460E461C461846F5F726FE07EB4601E8 +:101050004618204600F0DCFB4AF2C5714FF47A795D +:101060000144C846B1FBF8F0064443486D1C2438DF +:101070006036806800EB050B2046F5F70DFE371A49 +:10108000204600F0C5FB05462046F5F7A9FD291AC4 +:10109000B1FBF8F03F1A182028234FF4C8714FF421 +:1010A000BF724FF0020A082C31D0042C2BD000253F +:1010B000022C30D04FF0080C15F128050CEB8C08F1 +:1010C00008EB8C1C654407EB050C0025082C2BD085 +:1010D000042C24D00027022C2BD01846082307F517 +:1010E000B07700BF03EB0313184487422DD2082CBE +:1010F00025D0042C20D00020022C23D00823283017 +:1011000003EB03132EE015464FF0100CD6E70D4607 +:101110004FF0400CD2E74FF0040C1835CEE71046E4 +:1011200040F2EE371023DDE708464FF435674023E1 +:10113000D8E70423B437D5E710461023E0E7084684 +:101140004023DDE704231830DAE7082C4CD0042CC8 +:1011500047D00020022C4AD008232830C3EBC30715 +:1011600007EB431318446044082C46D0042C41D0AC +:101170000021022C43D005E0E4110020DD0902002B +:10118000B70202000822283102EB821201EB820131 +:10119000471801208DF804008DF800508DF805A047 +:1011A000FE4D594607F22927A869F3F768FBCDE9F8 +:1011B00002072046F5F714FD4AF23B510144B1FB0A +:1011C000F9F0381AFD38E86302982E64A86195F8A2 +:1011D0002000694600F034FB002800D1FFDFBDE8A5 +:1011E000FF9F10461023B9E708464023B6E70423C3 +:1011F0001830B3E711461022C6E74022C4E70422A4 +:101200001831C1E72DE9FE4F05461C4617468846B2 +:101210004FF0010A1846F5F73FFDE04E243EB16855 +:101220004A1907EB480111444718204600F0F0FA2C +:101230004FF47A7BD84600F6FB00B0FBF8F0384458 +:1012400000F120092046F5F727FDB2680146A9EB19 +:101250000200401B461A204600F0DAFA07462046F4 +:10126000F5F7BEFC391AB1FBF8F0A6EB000C18201C +:1012700028234FF4C8714FF4BF72082C2CD0042CD3 +:1012800027D00026022C2AD00827283607EB87080B +:1012900008EB87173E440CEB0607082C27D0042CDC +:1012A00020D00026022C27D01846082306F5B07659 +:1012B00003EB0313184486422AD2082C22D0042CB4 +:1012C0001DD00020022C20D00823283003EB03136C +:1012D0002CE016461027D9E70E464027D6E704270C +:1012E0001836D3E7104640F2EE361023E0E7084602 +:1012F0004FF435664023DBE70423B436D8E71046C5 +:101300001023E3E708464023E0E704231830DDE735 +:10131000082C42D0042C3DD00020022C40D00823C1 +:1013200010F12800C3EBC30606EB431318443844FE +:10133000082C3BD0042C36D00021022C38D00822B7 +:1013400011F1280102EB821201EB8201441804F52D +:1013500096740C98F5F744FC4AF23B510144B1FBFA +:10136000FBF08E4EFD30A6F12407F16B05F1FD0276 +:101370000844B9680B191A44824224D92A19114425 +:101380000C1AFD342044B0F1807F37D2642C12D285 +:10139000642011E010461023C4E708464023C1E74B +:1013A00004231830BEE711461022CBE74022C9E7DC +:1013B00004221831C6E720460421F4F79CFAE8B16C +:1013C000F06B2044F063E1F773FCB96829382944D5 +:1013D0000844CDE9000996F835008DF80800022090 +:1013E0008DF809006846FCF76BFF00B1FFDFFDF7E1 +:1013F0008BF800B1FFDF5046BDE8FE8F4FF0000ACA +:10140000F9E71FB500F00EFB644C607880B994F8E2 +:10141000201000226846FFF726F938B194F8200022 +:10142000694600F00DFA18B9FFDF01E00120E07015 +:10143000F3F749FC00206074A0741FBD2DE9F84F3C +:10144000FDF7FFF90646441CC07840090AD0012880 +:101450000AD000202178824608064FF4967505D4FC +:101460001E2004E00120F5E70220F3E72846B4F847 +:101470000120C2F30C0212FB00F7C80901D010B121 +:1014800003E01E2501E0FFDF0025F5F711FCA7EBC7 +:1014900000092078B77909EB0508C0F3801010B176 +:1014A00020B1322404E04FF4FA7401E0FFDF00249D +:1014B0000C2F00D3FFDF3A483A4A30F817002118C2 +:1014C00001FB0821501CB1FBF0F4F5F7C9FBF5F75F +:1014D00087FB4FF47A7100F27160B0FBF1F1A9EB78 +:1014E0000100071BA7F1590040F28E21103F8842EE +:1014F00011D92A4E717829B9024653462146284609 +:10150000FFF79BFD00F08EFAF3F7DDFB002070740F +:10151000B074BDE8F88F3078009053462A462146D3 +:101520003846FFF76FFE0028F3D101210220FDF7B6 +:101530008CF9BDE8F84F64E710B50446012903D1E2 +:1015400016482438007830B1042084F8F000BDE853 +:101550001040F3F7B8BB00220121204600F099F9B2 +:1015600034F8700F401C2080F1E72DE9F041074668 +:10157000FDF767F9050000D1FFDF084C0021606A24 +:101580003030FCF7F7FB29783846FBF78CFFA4F1E5 +:1015900024060146A069B268024405E0E411002077 +:1015A000385802003F420F006FB32878082803D054 +:1015B000042803D000230BE0082300E0022303EB00 +:1015C000430328334FF4A877082804D0042802D016 +:1015D000022810D028273B4408280ED004280ED01B +:1015E00002280ED05FF00800C0EBC00707EB4010E8 +:1015F0001844983009E01827EDE74020F4E7102060 +:10160000F2E70420F0E74FF4FC7010444718287804 +:101610003F1DF5F7E5FA014628784FF47A72022863 +:101620001DD001281DD040F6340008444AF2EF01D5 +:101630000844B0FBF2F03A1A606A40F2E241B04668 +:101640004788F0304F43316A81420DD03946206BD4 +:1016500000F083F90646B84207D9FFDF05E01046DF +:10166000E3E74FF4C860E0E70026F448806886426C +:1016700007D2616A40F271224888424306EB420673 +:1016800004E040F2E240B6FBF0F0616AC882606AB2 +:10169000297880F86410297880F865100521417553 +:1016A000C08A6FF41C71484306EB400040F6354198 +:1016B000C8F81C00B0EB410F00D3FFDFBDE8F0819C +:1016C00010B5052937D2DFE801F00509030D310017 +:1016D000002100E00121BDE810402DE7032180F842 +:1016E000F01010BD0446408840F2E2414843D3491F +:1016F000091D0860D4F818010089E082D4F81801A7 +:1017000080796075D4F8180140896080D4F8180198 +:101710008089A080D4F81801C089E0802046A16AA1 +:10172000FFF7F4FB022084F8F00010BD816ABDE8E9 +:101730001040FFF7EBBBFFDF10BD70B5C04C0928B0 +:10174000A1683FD2DFE800F0050B0B151315383800 +:101750000800BDE8704054E6BDE870406EE602281F +:1017600003D00020BDE87040FFE60120FAE7E16009 +:1017700070BD032802D005281CD000E0E1600026DF +:1017800000F050F9AE4D0120243585F8280085F889 +:101790003460686AA9690026C0F8F41080F8F06027 +:1017A000E068FFF763FB00B1FFDFF3F78CFA6E74BC +:1017B000AE7470BD0126E3E7A0480078BDE8704034 +:1017C000E1F7A2BBFFDF70BD9D494860704770B56F +:1017D0009B4D0446B1B14FF47A76012903D002291A +:1017E00005D0FFDF70BD1846F5F74DFA05E06888B3 +:1017F000401C68801046F6F728FA00F2E730B0FB8C +:10180000F6F0201AA86070BD8D482430007870472B +:10181000082803D0042801D0F5F7E2B94EF62830A5 +:101820007047002804DB00F1E02090F8000405E098 +:1018300000F00F0000F1E02090F8140D400970470F +:10184000F3F75ABD10B50446202800D3FFDF7C48CB +:10185000683030F8140010BD70B505460C461046CF +:10186000F5F7BEF94FF47A71022C0DD0012C0DD092 +:1018700040F6340210444AF247321044B0FBF1F013 +:10188000284400F2951070BD0A46F3E74FF4C86291 +:10189000F0E71FB513460A46044601466846FEF7C0 +:1018A000BAFB94F8FA006946FFF7CAFF002800D196 +:1018B000FFDF1FBD70B5624C00252434257094F8FD +:1018C0002000F3F7D6FA00B9FFDF84F8205070BD8E +:1018D0002DE9F041050000D1FFDF594A0024D5F879 +:1018E00004612046631E116A08E08869B04203D390 +:1018F000984201D203460C460846C9680029F4D133 +:1019000004B904460021C5F80041F035CCB1E068C7 +:10191000E560E86000B105612E698846A96156B1AD +:10192000B06930B16F69B84200D2FFDFB069C01B47 +:10193000A861C6F81880424D24355CB1207820B9E2 +:1019400002E0E9601562E7E7FFDF6169606808446B +:101950002863B3E6C5F83080B0E610B50C46014602 +:101960001046F3F794FF002806DA211A491EB1FB4E +:10197000F4F101FB040010BD90FBF4F101FB140035 +:1019800010BD2F48016A002001E00846C9680029FF +:10199000FBD170472DE9FE43294D01202870002618 +:1019A0004FF6FF7420E00621F1F722F9070000D17D +:1019B000FFDF97F8FA00F037F4F724F807F80A6B1E +:1019C000A14617F8FA89B8F1200F00D3FFDF1C4AAF +:1019D000683222F8189097F8FA00F3F74AFA00B93B +:1019E000FFDF202087F8FA0069460620F1F789F822 +:1019F00050B1FFDF08E0029830B190F8F01019B153 +:101A00000088A042CFD104E06846F1F758F80028DA +:101A1000F1D02E70BDE8FE8310B5FFF71DFF00F575 +:101A2000C87010BD06480021243090F8352000EB26 +:101A30004200418501480078E1F766BA8001002044 +:101A4000C0110020FD48806890F8A21029B1B0F8BC +:101A50009E10B0F8A020914215D290F8A61029B19E +:101A6000B0F8A410B0F8A02091420CD2B0F89C209D +:101A7000B0F89A108A4206D290F88020B0F8980008 +:101A80001AB1884203D3012070470628FBD20020F8 +:101A900070472DE9F041E94D0746A86800F1700450 +:101AA00090F8140130B9E27B002301212046FBF7B6 +:101AB0003BFB10B1A08D401CA08501263D21AFB994 +:101AC0002878022808D001280AD06878C8B110F018 +:101AD000140F09D01E2039E0162037E026773EE0AB +:101AE000A86890F8160131E0020701D56177F5E7A3 +:101AF000810701D02A2029E0800600D4FFDF2320BF +:101B000024E094F8320028B1E08D411CE185218E5B +:101B1000884213D294F8360028B1A08E411CA186C9 +:101B2000218E88420AD2A18D608D814203D3AA689A +:101B300092F8142112B9228E914201D3222005E09D +:101B4000217C29B1218D814207D308206077C5E728 +:101B5000208D062801D33E20F8E7207FB0B1002079 +:101B60002073607320740221A868FFF7A9FDA8689C +:101B700090F8E410012904D1D0F81C110878401E17 +:101B80000870E878BDE8F041E1F7BEB9A868BDE8A3 +:101B9000F0410021FFF794BDA8490C28896881F81D +:101BA000E40014D0132812D0182810D000221128D5 +:101BB0000ED007280BD015280AD0012807D00028FE +:101BC00005D0022803D021F89E2F0120087170470C +:101BD000A1F8A420704710B5984CA1680A88A1F814 +:101BE000602181F85E0191F8640001F027FBA16893 +:101BF00081F8620191F8650001F020FBA16881F88D +:101C00006301012081F85C01002081F82E01E07859 +:101C1000BDE81040E1F778B970B5884C002319464B +:101C2000A06890F87C207030FBF77EFA00283DD049 +:101C3000A06890F820110025C9B3A1690978B1BB4B +:101C400090F87D00FBF758FA88BBA168B1F87000E6 +:101C50000A282DD905220831E069ECF78BFB10B377 +:101C6000A068D0F81C11087858B10522491CE06919 +:101C7000ECF780FB002819D1A068D0F81C0100788F +:101C800040B9A068E169D0F81C010A68C0F80120D9 +:101C900009794171A068D0F81C010178491C0170D4 +:101CA0000120FFF779FFA06880F8205170BDFFE7A1 +:101CB000A06890F8241111B190F8251159B390F84B +:101CC0002E110029F2D090F82F110029EED190F8B2 +:101CD0007D00FBF711FA0028E8D1A06890F86400B5 +:101CE00001F0ACFA0546A06890F8650001F0A6FA8C +:101CF0000646A06890F83011284601F091FA38B3F2 +:101D0000A06890F83111304601F08AFA00B3BDE8BE +:101D1000704000205FE790F87D10242916D090F8DD +:101D20007C10242912D0002300F5897200F59271ED +:101D3000FCF70AF8A06880F8245100F13001CA8A43 +:101D400020F8E62F498B4180142002E00123EBE7C5 +:101D50001620BDE870401FE710B5F4F7C7F90C284E +:101D600013D3364C0821A068D0F818011E30F4F7C0 +:101D7000C1F928B1A0680421D830F4F7BBF900B943 +:101D8000FFDFBDE81040032006E710BD10B52B4C67 +:101D9000A068D0F818110A78002A1FD04988028854 +:101DA00091421BD190F87C20002319467030FBF73C +:101DB000BBF9002812D0A068D0F8181109780229C0 +:101DC00007D003290BD0042917D0052906D10820F4 +:101DD0000DE090F87D00FBF78FF940B110BD90F851 +:101DE000811039B190F8820000B9FFDF0A20BDE808 +:101DF0001040D1E6BDE81040AEE790F8AA00800799 +:101E0000ECD10C20FFF7C8FEA068002120F89E1F2F +:101E100001210171017B41F00101017310BD70B519 +:101E2000064CA268556EFBF7DAFAEBB2C1B200229B +:101E30008B4205D0A36883F8121104E08C010020C6 +:101E4000A16881F81221C5F30721C0F30720814260 +:101E500003D0A16881F8130128E7A06880F8132156 +:101E600024E710B5FE4C0421A068FFF729FCA06808 +:101E700090F85A10012908D000F59E71FBF7ECFF8D +:101E8000E078BDE81040E1F73FB8022180F85A1031 +:101E900010BD70B5F24CA06890F8E410FE2955D141 +:101EA0006178002952D190F87F2000230121703001 +:101EB000FBF73AF9002849D1A06890F8141109B14C +:101EC000022037E090F87C20002319467030FBF7A1 +:101ED0002BF928B1A06890F8960008B1122029E0EB +:101EE000A068002590F87C20122A1DD004DC032A6B +:101EF00023D0112A04D119E0182A1AD0232A26D077 +:101F0000002304217030FBF70FF900281ED1A068D0 +:101F100090F87D10192970D020DC01292AD00229DF +:101F200035D0032932D120E00B2003E0BDE870401A +:101F300012E70620BDE870402EE610F8E21F01719E +:101F40000720FFF729FEA06880F87C50AEE6182035 +:101F5000FFF722FEA068A0F89E50A7E61D2918D022 +:101F60001E2916D0212965D148E010F8E11F4171E2 +:101F700007206FE00C20FFF70FFEA06820F8A45F99 +:101F8000817941F00101817100F8275C52E0132052 +:101F90002BE090F825217ABB90F82421AAB12429BE +:101FA00011D090F87C1024290DD0002300F58972FF +:101FB00000F59271FBF7C8FEA0681E2180F87D1025 +:101FC00080F8245103E00123F0E71E2932D1A068F4 +:101FD000FBF7EAFEFFF745FFA16801F13000C28A76 +:101FE00021F8E62F408B48801520FFF7D5FDA0682B +:101FF000A0F8A45080F87D501CE02AE090F89710DB +:1020000051B180F8125180F813511820FFF7C4FD28 +:10201000A068A0F8A4500DE090F82F1151B990F8E5 +:102020002E1139B1C16DD0F83001FFF7F8FE18203C +:10203000FFF7B2FDA06890F8E400FE2886D1FFF714 +:10204000A5FEA06890F8E400FE2886D1BDE87040A7 +:10205000E2E51120FFF7A0FDA068CBE7804A012947 +:10206000926819D0002302290FD003291ED010B383 +:1020700001282BD0032807D192F87C00132803D025 +:10208000162801D0182804D1704792F8E4000028DF +:10209000FAD0D2F8180117E092F8E4000128F3D042 +:1020A000D2F81C110878401E0870704792F8E400BE +:1020B0000328EED17047D2F81801B2F87010828868 +:1020C000891A09B20029F5DB03707047B2F8700075 +:1020D000B2F82211401A00B20028F6DBD2F81C0137 +:1020E0000178491E0170704770B5044690F87C0075 +:1020F00000250C2810D00D282ED1D4F81811B4F8D2 +:1021000070008988401C884226D1D4F86401544E5E +:10211000017811B3FFDF42E0B4F87000B4F8221187 +:10212000401C884218D1D4F81C01D0F80110A160DD +:102130004079207303212046FAF715FDD4F81C01DD +:10214000007800B9FFDF0121FE20FFF787FF84F848 +:102150007C50012084F8B200A8E52188C180D4F821 +:102160001801D4F8641140890881D4F81801D4F812 +:10217000641180894881D4F81801D4F86411C089A9 +:102180008881D4F864010571D4F8641109200870BD +:10219000D4F8641120884880F078E0F7B5FE022179 +:1021A0002046FAF7E0FC03212046FFF789FAB068E1 +:1021B000D0F818010078022800D0FFDF0221FE20AD +:1021C000FFF74CFF84F87C5070E52DE9F041244C7A +:1021D00000260327D4F808C0012588B12069C078FB +:1021E0008CF8E20005FA00F0C0F3C05000B9FFDF40 +:1021F000A06800F87C7F468480F82650BDE8F08116 +:1022000000239CF87D2019460CF17000FAF78CFF32 +:1022100070B160780028F1D12069C178A06880F899 +:10222000E11080F87D70A0F8A46080F8A650E5E782 +:102230006570E3E7F0B50A4C002385B0A068194645 +:1022400090F87D207030FAF76FFF012598B1A068F3 +:1022500090F87C00232811D024280FD0684601E094 +:102260008C010020F5F7C8FD68B1009801A9C0787D +:102270008DF8040008E0657005B0F0BD607840F0AE +:1022800020006070F8E70021A06803AB162290F8E8 +:102290007C00FBF7ECF8002648B1A0689DF80C2004 +:1022A000162180F80C2180F80D11192136E02069E3 +:1022B000FBF799FC78B12169087900F00702A06862 +:1022C00080F85C20497901F0070180F85D1090F8F2 +:1022D0002F310BBB03E00020FFF777FFCCE790F82E +:1022E0002E31CBB900F164035F78974205D11A789B +:1022F0008A4202D180F897500EE000F5AC71028856 +:1023000021F8022990F85C200A7190F85D0048716C +:102310000D70E078E0F7F8FDA068212180F87D10CD +:1023200080F8A650A0F8A460A6E7F8B5F94C002301 +:102330001946A06890F87D207030FAF7F5FE40B39A +:102340002069FBF735FC48B32069FBF72BFC0746F7 +:102350002069FBF72BFC06462069FBF721FC0546AC +:102360002069FBF721FC01460097A06833462A4606 +:102370003030FBF7F7FCA168012591F87C001C28A0 +:1023800010D091F85A00012812D091F8250178B99F +:102390000BE0607840F001006070F8BDBDE8F840E7 +:1023A000002012E781F85A5002E091F8240118B198 +:1023B0001E2081F87D000BE01D2081F87D0001F5D5 +:1023C000A57231F8300BFBF73BFDE078E0F79CFDA0 +:1023D000A068002120F8A41F8570F8BD10B5CD4C71 +:1023E00000230921A06890F87C207030FAF79CFE49 +:1023F00048B16078002805D1A16801F8960F0873EC +:1024000001F81A0C10BD0120607010BD7CB5C14CE4 +:1024100000230721A06890F87C207030FAF784FE32 +:1024200038B36078002826D169462069FBF7D6FBCF +:102430009DF80000002500F02501A06880F8B0108C +:102440009DF8011001F0410180F8B11080F8A25010 +:10245000D0F8181100884988814200D0FFDFA068B9 +:10246000D0F818110D70D0F864110A7822B1FFDF8E +:1024700016E0012060707CBD30F8E82BCA80C16F87 +:102480000D71C16F009A8A60019ACA60C26F0821FB +:10249000117030F8E81CC06F4180E078E0F734FD3F +:1024A000A06880F87C507CBD70B59A4C002319461A +:1024B000A06890F87D207030FAF736FE012540B90B +:1024C000A0680023082190F87C207030FAF72CFED9 +:1024D00010B36078002820D1A06890F8AA00800787 +:1024E00012D42069FBF740FBA16881F8AB0020699A +:1024F00030F8052FA1F8AC204088A1F8AE0011F803 +:10250000AA0F40F002000870A0684FF0000690F893 +:10251000AA10C90702D011E065709DE490F87D20F3 +:10252000002319467030FAF7FFFD00B9FFDFA068FD +:1025300080F87D5080F8A650A0F8A460A06890F8BC +:102540007C10012906D180F87C6080F8A260E078D8 +:10255000E0F7DAFCA168D1F81801098842888A42BC +:10256000DBD101780429D8D10670E078E0F7CCFC03 +:10257000A06890F87C100029CFD180F8A2606BE4AD +:1025800070B5644DA86890F87C101A2902D002201A +:10259000687061E469780029FBD1002480F8A740C5 +:1025A00080F8A240D0F8181100884988814200D0F4 +:1025B000FFDFA868D0F818110C70D0F864110A7801 +:1025C0000AB1FFDF25E090F8A82072B180F8A8409A +:1025D0000288CA80D0F864110C71D0F864210E21F1 +:1025E00011700188D0F864010DE030F8E82BCA8042 +:1025F000C16F0C71C26F01211172C26F0D21117078 +:1026000030F8E81CC06F418000F090FEE878E0F7F9 +:102610007BFCA86880F87C401EE470B53D4CA16846 +:1026200091F87C20162A01D0132A02D191F8A82013 +:1026300012B1022060700FE46278002AFBD181F8A9 +:10264000E000002581F8A75081F8A250D1F81801C8 +:1026500009884088884200D0FFDFA068D0F81801C0 +:102660000078032800D0FFDF0321FE20FFF7F6FCEF +:10267000A068D0F864110A780AB1FFDF14E030F8DE +:10268000E02BCA8010F8081BC26F1171C16F0D7268 +:10269000C26F0D21117030F8E81CC06F418000F04E +:1026A00045FEE078E0F730FCA06880F87C504DE40F +:1026B00070B5184C09210023A06890F87C20703078 +:1026C000FAF732FD002518B12069007912281ED0D2 +:1026D000A0680A21002390F87C207030FAF724FDCE +:1026E00018B120690079142816D0206900791628BD +:1026F0001CD1A06890F87C101F2917D180F87C505D +:1027000080F8A250BDE870401A20FFF764BABDE817 +:10271000704063E68C010020A06800F87C5F45846F +:1027200080F82650BDE87040FFF79BBB0EE470B503 +:10273000F74C2079C00774D0206900230521C578A3 +:10274000A06890F87C207030FAF7EEFC98B1062D66 +:1027500011D006DC022D0ED0042D0CD0052D06D193 +:1027600009E00B2D07D00D2D05D0112D03D0607879 +:1027700040F0080060706078002852D12069FBF7B3 +:1027800057F900287FD0206900250226C178891ECC +:10279000162978D2DFE801F00B7734374822774EDC +:1027A00077254B467777773A54516B6E7174A068F2 +:1027B0000023012190F87F207030FAF7B5FC08BBA8 +:1027C0002069FBF799F9A16881F81601072081F8C3 +:1027D0007F0081F8A65081F8A25057E0FFF768FF0C +:1027E00054E0A06890F87C100F2901D066704DE08D +:1027F000617839B980F88150122180F87C1045E069 +:1028000000F0BFFD42E000F09BFD3FE0FBF729FA3E +:1028100003283BD12069FBF728FA00BFFFF7FDFE34 +:1028200034E03BE00079F9E7FFF7AAFE2EE0FFF77E +:102830003BFE2BE0FFF7EAFD28E0FFF7CFFD25E0A8 +:10284000A0680023194690F87D207030FAF76CFCE0 +:10285000012110B16078C8B901E0617016E0A0688C +:1028600020F8A45F817000F8276C0FE00BE0FFF701 +:102870005CFD0BE000F022FD08E0FFF7DBFC05E06B +:1028800000F0E8FC02E00020FFF79FFCA268F2E9FC +:102890003001401C41F10001C2E900015CE42DE976 +:1028A000F0419B4C2079800741D5607800283ED1CB +:1028B000E06801270026C17820461929856805F1BE +:1028C00070006FD2DFE801F04B3E0D6FBFBF801C80 +:1028D00034BF556287BFBFBFBFBC8B9598A2AEBF48 +:1028E000B80095F87F2000230121FAF71DFC00288D +:1028F0001DD1A068082180F87F1080F8A2608EE0CA +:10290000002395F87D201946FAF70EFC10B1A06857 +:1029100080F8A660A0680023194690F87C207030EB +:10292000FAF702FC002802D0A06880F8A26065E4F3 +:10293000002395F87C201946FAF7F6FB00B9FFDF73 +:10294000042008E0002395F87C201946FAF7ECFBF8 +:1029500000B9FFDF0C20A16881F87C004EE4002361 +:1029600095F87C201946FAF7DFFB00B9FFDF0D2050 +:10297000F1E7002395F87C201946FAF7D5FB00B95A +:10298000FFDFA0680F2180F8A77008E095F87C00B1 +:10299000122800D0FFDFA068112180F8A87080F80D +:1029A0007C102BE44FE0002395F87C201946FAF7C1 +:1029B000BBFB20B9A06890F8A80000B9FFDFA068B1 +:1029C000132180F8A770EAE795F87C00182800D05A +:1029D000FFDF1A20BFE7BDE8F04100F051BD002342 +:1029E00095F87C201946FAF79FFB00B9FFDF052018 +:1029F000B1E785F8A6601AE4002395F87C20194613 +:102A0000FAF792FB00B9FFDF1C20A4E7002395F83A +:102A10007D201946FAF788FB00B9FFDFA06880F82F +:102A2000A66004E4002395F87C201946FAF77CFBA5 +:102A300000B9FFDF1F208EE7BDE8F04100F0E8BCE1 +:102A400085F87D60D5E7FFDF71E710B5304C607821 +:102A5000002837D1207940070FD5A06890F87C0076 +:102A6000032800D1FFDFA06890F87F10072904D168 +:102A700001212170002180F87F10FFF710FF00F086 +:102A8000A5FCFFF754FEA078000716D5A068002328 +:102A9000052190F87C207030FAF746FB50B10820F1 +:102AA0006070A068D0F8641108780D2800D100206B +:102AB000087002E00020F8F720FFA068BDE8104091 +:102AC000FFF712BB10BD2DE9F041114C07464FF046 +:102AD0000005607808436070207981062046806890 +:102AE00002D5A0F8985004E0B0F89810491CA0F85E +:102AF000981000F00AFD012610B3A088000509D542 +:102B0000A06890F8821029B1A0F88E5018E000005B +:102B10008C010020A068B0F88E10491CA0F88E101F +:102B200000F0E2FCA068B0F88E10B0F8902091425E +:102B300006D3A0F88E5080F83A61E078E0F7E4F927 +:102B4000207910F0600F08D0A06890F8801021B9AB +:102B500080F880600121FEF7B3FD1FB9FFF775FF14 +:102B6000FFF797F93846FEF794FFBDE8F041F5F717 +:102B700052B9FD4A51789378194313D1114601286F +:102B8000896808D01079400703D591F87F0007289D +:102B900008D001207047B1F84C00098E884201D856 +:102BA000FEF72DBA00207047EF49C2788968012AE4 +:102BB00006D05AB1182A08D1B1F81011FBF72FB876 +:102BC000B1F822114172090A81727047D1F81811C7 +:102BD00089884173090A8173704770B5E24C0546D4 +:102BE0000E46A0882843A080A80703D5E80700D098 +:102BF000FFDFE660E80700D02661A80719D5F07866 +:102C0000062802D00B2814D10BE0A06890F87C10A5 +:102C100018290ED10021E0E93011012100F83E1CF5 +:102C200007E0A06890F87C10122902D1002180F8FA +:102C30008210280601D50820A07068050AD5A06872 +:102C40008288B0F87010304600F06EFC3046BDE867 +:102C50007040A9E761E43EB505466846F5F7A6F879 +:102C600000B9FFDF222200210098EBF7DAFB0321F5 +:102C70000098FAF7C5FE0098017821F01001017064 +:102C80002946FAF7E2FEB84C192D71D2DFE805F0BB +:102C900020180D3EB3B3B41266B3B4B459B3B3B392 +:102CA000B3A6B4B471718AB39300A168009891F887 +:102CB000151103E0A168009891F8E61001719BE0FE +:102CC000A068D0F81C110098491CFAF70AFF93E09D +:102CD000A1680098D1F8182192790271D1F81821D1 +:102CE00012894271120A8271D1F818215289C27177 +:102CF000120A0272D1F8182192894272120A827263 +:102D0000D1F81811C989FAF7C3FE75E0A068D0F8A8 +:102D100018110098091DFAF7F1FEA068D0F81811F3 +:102D200000980C31FAF7F4FEA068D0F8181100985A +:102D30001E31FAF7F3FEA1680098D831FAF7FCFECD +:102D40005AE0626900981178017191884171090A0D +:102D500081715188C171090A01724DE08349D1E93D +:102D60000001CDE9010101A90098FAF7FFFE43E057 +:102D700041E0A068B0F844100098FAF709FFA06895 +:102D8000B0F8E6100098FAF707FFA068B0F848100E +:102D90000098FAF7F5FEA068B0F8E8100098FAF786 +:102DA000F3FE29E0A168009891F83021027191F8B2 +:102DB0003111417120E0A06890F81301FAF70AFB85 +:102DC00001460098FAF727FFA06890F81201FAF779 +:102DD00001FB01460098FAF71AFF0DE0A06890F891 +:102DE0000D110098FAF73BFFA06890F80C110098BD +:102DF000FAF739FF00E0FFDFF4F7EBFF00B9FFDF80 +:102E00000098FFF7D1FE3EBD10B5574CA06890F872 +:102E1000121109B990F8641080F8641090F8131139 +:102E200009B990F8651080F865100020FEF7D3FE10 +:102E3000A068FAF7B9FF002806D0A068BDE81040E6 +:102E400000F59E71FBF708B810BDF8B5464E002599 +:102E50000446B060B5807570B57035700088F4F7C1 +:102E6000A2FFB0680088F4F7C4FFB4F8F800B168B6 +:102E7000401C82B201F17000F9F74AFF00B1FFDF98 +:102E800094F87D00242809D1B4F87010B4F810012A +:102E9000081A00B2002801DB707830B194F87C0089 +:102EA00024280AD0252808D015E0FFF7ADFF84F8C4 +:102EB0007D50B16881F897500DE0B4F87010B4F807 +:102EC0001001081A00B2002805DB707818B9FFF766 +:102ED0009BFF84F87C50A4F8F850FEF7B3FD00285F +:102EE0001CD1B06890F8E400FE2801D0FFF7B3FED3 +:102EF0001F4800901F4B204A21462846F8F720FC27 +:102F0000B0680023052190F87C207030FAF70CF9A6 +:102F1000002803D0BDE8F840F8F7EFB9F8BD10B5C8 +:102F2000FEF790FD20B10020BDE810400146CAE543 +:102F3000BDE81040F8F7BDBC70B50C461546064616 +:102F40004FF4B47200212046EBF76BFA268005B9E6 +:102F5000FFDF2868C4F818016868C4F81C01A86875 +:102F6000C4F864019AE400008C010020505802006B +:102F7000C72A0200732B0200DB2B0200EFF742BFCF +:102F80002DE9F0410D4607460621EFF731FE041EFC +:102F90003DD0D4F864110026087858B14A882188B9 +:102FA0008A4207D109280FD00E2819D00D2826D023 +:102FB00008283ED094F83A01D0B36E7010202870E3 +:102FC00084F83A61AF809BE06E7009202870D4F8D5 +:102FD0006401416869608168A9608089A88133E0E3 +:102FE0000846EFF738FF0746EFF7E3FB70B96E705E +:102FF0000E202870D4F864014068686011E008462B +:10300000EFF729FF0746EFF7D4FB08B100208EE465 +:103010006E700D202870D4F86401416869600089E1 +:103020002881D4F8640106703846EFF7BCFB67E0EE +:103030000EE06E7008202870D4F864014168696061 +:103040008168A960C068E860D4F86401067057E040 +:1030500094F83C01A0B16E70152028700BE000BF01 +:1030600084F83C61D4F83E016860D4F84201A8605D +:10307000D4F84601E86094F83C010028F0D13FE024 +:1030800094F84A0158B16E701C20287084F84A6187 +:103090000A2204F5A671281DEBF799F930E094F89F +:1030A000560140B16E701D20287084F85661D4F826 +:1030B0005801686024E094F8340168B16E701A20F9 +:1030C000287004E084F83461D4F83601686094F81C +:1030D00034010028F6D113E094F85C01002896D062 +:1030E0006E701620287007E084F85C61D4F85E01E9 +:1030F0006860B4F86201288194F85C010028F3D17B +:10310000012014E4F74A5061D170704770B50D4644 +:1031100004464EE0B4F8F800401CA4F8F800B4F8F7 +:103120009800401CA4F89800204600F0EEF9B8B1D1 +:10313000B4F88E00401CA4F88E00204600F0D4F9AC +:10314000B4F88E00B4F89010884209D30020A4F897 +:103150008E00012084F83A01E248C078DFF7D4FEFF +:1031600094F8A20020B1B4F89E00401CA4F89E0080 +:1031700094F8A60020B1B4F8A400401CA4F8A40060 +:1031800094F8140140B994F87F200023012104F140 +:103190007000F9F7C9FF20B1B4F89C00401CA4F8F6 +:1031A0009C002046FEF7A0FFB4F87000401CA4F875 +:1031B00070006D1EADB2ADD24CE5CA4AC2E906013F +:1031C000704770B50446B0F8980094F88010D1B1FB +:1031D000B4F89A100D1A2D1F94F8960040B194F887 +:1031E0007C200023092104F17000F9F79DFF70B1E4 +:1031F000B4F88E60204600F088F938B1B4F8900039 +:10320000801B001F03E0C0F10205E5E72846A84245 +:1032100000DA0546002D01DC00201BE5A8B219E507 +:10322000012802D0022805D102E0012904D001E0E2 +:10323000022901D0002070470120704710B50128F5 +:1032400004D0022804D0FFDF204610BD0124FBE794 +:103250000224F9E770B5A34CA06890F87C001F2801 +:1032600004D0607840F001006070F3E42069FAF760 +:10327000C4FCD8B1206901220179407901F007012D +:1032800061F30705294600F0070060F30F21A068ED +:1032900080F8A2200022A0F89E20232200F87C2F94 +:1032A000D0F8B400BDE87040FEF7B9BD0120FEF7CC +:1032B0008CFFBDE870401E20FEF78DBCF8B5894C30 +:1032C00000230A21A06890F87C207030F9F72CFFC9 +:1032D00038B32069FAF76CFCC8B12069FAF762FCD0 +:1032E00007462069FAF762FC06462069FAF758FC9F +:1032F00005462069FAF758FC01460097A068334656 +:103300002A463030FAF72EFDA068FAF74DFDA16885 +:10331000002081F8A20081F87C00BDE8F840FEF7AB +:10332000A0BD607840F001006070F8BD6D4810B538 +:1033300080680088EFF78FFDBDE81040EFF724BAF2 +:1033400010B5684CA36893F87C00162802D00220C0 +:10335000607010BD60780028FBD1D3F818010022FE +:1033600000F11E010E30C833F9F758FEA0680021A5 +:10337000C0E92E11012180F88110182180F87C10FD +:1033800010BD10B5574CA06890F87C10132902D0DE +:103390000220607010BD61780029FBD1D0F81811AF +:1033A00000884988814200D0FFDFA068D0F818115A +:1033B00020692631FAF7CDFBA1682069DC31FAF7E4 +:1033C000D0FBA168162081F87C0010BD10B5454CDB +:1033D000207900071BD56078002818D1A06800214B +:1033E00090F8E400FEF73AFEA06890F8E400FE28AA +:1033F00000D1FFDFA068FE2180F8E41090F87F1074 +:10340000082904D102212170002180F87F1010BD0D +:1034100070B5344D24210024A86890F87D20212A1D +:1034200005D090F87C20232A18D0FFDF12E490F812 +:10343000122112B990F813212AB180F87D10A868E2 +:1034400080F8A64006E400F87D4F847690F8B1003D +:103450000028F4D00020FEF7BEFBF0E790F8122120 +:1034600012B990F813212AB180F87C10A86880F86E +:10347000A24077E580F87C400020FEF7ACFBF5E742 +:1034800070B5184C0025A068D0F8181103884A8838 +:103490009A4219D10978042916D190F87C2000238A +:1034A00019467030F9F740FE00B9FFDFA06890F8C8 +:1034B000AA10890703D4012180F87C1004E080F869 +:1034C000A250D0F818010570A0680023194690F8A2 +:1034D0007D207030F9F728FE002802D0A06880F81F +:1034E000A6503FE58C010020B0F89020B0F88E1077 +:1034F0008A4201D3511A00E000218288521D8A427B +:1035000002D3012180F89610704710B590F8821010 +:1035100041B990F87C20002306217030F9F704FEB1 +:10352000002800D0012010BD1144C2780D48891D2B +:1035300089B28068012A06D042B1182A05D190F8D4 +:1035400012213AB10AE0A0F822117047D0F8180110 +:103550008180704790F8132102B90021A0F8101162 +:10356000704700008C01002070B58E4C0829207A2D +:103570006CD2DFE801F004176464276B6B6458B108 +:10358000F3F73BFCF4F77CFB0020A072F3F718FD87 +:10359000BDE87040F3F7DEBFF4F79BFBBDE8704079 +:1035A000F1F791BBDFF784FBF4F7C4FAD4E900012B +:1035B000F1F765F92060A07A401CC0B2A0722828FB +:1035C00024D370BDA07A0025401EC6B2E068304406 +:1035D000F4F797F810B9E1687F208855A07A27287A +:1035E00028BF0125DFF764FBA17A01EB4102C2EBA2 +:1035F000811108442946F4F7CDFAA07A282809D287 +:10360000401CC0B2A072282828BF70BDBDE8704021 +:10361000F3F7D6BC207A002818BF00F085F8F3F73E +:10362000D0FEF3F77DFFF4F754FB0120E0725E4813 +:103630000078DFF769FCBDE87040F1F744BB002873 +:1036400008BF70BDBDE8704000F06EB8FFDF70BD10 +:1036500010B5544C207A002804BF0C2010BD002067 +:103660002072E072607AF1F761FF607AF2F7CAF9CE +:10367000607AF1F7FEFB00280CBF1F20002010BD70 +:10368000002270B5474C06460D46207A68B122727A +:10369000E272607AF1F74AFF607AF2F7B3F9607A82 +:1036A000F1F7E7FB002808BFFFDF3F48E560067041 +:1036B00070BD70B5050007D0A5F5E8503B494C3802 +:1036C00081429CBF122070BD364CE068002804BFC8 +:1036D000092070BD207A00281CBF0C2070BD344822 +:1036E000F1F76CFB6072202804BF1F2070BDF1F75A +:1036F000DFFB2060002D1CBF284420600120656096 +:10370000207200F011F8002070BD2649CA7A002A04 +:1037100004BF002070471E22027000224270CB6856 +:103720004360CA7201207047F0B585B0F1F7C0FB65 +:103730001C4D0746394668682C6800EB800046003F +:103740002046F2F7A4F8B04206DB6868811B3846D1 +:10375000F1F795F80446286040F235762146384660 +:10376000F2F795F8B04204DA31463846F1F787F8B7 +:10377000044600208DF8000040F6E110039004207C +:103780008DF8050001208DF8040068460294F1F7D9 +:1037900037FD687A6946F1F7AFFD002808BFFFDF03 +:1037A00005B0F0BD68120020AC010020B5EB3C0074 +:1037B000693502002DE9F0410C4612490D68114AA5 +:1037C000114908321160A0F12001312901D30120F3 +:1037D0000CE0412810D040CC0C4F94E80E0007EBD1 +:1037E0008000241F50F8807C3046B8472060054890 +:1037F000001D0560BDE8F081204601F02BFDF5E7D6 +:1038000006207047100502400100000158580200D0 +:1038100010B55548F2F7ECFB00B1FFDF5248401CF1 +:10382000F2F7E6FB002800D0FFDF10BD2DE9F14FD5 +:103830004E4E82B0D6F800B001274B48F2F7E0FBBD +:10384000DFF8248120B9002708F10100F2F7EEFB30 +:10385000474C00254FF0030901206060C4F8005177 +:10386000C4F80451029931602060DFF808A11BE020 +:10387000DAF80000C00617D50E2000F068F8EFF364 +:10388000108010F0010072B600D001200090C4F842 +:103890000493D4F8000120B9D4F8040108B901F068 +:1038A000E3FC009800B962B6D4F8000118B9D4F866 +:1038B00004010028DCD0D4F804010028CCD137B1B1 +:1038C000C6F800B008F10100F2F79AFB11E008F128 +:1038D0000100F2F795FB0028B6D1C4F80893C4F8AC +:1038E0000451C4F800510E2000F031F81E48F2F7E0 +:1038F0009DFB0020BDE8FE8F2DE9F0438DB00D4605 +:10390000064600240DF110090DF1200818E000BF53 +:1039100004EB4407102255F827106846EAF757FDD4 +:1039200005EB8707102248467968EAF750FD68469C +:10393000FFF77CFF10224146B868EAF748FD641C97 +:10394000B442E5DB0DB00020BDE8F0836EE700284F +:1039500009DB00F01F02012191404009800000F1C5 +:10396000E020C0F880127047AD01002004E500405F +:1039700000E0004010ED00E0B649002008707047FC +:1039800070B5B54D01232B60B44B1C68002CFCD0E6 +:10399000002407E00E6806601E68002EFCD0001DA3 +:1039A000091D641C9442F5D3002028601868002883 +:1039B000FCD070BD70B5A74E0446A94D30780228E2 +:1039C00000D0FFDFAC4200D3FFDF7169A5480129B9 +:1039D00003D847F23052944201DD03224271491C60 +:1039E0007161291BC1609F49707800F030F900288F +:1039F00000D1FFDF70BD70B5964C0D4661788842EE +:103A000000D0FFDF964E082D4BD2DFE805F04A04C8 +:103A10001E2D4A4A4A382078022800D0FFDF0320B2 +:103A20002070A078012801D020B108E0A06801F042 +:103A3000B7F904E004F1080007C8FFF7A1FF05206B +:103A40002070BDE87040F1F73EB9F1F731FA014658 +:103A50006068F1F71CFFB04202D2616902290BD302 +:103A60000320F2F764FA12E0F1F722FA01466068E7 +:103A7000F1F70DFFB042F3D2BDE870409AE720782D +:103A800002280AD0052806D0FFDF04202070BDE8F8 +:103A9000704000F0D2B8022000E00320F2F747FAAD +:103AA000F3E7FFDF70BD70B50546F1F701FA694C29 +:103AB00060602078012800D0FFDF6A49012008708B +:103AC0000020087104208D6048716548C86002209C +:103AD0002070607800F0BBF8002800D1FFDF70BDD7 +:103AE00010B55C4C207838B90220F2F736FA18B9D4 +:103AF0000320F2F732FA08B1112010BD5A48F1F74D +:103B00005DF96070202804D00120207000206061E1 +:103B100010BD032010BD2DE9F0471446054600EB0B +:103B200084000E46A0F1040801F04DF907464FF05D +:103B3000805001694F4306EB8401091FB14201D255 +:103B4000012100E0002189461CB10069B4EB900F0F +:103B500002D90920BDE8F0872846DDF773FB90B94C +:103B6000A84510D3BD4205D2B84503D245EA0600A8 +:103B7000800701D01020EDE73046DDF763FB10B978 +:103B8000B9F1000F01D00F20E4E738483849006848 +:103B9000884205D0224631462846FFF7F1FE1AE05A +:103BA000FFF79EFF0028D5D12A4800218560C0E993 +:103BB0000364817000F085F808B12E4801E04AF2F4 +:103BC000F87060434FF47A7100F2E730B0FBF1F027 +:103BD0001830FFF768FF0020BCE770B505464FF0CE +:103BE000805004696C432046DDF72CFB08B10F20A0 +:103BF00070BD01F0E8F8A84201D8102070BD1B4844 +:103C00001B490068884203D0204601F0C9F810E043 +:103C1000FFF766FF0028F1D10E4801218460817012 +:103C200000F04FF808B1144800E014481830FFF7CE +:103C30003AFF002070BD01F0C9BA10B5054C60789C +:103C4000F1F717F900B9FFDF0020207010BDF1F780 +:103C500053BB0000B001002004E5014000E4014036 +:103C6000105C0C0078120020F73902005C00002084 +:103C7000BEBAFECA50280500645E0100A85B0100C0 +:103C80004FF08050D0F830010A2801D00020704752 +:103C90000120704700B5FFF7F3FF20B14FF08050CF +:103CA000D0F8340108B1002000BD012000BD4FF064 +:103CB0008050D0F830010E2801D00020704701203C +:103CC00070474FF08050D0F83001062803D0401CD8 +:103CD00001D000207047012070474FF08050D0F88D +:103CE00030010D2801D000207047012070474FF0AF +:103CF0008050D0F83001082801D000207047012002 +:103D000070474FF08050D0F83001102801D00020CB +:103D100070470120704700B5FFF7F3FF30B9FFF798 +:103D2000DCFF18B9FFF7E3FF002800D0012000BD39 +:103D300000B5FFF7C6FF38B14FF08050D0F834011E +:103D4000062803D3401C01D0002000BD012000BD87 +:103D500000B5FFF7B6FF48B14FF08050D0F83401FE +:103D6000062803D3401C01D0012000BD002000BD67 +:103D70004C4909680160002070474A4908600020EA +:103D8000704701218A0720B1012804D042F20400C3 +:103D90007047916700E0D1670020704742490120D9 +:103DA000086042F20600704708B504233E4A19072E +:103DB000103230B1C1F80433106840F001001060D7 +:103DC0000BE0106820F001001060C1F808330020FB +:103DD000C1F80801354800680090002008BD011FA7 +:103DE0000B2909D8304910310A6822F01E0242EA34 +:103DF000400008600020704742F205007047000153 +:103E000000F18040C0F8041900207047000100F163 +:103E10008040C0F8081900207047000100F1804080 +:103E2000D0F80009086000207047012801D9072058 +:103E300070471F4A52F8200002680A4302600020BF +:103E40007047012801D907207047194A52F820000D +:103E500002688A43026000207047012801D90720C8 +:103E60007047134A52F8200000680860002070472D +:103E7000020010494FF0000003D0012A01D00720B2 +:103E800070470A6070474FF080410020C1F8080178 +:103E90004FF0E020802180F800140121C0F80011CB +:103EA0007047000000040040000500400801004089 +:103EB0001C590200780500406249634B0A68634957 +:103EC0009A42096801D1C1F31001016000207047D6 +:103ED0005C495D4B0A685D49091D9A4201D1C0F3F6 +:103EE00010000860002070475649574B0A68574930 +:103EF00008319A4201D1C0F31000086000207047D9 +:103F000030B5504B504D1C6842F20803AC4202D011 +:103F1000142802D203E0112801D3184630BDC30093 +:103F20004B481844C0F81015C0F81425002030BDC7 +:103F30004449454B0A6842F209019A4202D00628D8 +:103F400002D203E0042801D308467047404A012109 +:103F500042F83010002070473A493B4B0A6842F261 +:103F600009019A4202D0062802D203E0042801D3B4 +:103F700008467047364A012102EBC000416000202C +:103F8000704770B52F4A304E314C156842F2090324 +:103F900004EB8002B54204D0062804D2C2F800180F +:103FA00007E0042801D3184670BDC1F31000C2F821 +:103FB0000008002070BD70B5224A234E244C1568BD +:103FC00042F2090304EB8002B54204D0062804D271 +:103FD000D2F8000807E0042801D3184670BDD2F8D3 +:103FE0000008C0F310000860002070BD174910B52C +:103FF0000831184808601120154A002102EBC0035F +:10400000C3F81015C3F81415401C1428F6D300206B +:1040100006E0042804D302EB8003C3F8001807E08D +:1040200002EB8003D3F80048C4F31004C3F800483F +:10403000401C0628EDD310BD04490648083108602D +:10404000704700005C000020BEBAFECA00F50140C7 +:1040500000F001400000FEFF814B1B6803B1984750 +:10406000BFF34F8F7F4801687F4A01F4E06111433D +:104070000160BFF34F8F00BFFDE710B5EFF3108075 +:1040800010F0010F72B601D0012400E0002400F00E +:10409000DDF850B1DDF77BF9F0F7B5FCF1F7E9FE9B +:1040A000F2F79CFB71490020086004B962B6002059 +:1040B00010BD2DE9F0410C460546EFF3108010F0DD +:1040C000010F72B601D0012600E0002600F0BEF814 +:1040D00020B106B962B60820BDE8F08101F04AF9C6 +:1040E000DDF759F90246002001234709BF0007F117 +:1040F000E02700F01F01D7F80071CF40F9071BD06F +:10410000202803D222FA00F1C90727D141B20029A1 +:1041100004DB01F1E02191F8001405E001F00F014A +:1041200001F1E02191F8141D4909082916D203FA7A +:1041300001F717F0EC0F11D0401C6428D5D3F2F72B +:104140002BFB4B4A4B490020F2F76EFB47494A488C +:1041500008602046DDF77DF860B904E006B962B674 +:1041600041F20100B8E73E4804602DB12846DDF772 +:10417000BDF818B1102428E0404D19E02878022835 +:1041800002D94FF4805420E007240028687801D039 +:10419000D8B908E0C8B1202817D8A878212814D8A1 +:1041A000012812D001E0A87878B9E8780B280CD85B +:1041B000DDF7F1F82946F1F742FEF0F7E3FB00F0F6 +:1041C00035FE2846DDF7B0F8044606B962B61CB1E4 +:1041D000FFF753FF20467FE700207DE710B5044638 +:1041E00000F034F800B101202070002010BD2449F7 +:1041F00008600020704770B50C4622490D682149BF +:10420000214E08310E60102807D011280CD012283A +:104210000FD0132811D0012013E0D4E90001FFF7DB +:1042200048FF354620600DE0FFF727FF002520609E +:1042300008E02068FFF7D2FF03E01149206808601A +:10424000002020600F48001D056070BD07480A4926 +:104250000068884201D101207047002070470000AB +:10426000C80100200CED00E00400FA055C0000200D +:104270003814002000000020BEBAFECA24590200F3 +:1042800004000020100502400100000100B586492D +:1042900010F1080F08BFF82024D014DC10F1280F0B +:1042A00008BFD8201ED010F1140F08BFEC2019D081 +:1042B00010F1100F08BFF02014D010F10C0F08BF40 +:1042C000F4200FD00CE010F1040F08BFFC2009D03F +:1042D000002818BF032805D0042804BF086000BDCB +:1042E000FFDF00BD086000BD00B57049012808BFB0 +:1042F000032004D0022816BFFFDF042000BD0860A1 +:1043000000BD70B505460C4616461046F2F768FC2F +:10431000022C08BF4FF47A7105D0012C0CBF4FF46A +:10432000C86140F6340144183046F2F7ACFC204432 +:1043300049F6797108444FF47A71B0FBF1F0281A0C +:1043400070BD70B505460C460846F3F77EFC022C9E +:1043500008BF40F24C4105D0012C0CBF40F634019F +:104360004FF4AF5149F6CA62511A08444FF47A71BA +:1043700000F2E140B0FBF1F0281A801E70BD70B56C +:10438000064615460C460846F3F75FFC022D08BFAB +:104390004FF47A7105D0012D0CBF4FF4C86140F67F +:1043A0003401022C08BF40F24C4205D0012C0CBF56 +:1043B00040F634024FF4AF52891A084449F6FC61C2 +:1043C00008444FF47A71B0FBF1F0301A70BD70B54B +:1043D00004460E460846F2F703FC05463046F2F75F +:1043E00052FC28444AF2AB3108444FF47A71B0FBD6 +:1043F000F1F0201A801E70BD2DE9F04107461E46DF +:104400000D4614461046082A16BF04284EF62830DA +:10441000F2F7E6FB07EB4701C1EBC71100EBC10068 +:10442000022D08BF40F24C4105D0012D0CBF40F6D3 +:1044300034014FF4AF5147182846F3F706FC381AF9 +:104440004FF47A7100F6B730B0FBF1F52046F2F781 +:1044500023FC28443044401DBDE8F08170B505467A +:1044600014460E460846F2F7BBFB05EB4502C2EBCD +:10447000C512C0EBC2053046F2F705FC2D1A2046E6 +:10448000082C16BF04284EF62830F2F7A9FB284462 +:104490004FF47A7100F6B730B0FBF1F52046F2F731 +:1044A000FBFB2844401D70BD0C150040101500405A +:1044B000F0B585B00C460546F9F7B6FA07466E78B2 +:1044C000204603A96A46EEF750F981198EB258B119 +:1044D000012F02D0032005B0F0BD204604AA0399A5 +:1044E000EEF765F8049D01E0022F0FD1ED1C042EBC +:1044F0000FD32888BDF80010001D80B2884201D873 +:10450000864202D14FF00000E5E702D34FF00200EF +:10451000E1E74FF00100DEE7F848C078FF2814BF5C +:1045200001200020704770B5F54D0C00686803D07D +:10453000F9F7E4F948B10EE0F9F7E0F918B968685D +:10454000F9F7DCF907E0012070BD022CFBD0EB4845 +:10455000807DFF28F7D1002070BD10B5E74C1D22EB +:104560000021A01CE9F75DFF7F206077FF20207409 +:10457000E070A075A08920F060002030A0810020AC +:10458000207010BD70B5DE49486001200870DE481B +:10459000DC49002541600570D84C1D222946A01C2D +:1045A000E9F73FFF7F206077FF202074E070A0755F +:1045B000A08920F060002030A081257070BD2DE919 +:1045C000F047CE4C06462078CD4F4FF0010907F159 +:1045D0000808002520B13878D0B998F80000B8B1A3 +:1045E00098F8000068B387F80090D8F804103C22CF +:1045F00039B37570301DE9F7EAFE0520307086F892 +:1046000004903878002818BF88F8005005D015E0CD +:104610003D70A11C4FF48E72EAE71D220021A01C00 +:10462000E9F7FFFE7F206077FF202074E070A0751F +:10463000A08920F060002030A08125700120BDE815 +:10464000F0870020BDE8F087AC48007800280CBF58 +:1046500001200020704770B5A94D0C00686803D098 +:10466000F9F74CF948B10EE0F9F748F918B968685C +:10467000F9F744F907E0012070BD022CFBD09F48F8 +:10468000C078FF28F7D1002070BD10B510B1022806 +:1046900010D014E09A4C6068F9F730F978B9606886 +:1046A000C17811F03F0F1CBF007910F0100F06D138 +:1046B000012010BD9148007B10F0080FF8D10020B8 +:1046C00010BD2DE9FF4F81B08C4E0746DDE90F0587 +:1046D0003178DDF83880994600291CBF05B0BDE867 +:1046E000F08F8949097800291CBF05B0BDE8F08F1B +:1046F000F07295B1012A08BF012403D0022A14BF29 +:10470000FFDF022486F80F4086F81E907C4C4FF0A5 +:10471000000965B1022D18D01BE0012A08BF012451 +:1047200003D0022A14BFFFDF0224B473ECE76068F1 +:10473000F9F7E4F868B96068C17811F03F0F1CBF61 +:10474000007910F0100F04D10FE0307B10F0080F4B +:104750000BD103216068F8F785FF30B14178090972 +:1047600031740088C0F30B007082CDF8009060684F +:10477000F9F7C4F801460128BDF8000006F1020A65 +:104780000CBF40F0010020F00100ADF800009AF8E5 +:104790000A2012F0020F23D1022918BF20F00200D4 +:1047A0001ED000BFADF8000010F0020F04D00029A9 +:1047B00008BF40F0080901D020F00809ADF80090CA +:1047C0006068C17811F03F0F1AD0017911F0020F23 +:1047D00016D05FEA050B06D0F9F790F850B135E036 +:1047E00040F00200DEE7F9F789F848B96068F9F7A8 +:1047F00085F82BE0BBF1020F02D0B07DFF2825D059 +:104800009AF80A00800860F38209ADF8009000BFB2 +:104810009AF80A004109BDF8000061F34610ADF8AE +:10482000000080B20090BDF80000B08104216068F3 +:10483000F8F718FF002804BFB08920F060000ED000 +:10484000B0F80100C004C00C05D009E049F0040034 +:10485000ADF80000DCE7B08920F060004030B081A6 +:104860006068C17811F03F0F08D0017911F0400F56 +:1048700004D00621F8F7F6FE0078707760681DB165 +:10488000F9F73CF838B10BE0F9F738F830BB60685D +:10489000F9F734F804E0022D47D0F078FF2844D12E +:1048A0006068C17811F03F0F3FD0017911F0010F1E +:1048B0003BD006F1040A06F10309B8F1FF0F0ED050 +:1048C000524649464046F7F7F7FC002808BFFFDF8D +:1048D00099F8000040F0020089F8000025E0F8F7A0 +:1048E00058FE89F800006068F8F72AFE07280DD204 +:1048F00051466068F8F72FFE17E00000881200208C +:10490000CC010020C6120020D40100206068F8F716 +:1049100017FE072809D100216068F8F7A3FE016897 +:10492000CAF800108088AAF8040060681DB1F8F782 +:10493000E5FF58B10FE0F8F7E1FF00281CBF05B014 +:10494000BDE8F08F6068F8F7D9FF04E0022D35D09C +:10495000B07DFF2832D16068C17811F03F0F2DD0B3 +:10496000017911F0020F29D006F1170806F1160996 +:10497000022F18BF032F08D0F8F7E2FD07280CD24A +:1049800041466068F8F7F5FD16E002980168C8F83E +:1049900000108088A8F804000EE06068F8F7D0FDE9 +:1049A000072809D101216068F8F75CFE0168C8F8A2 +:1049B00000108088A8F8040089F80070002D04BF5A +:1049C00005B0BDE8F08F6068F8F798FF022804BFD3 +:1049D00005B0BDE8F08F06F11F056068F8F7D7FF56 +:1049E000B37AC3F1FF01884228BF084605D9B189CF +:1049F00021F0600101F14001B181C2B203EB050178 +:104A00006068F8F7CCFFB17A0844B07205B0BDE831 +:104A1000F08FB0480178002918BF7047012202705A +:104A2000007B10F0080F14BF07200620FCF785BE9E +:104A3000A848C17B002908BF70470122818921F065 +:104A40006001403181810378002B18BF70470270EC +:104A500011F0080F14BF07200620FCF76EBE2DE9E9 +:104A6000FF5F9C4FDDF838B0914638780E4600283D +:104A70001CBF04B0BDE8F09FBC1C1D2200212046D5 +:104A8000E9F7CFFC944D4FF0010A84F800A0686864 +:104A9000F8F756FD18B3012826D0022829D0062899 +:104AA00018BFFFDF2AD000BF04F11D016868F8F7C6 +:104AB00090FD2072484604F1020904F10108FF2824 +:104AC00021D04A464146F7F7F7FB002808BFFFDF31 +:104AD00098F8000040F0020088F8000031E060899A +:104AE00040F013006081DFE7608940F015006081CD +:104AF000E0E7608940F010006081D5E7608940F010 +:104B000012006081D0E76868F8F743FD88F800007C +:104B10006868F8F715FD072804D249466868F8F771 +:104B20001AFD0EE06868F8F70BFD072809D100218F +:104B30006868F8F797FD0168C9F800108088A9F83F +:104B4000040084F809B084F80CA000206073FF20F2 +:104B5000A073A17A11F0040F08BF20752AD004F1C8 +:104B6000150804F11409022E18BF032E09D0686835 +:104B7000F8F7E6FC07280CD241466868F8F7F9FC1C +:104B800016E000980168C8F800108088A8F80400B2 +:104B90000EE06868F8F7D4FC072809D1012168689D +:104BA000F8F760FD0168C8F800108088A8F80400D4 +:104BB00089F800607F20E0760398207787F800A0CE +:104BC00004B00620BDE8F05FFCF7B7BD2DE9FF5F3C +:104BD000424F81469A4638788B4600281CBF04B065 +:104BE000BDE8F09F3B48017831B1007B10F0100F19 +:104BF00004BF04B0BDE8F09F1D227C680021204660 +:104C0000E9F70FFC48464FF00108661C324D84F866 +:104C1000008004F10209FF280BD04A463146F7F71D +:104C20004BFB002808BFFFDF307840F002003070F7 +:104C30001CE06868F8F7ADFC30706868F8F780FC35 +:104C4000072804D249466868F8F785FC0EE06868D2 +:104C5000F8F776FC072809D100216868F8F702FD0B +:104C60000168C9F800108088A9F8040004F11D014A +:104C70006868F8F7AEFC207284F809A060896BF3CD +:104C8000000040F01A00608184F80C8000206073FE +:104C9000FF20A07320757F20E0760298207787F8A8 +:104CA000008004B00720BDE8F05FFCF746BD094A6C +:104CB000137C834205BF508A884200200120704740 +:104CC0000448007BC0F3411002280CBF01200020E3 +:104CD0007047000088120020CC010020D401002081 +:104CE000C2790D2341B342BB8188012904D9490807 +:104CF000818004BF012282800168012918BF002938 +:104D000030D001686FEA0101C1EBC10202EB011270 +:104D100081796FEA010101EB8103C3EB8111114439 +:104D20004FEA914201608188B2FBF1F301FB13214C +:104D300081714FF0010102E01AB14FF00001C17121 +:104D400070478188FF2908D24FF6FF7202EA4101BD +:104D50008180FF2984BFFF2282800168012918BF5A +:104D60000029CED10360CCE7817931B1491E11F021 +:104D7000FF0181711CBF002070470120704710B5F2 +:104D80000121C1718171818004460421F1F7A8F9E4 +:104D9000002818BF10BD2068401C206010BD000016 +:104DA0000B4A022111600B490B68002BFCD0084B09 +:104DB0001B1D186008680028FCD0002010600868DF +:104DC0000028FCD070474FF08050406970470000C9 +:104DD00004E5014000E4014002000B464FF00000F2 +:104DE000014620D0012A04D0022A04D0032A0DD182 +:104DF00003E0012002E0022015E00320072B05D28A +:104E0000DFE803F00406080A0C0E100007207047C4 +:104E1000012108E0022106E0032104E0042102E070 +:104E2000052100E00621EFF7E6BF0000E24805217A +:104E300081700021017041707047E0490A78012AB1 +:104E400005D0CA681044C8604038F0F7EDBC8A68E5 +:104E500010448860F8E7002819D00378D849D94A67 +:104E600013B1012B0ED011E00379012B00D06BB9E7 +:104E700043790BB1012B09D18368643B8B4205D286 +:104E8000C0680EE00379012B02D00BB100207047FF +:104E900043790BB1012BF9D1C368643B8B42F5D246 +:104EA00080689042F2D801207047C44901220A70FC +:104EB000027972B100220A71427962B104224A7108 +:104EC000826852328A60C068C860BB49022088701C +:104ED00070470322EFE70322F1E770B5B74D0446B0 +:104EE00000202870207988B100202871607978B17D +:104EF0000420B14E6871A168F068EFF7C0FCA860AB +:104F0000E0685230E8600320B07070BD0120ECE72B +:104F10000320EEE72DE9F04105460226F0F7B0FB4D +:104F2000006800B1FFDFA44C01273DB12878B8B17B +:104F3000012805D0022811D0032814D027710DE0D4 +:104F40006868C82808D30421F0F7D5FC20B1686848 +:104F5000FFF773FF012603E0002601E000F014F9DB +:104F60003046BDE8F08120780028F7D16868FFF767 +:104F700072FF0028E2D06868017879B1A07804282F +:104F800000D0FFDF01216868FFF7A7FF8B49E078B9 +:104F900000F003F90028E1D1FFDFDFE7FFF785FF2D +:104FA0006770DBE72DE9F041834C0F46E1788842DA +:104FB00000D0FFDF00250126082F7DD2DFE807F0B3 +:104FC000040B28283D434F57A0780328C9D0022856 +:104FD000C7D0FFDFC5E7A078032802D0022800D0A1 +:104FE000FFDF0420A07025712078B8BB0020FFF7F8 +:104FF00024FF72480178012906D08068E06000F043 +:10500000F9F82061002023E0E078F0F770F8F5E788 +:10501000A078032802D0022800D0FFDF207880BBD0 +:10502000022F08D05FF00500F0F781FFA078032879 +:1050300040D0A57095E70420F6E7A078042800D0BA +:10504000FFDF022004E0A078042800D0FFDF012069 +:10505000A1688847FFF75EFF054633E003E0A078CC +:10506000042800D0FFDFBDE8F04100F08DB8A07843 +:10507000042804D0617809B1022800D0FFDF20782D +:1050800018B1BDE8F04100F08AB8207920B10620BF +:10509000F0F74DFF25710DE0607840B14749E078A9 +:1050A00000F07BF800B9FFDF65705AE704E00720E5 +:1050B000F0F73DFFA67054E7FFDF52E73DB1012D49 +:1050C00003D0FFDF022DF9D14BE70420C0E7032016 +:1050D000BEE770B5050004D0374CA078052806D18E +:1050E00001E0102070BD0820F0F737FF08B1112053 +:1050F00070BD3548EFF762FEE070202806D0012130 +:10510000F0F714FD0020A560A07070BD032070BDF5 +:10511000294810B5017809B1112010BD8178052901 +:1051200006D0012906D029B101210170002010BD4F +:105130000F2010BD00F033F8F8E770B51E4C05469F +:10514000A07808B1012809D155B12846FFF783FEA0 +:1051500040B1287840B1A078012809D00F2070BD57 +:10516000102070BD072070BD2846FFF79EFE03E0AB +:1051700000212846FFF7B1FE1049E07800F00DF855 +:1051800000B9FFDF002070BD0B4810B5006900F0CA +:1051900029F8BDE81040EFF796BDF0F7ADB8064826 +:1051A00010B5C078EFF765FE00B9FFDF0820F0F713 +:1051B000BEFEBDE8104039E6DC010020A813002047 +:1051C0003D860100FF1FA107A54F020010B5134C3B +:1051D0002060201D0160114810300260001D036036 +:1051E000002010BD0E490A6848F202139A43024398 +:1051F0000A6070470A4A116848F2021301EA030084 +:10520000994311607047054B02465B4210201344DE +:10521000FC2B01D811600020704700000006004000 +:10522000C80602401EF0040F0CBFEFF30880EFF336 +:105230000980014A104700004368010001B41EB410 +:1052400000B5F1F71FF801B40198864601BC01B022 +:105250001EBD00008269034981614FF001001044C6 +:10526000704700003D5202000FF20C0000F10000F8 +:10527000694641F8080C20BF70470000FEDF18495E +:105280000978F9B90420714608421BD10699154ADC +:10529000914217DC0699022914DB02394878DF288D +:1052A00010D10878FE2807D0FF280BD14FF001005D +:1052B0004FF000020C4B184741F201000099019A8F +:1052C000094B1847094B002B02D01B68DB681847B5 +:1052D0004FF0FF3071464FF00002034B18470000BB +:1052E00028ED00E0006002005940020004000020A8 +:1052F000174818497047FFF7FBFFDBF75FFF00BD5A +:10530000154816490968884203D1154A13605B683D +:10531000184700BD20BFFDE70F48104909688842C3 +:1053200010D1104B18684FF0FF318842F2D080F353 +:1053300008884FF02021884204DD0B4802680321D1 +:105340000A4302600948804709488047FFDF0000A0 +:10535000B8130020B8130020001000000000002047 +:10536000040000200060020014090040B92F000072 +:1053700001530200F0B44046494652465B460FB422 +:1053800002A0013001B50648004700BF01BC8646B7 +:105390000FBC8046894692469B46F0BC7047000091 +:1053A0000911000004207146084202D0EFF3098180 +:1053B00001E0EFF30881886902380078102813DBD8 +:1053C00020280FDB2C280BDB0A4A12680A4B9A4272 +:1053D00003D1602804DB094A1047022008607047A7 +:1053E000074A1047074A1047074A12682C321268CA +:1053F000104700005C000020BEBAFECA9B130000EC +:10540000B5370200F7410200040000200D4B0E49A1 +:1054100008470E4B0C4908470D4B0B4908470D4BED +:10542000094908470C4B084908470C4B06490847EF +:105430000B4B054908470B4B034908470A4B0249E8 +:105440000847000035BF00000DC10000792D0000A5 +:10545000F32B0000812B0000012E0000B713000089 +:105460003F2900007D2F000025520200002101602D +:105470004160017270470A6802600B7903717047DE +:10548000B59700005B990000BD9A0000279B0000C3 +:10549000619B00009D9B0000CF9B0000FF9B0000D4 +:1054A000939C0000A9980000E79A000033120000C6 +:1054B000FF4300004B440000B14400003F450000A2 +:1054C000654600003B4700006D470000454800006E +:1054D000DF48000033490000194A0000394A000043 +:1054E000AD160000D1160000F11500004D160000A9 +:1054F00003170000971700001F610000DF62000023 +:10550000C5660000DF67000067680000E56800000E +:10551000496900006D6A00003D6B0000A96B000046 +:105520005B4A0000614A00006B4A0000D34A000059 +:10553000FF4A0000AD4C0000D74C00000F4D0000AA +:10554000854D0000714E0000874E00006F44000042 +:105550009B4E0000BD4E0000034F000033120000C0 +:10556000331200003312000033120000C125000086 +:1055700047260000632600007F2600000D2800005B +:10558000A9260000B3260000F5260000172700001A +:10559000F32700003528000033120000331200000A +:1055A000DB840000FB840000058500003F850000CF +:1055B0006D8500005D860000EB860000FF86000020 +:1055C0004D87000063880000098A0000318B0000CD +:1055D0005D740000498B000033120000331200009C +:1055E000DFB7000041B900009BB9000015BA000008 +:1055F000C1BA00000100000000000000100110010D +:105600003A0200001A02000405060000070000002C +:10561000FFFFFFFF0000FFFFE7B300001B3D00009E +:1056200053210000A7740000459000000000000016 +:10563000F5920000D1920000E39200000000020009 +:105640000000000000020000000000000001000057 +:10565000000000008782000067820000D582000001 +:105660002D250000EF2400000F250000CFAA000028 +:10567000FBAA000003AD0000195A0000F5820000EB +:1056800000000000258300007B25000000000000D2 +:105690000000000000000000E5AB0000000000007A +:1056A000AD5A00000300000001555555D6BE898E45 +:1056B00000006506650C651200000903AD05510880 +:1056C000000055044508350C6FFC000003FE000087 +:1056D00065FA00006BFC00000D9201002F03010031 +:1056E000000000004808000048080000975700002C +:1056F00097570000D943000047B200002B77000005 +:1057000063200000392F02004BA60100D95700008A +:10571000D9570000FD430000D9B20000B377000064 +:10572000D72000007D2F020061A6010070017001EA +:10573000400038005C0024006801200200000300E3 +:10574000656C7462000000000000000000000000B2 +:1057500000000000870000000000000000000000C2 +:1057600000000000BE83605ADB0B376038A5F5AA45 +:105770009183886C01000000BF3301009142010059 +:10578000000000010206030405000000070000FB02 +:10579000349B5F80000080001000000000000000CB +:1057A00000000000060000000A00000032000000B7 +:1057B00073000000B4000000F401FA0096006400D9 +:1057C0004B0032001E0014000A0005000200010018 +:1057D0000041000000000000CFB801008DBA0100B8 +:1057E0001BBA0100E3B801000000000011BD010078 +:1057F000AAAED7AB154120100C0802170D0101020B +:105800000909010106020918180301010909030326 +:1058100005000000555555252627D6BE898E000067 +:1058200061F4010041F101009FF3010085E80100EE +:10583000C9170200EDF40100F401FA0096006400BB +:105840004B0032001E0014000A0005000200010097 +:105850002541000000000000B93E0200D13E0200D8 +:10586000E93E0200013F0200313F0200593F0200C1 +:10587000833F0200B73F0200DB3B0200173B020000 +:10588000373C020007520200F15F01000160010095 +:105890002D600100FF600100076101001961010036 +:1058A000833D02009D3D0200713D02007B3D0200F0 +:1058B000A93D0200DF3D020001380200FF3D020069 +:1058C0000D3E02001B3E02002B3E0200433E020042 +:1058D0005B3E0200713E0200013802000000000041 +:1058E000D3BC000029BD00003FBD0000D94D02001F +:1058F0002D380200F9380200D35002001151020085 +:105900003B510200D15E01004163010001380200F9 +:105910000138020001380200013802001C05004075 +:105920002005004000100200485902000800002035 +:10593000E8010000441100006C590200F001002051 +:10594000C8110000A01100000118133814024420EF +:105950000B4008064813730B1B2030041AB60401D1 +:0C596000A4021710327F0B743C11C4002D +:020000040007F3 +:1010000000B20020D5130700DD130700DF1307002F +:10101000E1130700E3130700E513070000000000D9 +:10102000000000000000000000000000C1130700E5 +:10103000E913070000000000EB130700ED130700A1 +:10104000EF130700EF130700EF130700EF1307007C +:10105000EF130700EF130700EF130700EF1307006C +:10106000EF130700EF130700EF130700EF1307005C +:10107000EF130700EF130700EF130700EF1307004C +:101080007D280700EF130700EF130700EF13070099 +:10109000EF130700EF130700A1250700EF13070068 +:1010A000EF130700EF130700EF130700EF1307001C +:1010B000EF130700EF13070000000000000000001E +:1010C000EF130700EF130700EF130700EF130700FC +:1010D0009D240700EF130700EF1307000000000036 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:10120000DFF80CD000F04EF900480047E94B07002A +:1012100000B2002030B450E8012F93B2C4892344B7 +:101220008489A34228BF1B1B0489A34202BFBFF3CA +:101230002F8F002007E0C3EA020340E80134002CAE +:10124000E9D14FF001000A6030BC704750E8012F2F +:10125000C2EA024240E801210029F7D1704730B4C8 +:1012600050E8022F1FFAA2F3C488A34202BFBFF3C3 +:101270002F8F00200DE0C48923448489A34228BF16 +:101280001B1BC2EA034340E80234002CE8D14FF0B4 +:1012900001000A6030BC704750E8022FC2EA2242C7 +:1012A00040E802210029F7D17047034653E8022F96 +:1012B000D988B2EB324F4FF0000017BF92B241EA2B +:1012C000014142EA014104E05A68B2EB324F08BFE3 +:1012D000012043E80212002AE8D1704730B40446E6 +:1012E00054E8000F0D4644E80053002BF8D1156078 +:1012F00030BC704730B4044654E8000F40EA0105A2 +:1013000044E80053002BF7D1156030BC704730B46F +:10131000044654E8000F00EA010544E80053002B9E +:10132000F7D1156030BC704730B4044654E8000F64 +:1013300080EA010544E80053002BF7D1156030BC6A +:10134000704730B4044654E8000F00EB010544E850 +:101350000053002BF7D1156030BC704730B4044601 +:1013600054E8000FA0EB010544E80053002BF7D12F +:10137000156030BC704770B404464FF0000054E86C +:10138000006F0D68AE4207BF44E80023012044E827 +:1013900000630E60002B1CBF0020F0E770BC70479C +:1013A00030B4044654E8000F88422CBF451A054665 +:1013B00044E80053002BF5D1156030BC70470000A5 +:1013C0001EF0040F0CBFEFF30880EFF3098007F065 +:1013D00031BB00000648804706480047FEE7FEE7AD +:1013E000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7D5 +:1013F000A525070001120700202A04DB203A00FA85 +:1014000002F1002070479140C2F1200320FA03F35B +:1014100019439040704700000048704760BC0700C7 +:1014200040EA01039B0703D009E008C9121F08C066 +:10143000042AFAD203E011F8013B00F8013B521EE6 +:10144000F9D27047D2B201E000F8012B491EFBD25D +:1014500070470022F6E710B513460A4604461946BF +:10146000FFF7F0FF204610BD421C10F8011B0029B9 +:10147000FBD1801A704730B504460020034600E0D7 +:101480005B1C934203D2E05CCD5C401BF8D030BDC6 +:10149000034611F8012B00F8012B002AF9D1184658 +:1014A00070470000064C074D06E0E06840F001037D +:1014B00094E8070098471034AC42F6D3FFF7A4FE37 +:1014C00060CC070080CC07002DE9F0478AB01446B5 +:1014D000DDF848A055461F4615F9046B0096804676 +:1014E00089462B460246214602A800F09DFC02A92F +:1014F0005246084600F094FC534602AA4146404634 +:1015000000F07EFC534602AA2146204600F078FCFB +:101510002B464A4639463846009600F085FC52462E +:10152000394602A800F07CFC02A92B464246084638 +:10153000009600F079FC02A92B4622460846009648 +:1015400000F072FC2B46424621462046009600F0F1 +:101550006BFC534622464946484600F051FC2B4658 +:1015600002AA41462046009600F05EFC5346224601 +:101570003946384600F044FC2B464A463946384640 +:10158000009600F051FC324602A9204600F016FEFB +:101590000AB0BDE8F08770B514468AB006460D461D +:1015A0001A46214602A8019300F03AFC019B02AAC8 +:1015B0003146304600F024FC02A9019B2246084631 +:1015C00000F01EFC019B02AA2946284600F018FCE8 +:1015D0000AB070BD8B1802448B4200D1704713F8DB +:1015E000010D02F8010DF7E72DE9F0479846B3F930 +:1015F0000230894613F11F0148BF03F13E01DD1D92 +:1016000048BF03F10E05EC104E11944275B228BF8D +:1016100014462946074600F087FA22464946FFF756 +:10162000D9FFB8F90230B3EBC40F4FEAC40220D29D +:10163000D21A07EB86010020C2F120068F420FD399 +:1016400008F124082A463946404600F078FA012875 +:101650000FD02B4642463846BDE8F04700F0C0BDEB +:1016600051F8044D24FA02F303430B6004FA06F028 +:10167000E4E7BDE8F0872DE9F04793F9006092B008 +:10168000044689461046314615461F4600F06CFA5E +:10169000002840F091803A46494602A800F0C0FB7D +:1016A0003B4602AA21460AA800F0AAFB02A9084666 +:1016B0003A4600F0B5FB3B462A464946484600F00C +:1016C0009FFB07F104083A462946284600F0A8FB8C +:1016D00043462A4621462046009600F054FA4346E7 +:1016E0002A4629462846009600F04DFA43462A46E7 +:1016F00021462846009600F097FB3B462A462146A5 +:10170000204600F07DFB43462246214628460096AF +:1017100000F039FA434600962A462146204600F05A +:1017200032FA2368DB074AD5334642462146204633 +:1017300000F0CEF931468246204600F032FD06F137 +:101740008043013B54F8232042EACA7244F8232024 +:101750003A462146284600F063FB43460AAA29463A +:101760002846009600F060FB43460AAA2946284610 +:10177000009600F059FB0AA9084643462A460096FF +:1017800000F052FB3B460AAA2146204600F038FBF7 +:1017900002AA434610462146009600F045FB324619 +:1017A0002946204600F00AFD4946284600F006FD7D +:1017B00002A9484600F002FD12B0BDE8F0873146AC +:1017C000204600F0EEFCC3E700487047B0CB0700AE +:1017D0002DE9F04F2DED028BEDB08946789E0590F6 +:1017E0001946B6F9023096F9004013F11F0748BFB9 +:1017F00003F13E0747F3471707F1FF3B24AB0025F2 +:1018000043F82B506CAB03EB8B0307EE902A4CA8EC +:1018100096F9012043F8805C43F8605CFFF7DAFE3C +:1018200096F9012054A81144FFF7D4FE21464CA894 +:1018300000F09AF98046002840F0428154A800F058 +:1018400093F90390002840F03D8106F1240A3A46BE +:101850004CA9504600F073F9012840F035813A4612 +:1018600054A9504600F06BF90128069040F02C81F5 +:101870001CAD3B46524654A9284600F0A0F90DF194 +:101880003008039B48F82B3017EE902A4946404613 +:101890003346FFF7A9FE4146404653462A46009785 +:1018A00000F010FA0DF5B87B53462A464CA914A84F +:1018B000009700F007FA22465846059900F07EFC92 +:1018C000A3000793059B0BEB840903EB84014846B7 +:1018D00000F074FC06F14403194634A8049300F0A8 +:1018E0006DFC049BA10059183CA800F067FC331D57 +:1018F00008EE903A594634AA2846009400F094FA2B +:101900004B465A463CA934A80096FFF7DDFD18EE79 +:10191000902A23462946284600F051F92A4649468E +:1019200058463346FFF737FE039B0893049B099301 +:10193000059B39464046CDE90A3B00F012FC39468A +:10194000834614A800F00DFC5845B8BF58461FFA4E +:1019500080FB0BF1FF3109B24046049100F070FCAE +:101960000499B0F1000814A818BF4FF0010800F066 +:1019700067FC002814BF0220002048EA00080DF18F +:101980002009224659F8281024A800F017FC0DF170 +:10199000B009A3001944484600F010FC214628462F +:1019A00000F0C2F8069B2B60ABF1020824AB08EEF6 +:1019B000105A0FFA88F80493B8F1000F2ADA18EEDB +:1019C000902A18EE101A18EE100A234600F0F7F8C5 +:1019D00018EE102A049833464946FFF7DCFD0499B7 +:1019E0003A46504600F0ABF8012805D004993B4632 +:1019F0005246084600F0F4FB013C64B24CAA2306B0 +:101A000053D5039BB3FA83F040096DB0BDEC028B54 +:101A1000BDE8F08F334618EE102A0498D6F8A4508B +:101A20004946A84741460CA800F00AFC4146B0F1DF +:101A3000000B14A818BF4FF0010B00F001FC0028A8 +:101A400014BF022000204BEA000B08AB53F82B1008 +:101A500031B3224634A800F0B1FB079B3CA81944DF +:101A600000F0ACFB18EE102A33463CA934A8FFF76F +:101A700092FD18EE903A0499009434AA44A800F01C +:101A8000D3F9049A00964B463CA934A8FFF71CFDF5 +:101A900018EE101A18EE100A334644AA00F0B0F9F6 +:101AA00008F1FF380FFA88F886E7049B52F82410F3 +:101AB00053F824304B40039919430391013C9EE7AE +:101AC0002846A2E74046A0E703989EE700000000F2 +:101AD000C3F10803DB0070B501330446002003A501 +:101AE0005B1920C940CAAD1920C4184720C940CA93 +:101AF000754120C420C940CA754120C420C940CACC +:101B0000754120C420C940CA754120C420C940CABB +:101B1000754120C420C940CA754120C420C940CAAB +:101B2000754120C4404170BD002310B51C465AB217 +:101B3000914200DC10BD40F823400133F7E710B5B7 +:101B4000013A52B2130601D5002010BD50F82240D0 +:101B500051F822309C4205D802F1FF32F2D24FF008 +:101B6000FF30F2E70120F0E710B500231A465CB21F +:101B7000A14203DCB2FA82F0400910BD50F82340C4 +:101B800001332243F3E737B51D469DF91830019321 +:101B90000446FFF79DFF019B38B91A4621462846A7 +:101BA000FFF7CDFF0128019B07D02A46214620469A +:101BB00003B0BDE8304000F013BB03B030BDF0B55A +:101BC0000F46A1B006461946384615461C46FFF793 +:101BD000CBFF20B13046FFF7A7FF21B0F0BD224672 +:101BE0003946684600F0EAFA294608A800F0E6FA05 +:101BF00010A82146FFF798FF012318A81093FFF7BC +:101C000093FF224608A96846FFF799FF28B92246A4 +:101C100010A9304600F0D2FADFE7009BDA0709D4BA +:101C20002146684600F0BDFA2246294610A800F079 +:101C3000E9FBE6E7089BDB0707D4214608A800F08C +:101C4000B0FA2246294618A8F1E7002823461CDDF1 +:101C500008AA6946684600F0C3FA2146684600F0C3 +:101C6000A0FA224618A910A8FFF769FF002805DA94 +:101C700010A923462A460846FFF72AFF10A9234643 +:101C800018AA084600F0ACFACEE708A96A4608464A +:101C900000F0A6FA214608A800F083FA224610A90F +:101CA00018A8FFF74CFF002805DA18A923462A4692 +:101CB0000846FFF70DFF18A9234610AA084600F0B2 +:101CC0008FFABEE72DE9F04FB5B004AC9DF9F8509E +:101CD0001E4680462B46204600F0BAF824AB294623 +:101CE0003046CDE9023400F03CFAC0EB851004B276 +:101CF000002C2146B8BF04F11F01634241F3471194 +:101D000003F01F0314A804F01F0758BF5F42FFF73A +:101D10000BFF002F08B22BDD14AB002203EB800178 +:101D2000C7F1200E1346AB4217D36B00019314ABDF +:101D300003EB85096F1E34AB012603EB8707002CEC +:101D400054DA34AB03EB86062A4656F8C81C4046E4 +:101D500000F034FA35B0BDE8F08F56F823C00CFA25 +:101D600007F0024341F8042B01332CFA0EF2DAE7B4 +:101D700014AB2A46314603EB800000F01FFAD4E78B +:101D80000FFA82FE5AF8C83C53F82EB034AB03EB7E +:101D90008202013052F8803C0B44BBEB030334BF9A +:101DA000012200229B4518BF11465CF8C82C42F85E +:101DB0002E30019B42B29A42E2DB731A5E42294600 +:101DC00014A85E4100F0EDF934AB03EB850329461E +:101DD00053F8802C57F8803C484643EAC273013CD4 +:101DE00047F8803C24B200F0DCF9A8E734AB0020CF +:101DF000C6F1010C014603EB860A03EB8C0CD8E715 +:101E000030B51C4691B0054693F90030684600F0A5 +:101E10001FF8D4F8AC3069462846984711B030BD59 +:101E200013460A46FFF7ECBF37B51D469DF918303B +:101E30000193044600F0D4F9019B38B12A462146AB +:101E4000204603B0BDE83040FFF742BE03B030BDCE +:101E50002DE9F04F08B4F8CA04B451F8042BA3FBE1 +:101E6000028940F8048B4FF0000AE4FB629A4FF0BD +:101E7000000BE5FB62AB4FF0000CE6FB62BC4FF0E1 +:101E8000000EE7FB62CE51F8042B4FF00008E3FB95 +:101E9000628940F8048BE4FB629AE5FB62ABE6FBE7 +:101EA00062BCE7FB62CE51F8042B4FF00008E3FB65 +:101EB000628940F8048BE4FB629AE5FB62ABE6FBC7 +:101EC00062BCE7FB62CE51F8042B4FF00008E3FB45 +:101ED000628940F8048BE4FB629AE5FB62ABE6FBA7 +:101EE00062BCE7FB62CE51F8042B4FF00008E3FB25 +:101EF000628940F8048BE4FB629AE5FB62ABE6FB87 +:101F000062BCE7FB62CE40F8049B40F804AB40F8AB +:101F100004BB40F804CB40F804EB0CBC052B00F0EC +:101F20001E810C68A0F11400A1F11401A2F11402A9 +:101F300052F804EB4FF0000550F8046BE4FB6E56CA +:101F400052F804EB50F8047BE4FB6E6752F804EBA4 +:101F500050F8048BE4FB6E7852F804EB50F8049BC5 +:101F6000E4FB6E8952F804EB50F804ABE4FB6E9A84 +:101F7000A0F1140052F8044B51F804EB4FF0000CA0 +:101F8000E4FB6EC540F804CB51F804EBE4FB6E565D +:101F900040F8045B51F804EBE4FB6E6740F8046B17 +:101FA00051F804EBE4FB6E7840F8047B51F804EB45 +:101FB000E4FB6E8940F8048B51F804EBE4FB6E9A65 +:101FC000A0E80006062B00F0CA800C68A0F11800FB +:101FD000A1F11801A2F1180252F804EB4FF000052C +:101FE00050F8046BE4FB6E5652F804EB50F8047B97 +:101FF000E4FB6E6752F804EB50F8048BE4FB6E7858 +:1020000052F804EB50F8049BE4FB6E8952F804EBA1 +:1020100050F804ABE4FB6E9A52F804EB50F804BBA2 +:10202000E4FB6EABA0F1180052F8044B51F804EB3E +:102030004FF0000CE4FB6EC540F804CB51F804EB04 +:10204000E4FB6E5640F8045B51F804EBE4FB6E676A +:1020500040F8046B51F804EBE4FB6E7840F8047B25 +:1020600051F804EBE4FB6E8940F8048B51F804EB63 +:10207000E4FB6E9A40F8049B51F804EBE4FB6EAB72 +:10208000A0E8000C072B6AD008B40C68A0F11C0073 +:10209000A1F11C01A2F11C0252F804EB4FF0000563 +:1020A00050F8046BE4FB6E5652F804EB50F8047BD6 +:1020B000E4FB6E6752F804EB50F8048BE4FB6E7897 +:1020C00052F804EB50F8049BE4FB6E8952F804EBE1 +:1020D00050F804ABE4FB6E9A52F804EB50F804BBE2 +:1020E000E4FB6EAB52F804EB50F804CBE4FB6EBC9F +:1020F000A0F11C0052F8044B51F804EB4FF0000320 +:10210000E4FB6E3540F8043B51F804EBE4FB6E56FB +:1021100040F8045B51F804EBE4FB6E6740F8046B95 +:1021200051F804EBE4FB6E7840F8047B51F804EBC3 +:10213000E4FB6E8940F8048B51F804EBE4FB6E9AE3 +:1021400040F8049B51F804EBE4FB6EAB40F804ABA1 +:1021500051F804EBE4FB6EBCA0E8001808BCBDE835 +:10216000F08F013910B549B2041D0A06CBB204D470 +:10217000013954F82120002AF7D001335BB273B142 +:1021800003F18042013A50F82220002022B9013B9D +:1021900000EB431318B210BD52080130F6E71846A1 +:1021A000F9E700EB81010023884200D3704751F822 +:1021B000042D43EA52030B60D307F5E710B5002363 +:1021C0005CB2A24200DC10BD51F8234040F823402D +:1021D0000133F5E7000000000000000000000000EF +:1021E000C3F10803DB0070B50133002403A500BF71 +:1021F0005B1920C940CAAD1B20C0184720C940CA7E +:10220000B54120C020C940CAB54120C020C940CA3C +:10221000B54120C020C940CAB54120C020C940CA2C +:10222000B54120C020C940CAB54120C020C940CA1C +:10223000B54120C06441B4FA84F0400970BD00BFCC +:102240004A11012350F8220001F01F0103FA01F1A5 +:10225000084070472DE9F042082288B00C468146BC +:10226000FFF7ACFFCB6A03930B6B04934B6B0593A7 +:102270008B6B0693CB6B0793002708236A4669464E +:102280006846CDE901770097FFF722FC0823054651 +:102290006A4649464846FFF71BFC236B0393636B72 +:1022A0000493A36B0593E36B0544CDE906376A46B7 +:1022B000082369466846FFF70BFC082305446A4675 +:1022C00049464846FFF704FC236A0093636A01937A +:1022D000A36A0293A36B0693E36B07930544082359 +:1022E0006A4649464846CDE904770397FFF7F0FB75 +:1022F000636A0093A36AA26B0193E36A0293049258 +:10230000636BE26B0393CDE90523236A07932E18D1 +:1023100008236A4649464846FFF7DAFBE36A00931A +:10232000236B0193636B0293236A0693A36A07935B +:10233000351808236A4649464846CDE9047703978D +:10234000FFF74EFF236B0093636B0193A36B029324 +:10235000E36B0393636A0693E36A07932E1A0823D9 +:102360006A4649464846CDE90477FFF739FF636B73 +:102370000093A36B0193E36B0293236A0393636A55 +:102380000493A36ACDE90537236B0793361A082314 +:102390006A4649464846FFF723FFA36B0093E36B69 +:1023A000CDE90137636A0393A36A0493E36ACDE935 +:1023B0000537636B0793361A08236A464946484631 +:1023C000FFF70EFF361A0E4C0FD436B908224946D5 +:1023D0002046FFF7B4FB01280FD0082322464946C8 +:1023E0004846FFF7FDFE361AEFE708232246494626 +:1023F0004846FFF76DFB3618F7D408B0BDE8F08209 +:10240000B4CB070070B5036813F001060546144607 +:1024100005D013460A460146FFF75AFB06462146F9 +:102420002846FFF7BEFE46B104F18042013A55F856 +:10243000223043F0004345F8223070BD2DE9F041D1 +:1024400015468AB004460E461C22002103A8FFF759 +:1024500002F82F1D95F9008003232A4631462046B5 +:102460000293FFF7DDFC3B4602AA21462046CDF849 +:102470000080FFF7D9FC2B46324621462046FFF765 +:10248000BFFCCDF800803B4605F184022146204682 +:10249000FFF779FB0AB0BDE8F08100002DE9F041BB +:1024A0001E4E4FF48271D6F8040130B11C48C26848 +:1024B000521CC260304605F0E1FF00254FF4A077C2 +:1024C00007EB85018AB23046B25812B389B205F0E3 +:1024D000D5FF1348103000EB0514204608F006FE27 +:1024E000104811492246401AC008042101EB00405F +:1024F0000EA105F087FD616819B1204608F04CFD7A +:1025000007E0A16811B1204608F046FD206800B13F +:1025100080476D1C022DD3D3BDE8F08100400240FE +:1025200070590020E8CC070098CC070074696D65ED +:10253000725F66697265202830782578290000006E +:1025400000F0ACB970B50E46144900EB400001EB49 +:10255000C0051446E86A183520B101280FD00228BA +:1025600005D113E0284600F0CFF9A04201D20024A3 +:1025700011E022463146284600F0FEF90BE02846DD +:1025800000F0C2F9A042F4D20446F2E731462846F0 +:1025900000F0C5F90446204670BD0000749100208B +:1025A00006F046B9F0B5A449A4484FF080540B6832 +:1025B000D4F830210078D4F83411551CC0F303103E +:1025C00006D0944601270026BCF1060F03D00AE08E +:1025D00003F0FF0CF6E7B4F82453DFF864C2C5F348 +:1025E0000425CCF80050DDB2062D06D1032804D115 +:1025F000DFF854C2934DCCF87450551C04D0944667 +:10260000BCF1060F03D00AE003F0FF0CF8E7D4F8A2 +:102610004452DFF838C2C5F34235CCF80050DDB281 +:10262000062D08D1032806D1894DD5F800C02CF01D +:10263000807CC5F800C0551C04D09446BCF1060F40 +:1026400003D00BE003F0FF0CF8E74FF08045C5F82E +:102650000C61C5F810617D4D2D1F2E60DDB2062D79 +:1026600008D1032806D1DFF8E4C103250CF1640C7E +:10267000CCF80050DDB2062D10D103280ED1DFF8C2 +:10268000D4C10525CCF80050724D78352F60714DBE +:1026900008352E600CF104063F253560551C04D02A +:1026A00016460D46062E03D05BE0DEB20546F9E77E +:1026B000ED1E012D55D9684D2D68684E3560664D6B +:1026C0002D1D2D68361D3560634D08352D68361D6E +:1026D0003560614D0C352D68361D35605E4D103509 +:1026E0002D68361D35605C4D14352D68361D3560FE +:1026F000594D18352D68594E20363560564D1C35CC +:102700002D68361D3560544D20352D68361D3560D9 +:10271000514D24352D68361D35604F4D28352D68B7 +:10272000361D35604C4D2C352D68361D35604A4DB3 +:1027300030352D68494E40363560474D34352D686B +:10274000361D3560444D38352D68361D3560424D97 +:102750003C352D68361D35603F4D40352D68361DA2 +:102760003560551C03D01646062E02D007E0DEB2B7 +:10277000FAE7D4F858523A4E05F04F053560551C2B +:1027800003D01346062B02D008E0DBB2FAE7354847 +:102790000368DB0702D06FF001030360062A07D14C +:1027A000C91E022904D93048016841F480610160E2 +:1027B00027487438016841F470010160BFF34F8FFE +:1027C000BFF36F8FD4E94C104FF01022062907D1C8 +:1027D000C01E032804D9D2F808021C491C31086025 +:1027E000D2F80002002803DBD2F8040200281FDA26 +:1027F000012006F06DF91521C2F800121B4803688C +:10280000002BFCD0C2F8041201680029FCD0002083 +:1028100006F05EF9BFF34F8F0D48F0380168144A97 +:1028200001F4E06111430160BFF34F8F00BFFDE78A +:10283000114910480860F0BDE00F00F0E80F00F00B +:10284000403501400DF0ADBA00C007403C050040E6 +:10285000FCED00E0105600400404001020C50040CC +:10286000E40E0040000400403C17004000E401403A +:102870000400FA050090D0036C5A0020064808B501 +:10288000002101600068009005F070FC05F044FA3A +:102890000028FBD108BD00000001014010B5124C1A +:1028A00002202061606111A0A06104F17800E06164 +:1028B0004FF4805020620020A06260620BA1A164EE +:1028C000E0620D49E1641021A065C4E91410E065DF +:1028D0000AA1E01DFEF7DCFD09A12046FEF7D8FDA8 +:1028E0002020A07110BD0000749100205465726D0D +:1028F000696E616C00000000ECA10020525454008D +:1029000053454747455200000269C1688A4203D8CF +:102910008068401A104400E0501A401E70472DE9AC +:10292000F047C4681746894606464FF000083069EC +:10293000A04201D9051B02E0B168201A0D1AB06847 +:102940006D1E001BA84200D80546BD4200D33D467F +:1029500070682A4620444946FEF762FDB0687F1B36 +:102960002C44A844A944A04200D10024F460002FC4 +:10297000DDD14046BDE8F0872DE9F04104468846A8 +:10298000D4E90207C51BE168606816460844B542F1 +:1029900006D94146FEF744FDB819E060BDE8F08174 +:1029A0002A464146FEF73CFD761B08EB0501324600 +:1029B0006068FEF735FDE660F0E702E008C8121F28 +:1029C00008C1002AFAD170477047002001E001C118 +:1029D000121F002AFBD170470121202803DA814011 +:1029E0000548014003E0402802DA2038814009B15F +:1029F0000120704700207047FC06FFBD800701D012 +:102A0000002070470120704740680068401E08425F +:102A100001D10120704700207047C3688B4206D85F +:102A200011440069491E814201D8012070470020ED +:102A30007047000030B585B00D46164C1621ADF834 +:102A400000101ECC0DF1040C8CE81E00124C02216B +:102A5000012221706270A0700320E0702171592062 +:102A60006071FE20A071694604F109007DDF002835 +:102A70000ED1BDF800002A46411CE17109212172E6 +:102A8000BDF808100844ADF8080001A9034872DF3A +:102A900005B030BD20B70700A45E0020A859002073 +:102AA00010B586B0062418220D496846FEF7B8FC1A +:102AB0000C480D49401AC008042101EB00400BA14D +:102AC00005F09CFA69462046FFF7B4FF002805D1BF +:102AD0000A4C207874DF0121207873DF06B010BD26 +:102AE00030B70700A0CC070098CC0700416476659A +:102AF00072746973696E672E2E2E0000A85900202B +:102B00002DE9F05FDFF89CB05C46DBF84890DBF81D +:102B1000246003F027F8216B4718751A22482349CF +:102B2000401AC108042000EB0140804620A105F0B6 +:102B300065FA216B4944B94200D1002508232A4691 +:102B4000384601F0DFFD0700184817494FF0010A29 +:102B5000A1EB00004FEAD0010AEB014404D020466B +:102B60001AA105F04BFA19E002F0FCFF00223146F1 +:102B700001F0F4F9DBF828200546D946AA4208D12D +:102B8000404619A105F03AFAC9E9075AC9F8186090 +:102B900004E020462B461A4905F03BFA3846BDE8CA +:102BA000F09F00003C760020E8CC070098CC07009E +:102BB000456E746572206E72665F6466755F6170E3 +:102BC000705F636F6E74696E756500004661696C55 +:102BD000656420746F20636F7079206669726D7709 +:102BE0006172652E0000000053657474696E672081 +:102BF0006170702061732076616C69640000000070 +:102C000050BD070008B51346024600930648074B1F +:102C1000C01AC008012303EB00400B4604A105F0D5 +:102C200000FA06F0E7FB0000E8CC070098CC0700AC +:102C300052656365697665642061206661756C74B0 +:102C4000212069643A203078253038782C20706350 +:102C50003A203078253038782C20696E666F3A201B +:102C60003078253038780000024606480649401A78 +:102C7000C008012101EB004004A105F0C3F906F0F2 +:102C8000B9FB0000E8CC070098CC070052656365EB +:102C90006976656420616E206572726F723A2030C9 +:102CA00078253038782100002DE9F04107461E4E86 +:102CB0001E481F49326A401AC508012A04D0032061 +:102CC00000EB05401BA12BE04FF44050184B174C74 +:102CD0004168E31A234A0220DB0800EB03449142D7 +:102CE00006D1C1023B462048726B00F05DFF90B1F7 +:102CF00002F038FF01461C483B464130B26900F003 +:102D000053FF58B1042000EB054018A105F076F9F7 +:102D10000120BDE8F081204618A101E0204626A14F +:102D200005F06CF90020F4E73C760020E8CC0700C1 +:102D300098CC0700426F6F742076616C696461748F +:102D4000696F6E206661696C65642E204E6F207617 +:102D5000616C69642061707020746F20626F6F74A1 +:102D60002E000000DBE5B1519C78002041707020FE +:102D700069732076616C696400000000426F6F74B3 +:102D80002076616C69646174696F6E206661696C3C +:102D900065642E20536F66744465766963652069A7 +:102DA000732070726573656E742062757420696E2D +:102DB00076616C69642E0000426F6F742076616CDE +:102DC00069646174696F6E206661696C65642E2048 +:102DD00041707020697320696E76616C69642E00A1 +:102DE0002DE9F84F254C8146924660880E46814277 +:102DF00041D800274FF6FF788DF80070684600F044 +:102E000075F822786078A188884201DA401C00E0D9 +:102E10000020C0B2904204D19DF8000000F0B2F84A +:102E200027E065786078884201DA401C00E00020E5 +:102E300060709DF8000000F0A5F8454519D0A06825 +:102E4000B9F1000F40F835A00DD066B16188E06897 +:102E5000324605FB01004946FEF7E2FAA06800EBA6 +:102E6000C500868002E000EBC50087800020BDE839 +:102E7000F88F0420FBE70920F9E70000EC59002057 +:102E800010B50E4C03E0401C00E0002020702078BC +:102E90006178814210D022786188E068A36802FBE3 +:102EA000010003EBC20153F8322089889047207853 +:102EB000A1888842E9DAE6E710BD0000EC5900205D +:102EC00030B5CB0008339DB293074FF0000401D01A +:102ED000072030BD044B9A602A44DA605C701C7095 +:102EE00058809980002030BDEC59002070B5044610 +:102EF00007F042F9012803D010A11D2000F086F848 +:102F0000EFF3108172B61D4A9368012083B9906077 +:102F10004FF0E020D0F88051194B1D401560C0F8EB +:102F20008031D0F8843153604217C0F884210020EA +:102F30002070002900D162B670BD00002E2E5C2EDC +:102F40002E5C2E2E5C2E2E5C2E2E5C636F6D706FB1 +:102F50006E656E74735C6C69627261726965735CD4 +:102F60007574696C5C6170705F7574696C5F706CAE +:102F70006174666F726D2E6300000000B07D0020EA +:102F8000FC06FFBD10B5044607F0F6F8012803D093 +:102F90000DA12B2000F03AF81B498868002811D0B9 +:102FA000002C0FD1EFF3108072B60B684FF0E022C7 +:102FB000C2F800314B68C2F8043100228A60002850 +:102FC00000D162B610BD00002E2E5C2E2E5C2E2E7F +:102FD0005C2E2E5C2E2E5C636F6D706F6E656E7452 +:102FE000735C6C69627261726965735C7574696C3B +:102FF0005C6170705F7574696C5F706C6174666F32 +:10300000726D2E6300000000B07D00201CB56A4682 +:10301000CDE90001002144F20200FFF7F3FD1CBDE1 +:103020002DE9F843274F274857F8246F846CB96877 +:10303000AC2901D024B106E0406B0444361A02E00A +:1030400002F0A4FD0446204820492346401A4FEAD6 +:10305000D008042101EB084005461D4A1DA1009639 +:1030600004F0DFFFB868AC2806D13246A4F58041F1 +:103070001748FEF700FA00B3324621461448FEF71F +:10308000FAF9D0B128463346224620A104F0C1FF08 +:1030900004F042FE0028FBD102F038FB3146204606 +:1030A00003F05CF9040005D0012101EB084023A1E5 +:1030B00004F0A4FF2046BDE8F8830024284626A19A +:1030C000F6E700003C760020E8CC070098CC07002B +:1030D00000100700566572696679696E6720424C78 +:1030E0003A20416464723A203078253038782C20B8 +:1030F0005372633A203078253038782C204C656E36 +:103100003A2030782530387800000000436F70791D +:10311000696E6720626F6F746C6F616465723A20CC +:103120005372633A203078253038782C204C656E05 +:103130003A203078253038780000000052657175EB +:1031400065737420746F20636F707920424C206621 +:1031500061696C65640000004E6F20626F6F746C73 +:103160006F6164657220636F7079206E6565646558 +:10317000642C20626F6F746C6F616465722075706F +:103180006461746520636F6D706C6574652E0000FA +:1031900030B595B0040004D12E4940F22940FFF724 +:1031A00035FF2D494FF6FF702246488001208DF8EB +:1031B00012004FF65960ADF8100004A90120A8DFF5 +:1031C000002844D1254B0FCB8DE80F00A11C684689 +:1031D00062DF00283BD121491C2260390BA8FEF791 +:1031E0001FF91F4D142205F1C401A8681290A078A0 +:1031F0008DF84A002868139006A8FEF711F912A866 +:10320000069013A807902088231D06AA0BA9AADF01 +:1032100000281CD11C2205F1D8010BA8FEF700F9EB +:10322000E8681290A0788DF84A006868139014221C +:1032300005F1F40106A8FEF7F3F812A8069013A80A +:103240000790208804F10C0306AA0BA9AADF15B089 +:1032500030BD00003CBE0700A8590020F8B70700A9 +:10326000F0B60700F0B585B00D46040004D137492B +:1032700040F26110FFF7CAFE25B934494FF4B1702E +:10328000FFF7C4FE14216846FEF7E3F82078032315 +:1032900008280BD12E48C188491E89B2C180828876 +:1032A000002A4BD0002949D1C28023702178607850 +:1032B00060228DF800208DF801108DF802006378EF +:1032C0000325012B16D0234823492278401AC00831 +:1032D000022101EB004021A104F09BFE60780B2845 +:1032E00028D101F04FF98DF80300002001F052F9C8 +:1032F00004251FE0207809281CD2DFE800F01B1B02 +:103300001B211B1B051B2100D4E902706D46E91C23 +:10331000666807F011FF044629193046C91C07F0FA +:103320000BFF044429193846C91C07F005FF204447 +:10333000C01CC5B22946684606F0E6FF05B0F0BDE0 +:10334000D4E90112684606F0CEFFF1E73CBE070063 +:10335000A8590020A0CC070098CC0700444655206F +:1033600072657175657374202564206661696C658A +:10337000642077697468206572726F723A203078C1 +:10338000257800002DE9F0411D4C0026217AC9075F +:1033900033D01C49884230D01B481C49401AC10810 +:1033A000042000EB0140054619A104F027FE6088C7 +:1033B000A0F57F41FF3916D028461DA104F01EFE5E +:1033C000A068132140F00400A060608876DF002828 +:1033D00014D11B4CC8264FF47A47611C38468847E5 +:1033E000761EFAD101E0207874DF05F0BDF9060001 +:1033F00003D1284613A104F001FE3046BDE8F08158 +:10340000A859002080CC0700A0CC070098CC07006A +:103410005368757474696E6720646F776E20424CD0 +:1034200045207472616E73706F72742E000000001C +:10343000446973636F6E6E656374696E672E000016 +:1034400000B70700424C45207472616E73706F7252 +:1034500074207368757420646F776E2E000000000E +:1034600070B5204C06460020217AC90738D11E4885 +:103470001E49401AC108042000EB014005461CA16A +:1034800004F0BCFD2248E66001F0B4FD00F01CFB36 +:10349000002825D103F038F938B11E4803F028F987 +:1034A000A06840F00200A06003E028461AA104F0E2 +:1034B000A5FD01F0BBF8002812D116481C30FFF71B +:1034C00067FE00280CD1FFF7EBFA002808D1A068AE +:1034D00018A140F00100A060284604F08FFD0020F4 +:1034E00070BD0000A8590020A0CC070098CC0700B0 +:1034F000496E697469616C697A696E6720424C45EE +:1035000020444655207472616E73706F72740000AF +:1035100008CD0700C45E00204E6F2061647665729E +:10352000746973696E67206E616D6520666F756E74 +:1035300064000000424C4520444655207472616E80 +:1035400073706F727420696E697469616C697A65F1 +:10355000642E00002DE9FE439F49A04B0122591A19 +:10356000C9080746051D02EB0148008804229C4E4D +:103570004FF0000902EB014421286ED037DC1328FC +:103580006CD01EDC01286AD0102854D0112868D0D5 +:10359000122879D1204693A104F030FDEA88204614 +:1035A0009AA104F02FFDAA8820469EA104F02AFDCE +:1035B0002A892046A1A104F025FD6A892046A4A1FC +:1035C000ECE0142875D01A2874D01F285CD120464E +:1035D000A5A104F013FD291D708875DF040053D0E8 +:1035E00040462246ACA104F00DFD20461FE05128C4 +:1035F0007AD00EDC222878D0232868D024287BD0EB +:10360000502877D103B03946BDE8F043B04805F003 +:1036100081BF5228D8D0552837D056286AD1B879DA +:10362000002867D11321708876DF002862D0BDE8BA +:10363000FE43FFF719BB2046A6A104F0DFFC288853 +:103640007080F16809B101208847A549708875DF4D +:1036500002004FD04046A3A1A0E07FE055E087E004 +:10366000FFE74FF6FF707080307A400704D4FFF711 +:1036700017FA08B1FFF7F8FAF16800293AD003B059 +:103680000220BDE8F043084734E0FA88F72A14D254 +:103690009007B0F1404F0ED0D01F81B2481EC31723 +:1036A00000EB937323F00303C01A081A801D85B240 +:1036B00004E078E081E0154600E0F72520462B463F +:1036C000944904F0A6FC29467088B5DFADE7204692 +:1036D00091A104F093FCCDF80090CDF80490B88847 +:1036E0000022694690DF2DE046E02EE004E000BFB6 +:1036F000FFF7BAFABDE8FE836B89EA8803B020467B +:10370000BDE8F04391A104F084BC20469FA104F0E1 +:1037100075FC734801AA163842F60521806A0190AB +:10372000CDF808D07088ADDF08B1FFF79DFA2046CC +:10373000BDF800209FA104F065FC00231A468521F6 +:1037400070887FDF0028D3D1D4E7287900906B7987 +:10375000AA792046A0A104F064FCCBE72046ADA1E5 +:1037600004F04CFCCDF80090288869468FDFE9E72B +:103770000021708866DF58E7B8790028BAD039464A +:10378000534805F083FE0028B4D007F108015048E3 +:1037900005F09EFA0200ADD04046A9A103B0BDE8F5 +:1037A000F04304F02FBC2046B2A104F027FC002116 +:1037B0000A4628880B4686DF37E7002328881A4602 +:1037C0001946B1DF08B1FFF74FFA03B02046BDE854 +:1037D000F043B2A104F012BC98CC0700A0CC0700C3 +:1037E000A8590020526563656976656420424C459E +:1037F0005F4741505F4556545F434F4E4E5F5041C7 +:1038000052414D5F55504441544500006D61785F11 +:10381000636F6E6E5F696E74657276616C3A2025B7 +:10382000640000006D696E5F636F6E6E5F696E7439 +:10383000657276616C3A202564000000736C6176D5 +:10384000655F6C6174656E63793A202564000000E1 +:10385000636F6E6E5F7375705F74696D656F75749D +:103860003A2025640000000052656365697665644E +:1038700020424C455F4741505F4556545F434F4E91 +:103880004E5F504152414D5F5550444154455F5247 +:1038900045515545535400004661696C7572652069 +:1038A000746F2075706461746520636F6E6E6563FC +:1038B00074696F6E20706172616D657465722072DB +:1038C0006571756573743A203078257800000000C2 +:1038D000E05E0020436F6E6E6563746564000000F7 +:1038E00006B707004661696C75726520746F2075B4 +:1038F000706461746520636F6E6E656374696F6E6A +:1039000020706172616D65746572733A203078253C +:1039100078000000F4BD0700526563656976656450 +:1039200020424C455F4741505F4556545F444154E7 +:10393000415F4C454E4754485F5550444154455FA4 +:10394000524551554553542E0000000052656365A1 +:103950006976656420424C455F4741505F45565447 +:103960005F444154415F4C454E4754485F55504475 +:10397000415445202825752C206D61785F72785F51 +:1039800074696D65202575292E00000052656365F8 +:103990006976656420424C455F4741505F45565407 +:1039A0005F5345435F504152414D535F524551551E +:1039B000455354004343434420666F72207365723D +:1039C00076696365206368616E676564206973204A +:1039D0003078253034780000526563656976656417 +:1039E00020424C455F4741505F4556545F5048590F +:1039F0005F555044415445202852583A25642C20A4 +:103A000054583A25642C207374617475733A256494 +:103A100029000000526563656976656420424C4563 +:103A20005F4741505F4556545F5048595F55504479 +:103A30004154455F524551554553542E00000000F6 +:103A4000436F756C64206E6F742068616E646C6582 +:103A5000206F6E5F6374726C5F70745F77726974ED +:103A6000652E206572725F636F64653A2030782539 +:103A700030347800526563656976656420424C4550 +:103A80005F4741505F4556545F5345435F494E463B +:103A90004F5F5245515545535400000046696E69C9 +:103AA000736865642068616E646C696E6720636F1B +:103AB0006E6E20736563207570646174650000002C +:103AC000007800F00100704738B50020009002F047 +:103AD00051FC00282DD117481749184A401AC1082F +:103AE000042000EB0140044615A104F08BFA1348B2 +:103AF00013DF00281DD1204619A104F07FFA04F03D +:103B00005DFE002815D1684604F0BEFC002810D1E7 +:103B1000204619A104F072FA6946012004F0BEFCA7 +:103B2000002806D120461AA104F068FA684604F07D +:103B30004DFD38BDA0CC070098CC07000010070051 +:103B400053657474696E6720757020766563746F51 +:103B500072207461626C653A2030782530387800C4 +:103B6000456E61626C696E6720536F66744465765A +:103B70006963652E00000000436F6E6669677572A9 +:103B8000696E6720424C4520737461636B2E0000A0 +:103B9000456E61626C696E672074686520424C45B1 +:103BA00020737461636B2E0013B90378012B01D06D +:103BB00003F01CB8012070470022C32100F51870E3 +:103BC00000F0CCB92DE9F043A1B00446DDE9289618 +:103BD00020200F46209098461546782102A8FDF730 +:103BE00038FC41212046FDF734FCB7F8940005EB82 +:103BF000051107EB8101A84201D991F89660267062 +:103C0000320033D0012A0DD01B481C4D0123401B2C +:103C1000C00803EB0045022A0CD0032A20D0284616 +:103C200017A117E000224946404600F097F9C4F872 +:103C300001001BE020A9601CCDE900014B46424673 +:103C4000184902A801F060FE80B104F0E9FE0246C6 +:103C5000284615A104F0D6F9002021B0BDE8F08374 +:103C6000B1F89820601C9A31FDF7DAFB4A464146CC +:103C7000204602F0BBFFF0E7C8CC070098CC070055 +:103C8000496E76616C696420626F6F742076616C36 +:103C900069646174696F6E20747970653A20256477 +:103CA0000000000018B507006E72665F63727970DD +:103CB000746F5F686173685F63616C63756C617476 +:103CC000652829206661696C6564207769746820BD +:103CD0006572726F722025730000000010B50446F3 +:103CE0000A480B49401AC008042101EB004009A111 +:103CF00004F084F94FF0000034B10C490870BDE8BD +:103D000010400B4802F02CBD00F084FBE8CC07000B +:103D100098CC0700526573657474696E6720626F92 +:103D20006F746C6F616465722E000000685900202A +:103D3000154407002DE9FC410646C0074FF0000579 +:103D40000ED0104F00240122385D0095002311464B +:103D5000019503F08FFE641C042CF4D300F064F88A +:103D6000B0070DD5074E0024361D0022305D032319 +:103D700000951146019503F07DFE641C042CF4D3DC +:103D8000BDE8FC8106B5070010B50446042803D33E +:103D900005A12120FFF73AF90E480121005DBDE899 +:103DA000104003F0D9BE00002E2E5C2E2E5C2E2E6D +:103DB0005C2E2E5C2E2E5C636F6D706F6E656E7464 +:103DC000735C626F617264735C626F617264732EA4 +:103DD0006300000006B5070010B50446042803D3AD +:103DE00005A11B20FFF712F90E480021005DBDE878 +:103DF000104003F0B1BE00002E2E5C2E2E5C2E2E45 +:103E00005C2E2E5C2E2E5C636F6D706F6E656E7413 +:103E1000735C626F617264735C626F617264732E53 +:103E20006300000006B5070010B500242046FFF728 +:103E3000ABFF641C042CF9D310BD00002DE9F84F32 +:103E40000546861C00208DF8000091460F464FF075 +:103E5000010A6846FFF74AF81C4C60683860D4E9EC +:103E600001011B4F401A3968081A41F21C0104EB8A +:103E700001080EE00121404600F0E7FF00F03CFEA3 +:103E80000146404600F0E1FFD4E90101401A3968DB +:103E9000081A401C8642EDD8B9F1000F03D0052066 +:103EA00065F3891002E0062065F39F5061683A6867 +:103EB000114004EB8101C8606068304460609DF887 +:103EC0000000FFF75FF85046BDE8F88F54810020EE +:103ED000145A002010B543689C18446021B905E0CD +:103EE00013F8010B01F8010B521EF9D2012010BD8D +:103EF00070B50D4604460A2902D10D21FFF7F8FFDF +:103F0000A0682268411CA1601554D4E901018142D6 +:103F100004D32046BDE8704003F0B4BA70BD000081 +:103F2000044881684068814201D101207047002027 +:103F3000704700005481002010B5040003D10549EA +:103F4000CA20FFF763F80448C16B6160006CA06091 +:103F500010BD00003CBF07003C760020F0B54FF0DC +:103F6000FF3622B11268D24300230A4D0DE03246DB +:103F7000FAE7C45C62400824D70700D037462F40D8 +:103F800087EA5202641EF7D15B1C8B42F1D3D04307 +:103F9000F0BD00002083B8ED10B504460068401C59 +:103FA00007D0204606F010FC2168814201D1012093 +:103FB00010BD002010BD000010B5104C90B060780E +:103FC000002818D101F004FD18B10D49B520FFF704 +:103FD0001DF820220B49684601F01AFD40236A466D +:103FE00009490A4801F050FC18B10549BF20FFF704 +:103FF0000DF80120607010B010BD0000DC590020E9 +:104000001CC30700C0B40700E87C002030B50700DF +:10401000F0B5146906468DB020681546271DE0B13D +:10402000022920D00A2000906B4609AA304606F0EB +:1040300029F900280FD009A901A8009A05F04EFE21 +:1040400001AE96E80F0005AE86E80F0023686968A8 +:104050003A4605A898470DB0F0BD0DB03046BDE812 +:10406000F04005F0AFBE6946304605F041FE00283D +:10407000F1D0236869683A46684698470028EAD034 +:1040800002980028F5D1019870600120E3E7536899 +:104090009B7813F0C00303D0402B03D0002070475F +:1040A00000F002B8FFF7B4BF2DE9FF410B4651689D +:1040B000064614468878334D00F00F0210F03000A9 +:1040C00055F8225006D0102806D0202808D03028D5 +:1040D00056D13EE022694DE061690120087047E059 +:1040E000022B28D1042A26D84FF001086946304611 +:1040F000676905F0FDFD00281AD009E00B892269E7 +:1041000003FB00226846A84770B13888401C3880FD +:10411000029820B1616838884A899042EED30198AC +:104120007060029860BB02E04FF00008F7E740467D +:1041300004B0BDE8F081D4E904300F8902884989D0 +:1041400007FB02338A421BD2521C02801A46616866 +:1041500010E008886169072A088009D16068018930 +:104160002069FDF776F960682169C06805F0DBFD1C +:104170002269616804B03046AC46BDE8F041604752 +:104180000020D5E7B8BB070038B51E4901200A68F2 +:10419000D20301D5000408E01B490A6802F0F902C5 +:1041A000A92A04D1086800F0560008600020FEF734 +:1041B0007BFD1649164A891AC908042202EB0144FC +:1041C000A0B110200090684603F09AFCD0F81005CA +:1041D0000099C84010F0010F0BD00B48001F006879 +:1041E00000F0F900B12807D0002038BD204609A111 +:1041F00004E0204610A101E0204617A103F0FEFED6 +:10420000012038BD0004004020050040E8CC070034 +:1042100098CC0700444655206D6F64652062656345 +:104220006175736520617070206973206E6F7420F2 +:1042300076616C69642E0000444655206D6F64659C +:10424000207265717565737465642076696120629A +:104250007574746F6E2E0000444655206D6F646552 +:104260002072657175657374656420766961204795 +:10427000505245475245542E00000000FEB51949E2 +:104280000446086808B1401E08601748174AD4E978 +:104290000153801AC008042202EB004022789DB12D +:1042A0000E6821690296CDE900312B46012A16D00D +:1042B0000FA211A103F0C8FE6169002911D0E068C6 +:1042C00003B0BDE8F040084709680091012A04D016 +:1042D00007A218A103F0A5FEEEE720A2F9E71FA2AE +:1042E000E7E7FEBDC0590020A8CC070098CC070026 +:1042F0006572617365000000466C61736820257308 +:10430000206661696C6564202830782578293A2018 +:10431000616464723D25702C206C656E3D3078259B +:10432000782062797465732C2070656E64696E679D +:1043300020256400466C61736820257320737563C3 +:10434000636573733A20616464723D25702C20703C +:10435000656E64696E672025640000007772697479 +:104360006500000010B508281BD2DFE800F0041239 +:104370001A1A1A041A040120FFF7DCFC0020FFF7C8 +:104380002BFD0120FFF728FDBDE810400220FFF7BC +:10439000FBBC0120FFF7F8FCBDE810400220FFF74E +:1043A0001BBD10BD10B50446801E062810D2DFE8E4 +:1043B00000F00D03030F09090A494FF4701000F0D3 +:1043C00083FF05E00120FFF789FC01E002F054FAC9 +:1043D00005484168002903D02046BDE81040084741 +:1043E00010BD0000794807006859002010B5044648 +:1043F000062801D0072C02D1002002F039FB044826 +:104400000168002903D02046BDE81040084710BDD0 +:10441000A459002003F0AAFE03F07EFC0028FBD183 +:10442000BFF34F8F05480168054A01F4E06111436D +:104430000160BFF34F8F00BFFDE700000CED00E00F +:104440000400FA0510B50021024800F014FD80F3C5 +:10445000100010BD709100202DE9FC4180461F46E0 +:1044600015460E4600240D4800F0ECFC38B1112032 +:10447000BDE8FC8106EB043003F0A0FF641CAC42F5 +:10448000F8D1064800F0D5FCCDE9005733460022AC +:104490000221404600F02AF80020E9E7FC590020FC +:1044A0002DE9F843104D0F4680461E469146694659 +:1044B000286800F092FC040014D01C21FCF7C9FF0E +:1044C00001202071C4F81490380BC4F80080C4E9AE +:1044D00002606946286800F0A1FC05F0B3FE0020E8 +:1044E000BDE8F8830420FBE784B807002DE9F0431A +:1044F00087B00446DDE90E8980681D4616460F46E2 +:1045000000280BD018216846FCF7A3FF02A88DF8FD +:10451000007080E86003A1686846884707B0BDE87E +:10452000F08330B50446006887B00D4680680028E7 +:104530001FD018216846FCF78CFF0195A0680590F4 +:10454000207910B1012810D107E001208DF800007A +:1045500020690290E068039005E002208DF80000D9 +:10456000E0680003029060690490206881686846F2 +:10457000884707B030BD0B2803D30B38C0B200F01A +:1045800009B870470249002208780A707047000095 +:10459000C4590020014908700B207047C4590020FD +:1045A0000149012008707047685900200149012025 +:1045B00008707047A059002070B515460E460400DB +:1045C00004D1074940F28A20FEF720FD2A463146F1 +:1045D00004F17200BDE87040012302F059BB0000F5 +:1045E0001CC3070010B5040003D10E49B520FEF727 +:1045F0000DFD207818B90B49B620FEF707FD94F899 +:104600005500094938B1012805D06068C968884259 +:1046100005D9012010BD606889688842F9D24FF041 +:10462000000010BD64C307003C7600203EB59DF835 +:10463000080020F00F00401C20F0F00010308DF832 +:10464000080068466DDF00282BD19DF80100401C52 +:104650008DF8010068466CDF002822D1114813490B +:10466000007A82071048A0EB01004FEAD0004FF01B +:10467000040101EB004008D50D4C0EA1221DA369D9 +:1046800003F0C7FC211DA06904E013A103F0B6FCF0 +:1046900019A1072082B202A87CDF002801D11848A6 +:1046A0007ADF3EBDA8590020A0CC070098CC0700B7 +:1046B000C45E002053657474696E6720616476205F +:1046C0006E616D653A2025732C206C656E67746889 +:1046D0003A202564000000005573696E6720646508 +:1046E0006661756C74206164766572746973696E55 +:1046F00067206E616D6500004466755461726700E5 +:1047000006B707002DE9FC5F164607463A4A3B48C4 +:104710001D46101A04224FEAD00902EB09408B46CD +:104720008246B94205D136A103F068FC0020BDE8FD +:10473000FC9F04D236494FF02900FEF767FC1DB9F3 +:1047400033492A20FEF762FC2EB1380503D03049E8 +:104750002D20FEF75BFCABEB0700040B03D12C49CB +:104760003120FEF753FC0020009006F6FF704FEA60 +:10477000103800F0DFFFA54239D22C4637E0A045C3 +:1047800003D83546CDF8048001E0250301940022CA +:104790003846019901F070FC0028C8D150463B46CC +:1047A0005A461CA1009503F03CFC681E00F0030073 +:1047B0002A1A002359463846D21C01F013FD00285E +:1047C000B5D101991C48A8EB0108761B016B2F4459 +:1047D00029440163AB44002002F036F9009030B167 +:1047E000012101EB094015A103F008FC01E0002EB6 +:1047F000C5D100989BE70000E8CC070098CC0700E3 +:104800004E6F20636F7079206E656564656400008B +:1048100000BD0700436F7079696E67203078257896 +:1048200020746F20307825782C2073697A653A20BF +:1048300030782578000000003C7600204661696CE5 +:10484000656420746F20777269746520696D616793 +:104850006520636F7079696E672070726F6772652B +:10486000737320746F2073657474696E677320703E +:104870006167652E000000000748084910B5401A1E +:10488000C008032101EB004005A103F0B7FBBDE820 +:1048900010400120FFF722BAE8CC070098CC0700AF +:1048A000496E61637469766974792074696D656FA6 +:1048B00075742E00014941600020704758B8070008 +:1048C00010B50B4941600B4800F0BCFA68B903F021 +:1048D000C7FF08491C234FF4EE7208740448A1F581 +:1048E000EE71001F006800F065FA002010BD0000A6 +:1048F00088B80700A87F00202DE9FC5F0E008346E2 +:10490000DDE90C47C6F1000098469246814600D486 +:104910000846012503E000BF90FBFAF06D1C5045EE +:10492000FADAA84500D9454624B1002E01DB780704 +:1049300000D5641EB80702D5B8F1000F0AD0F807F9 +:1049400008D13CB1A54205D220215846641EFFF78C +:10495000CFFAF6E7002E02DA4E462D2102E0780764 +:1049600003D52B215846FFF7C3FA07F003000228AE +:104970000BD1B8F1000F08D13CB1A54205D23021CE +:104980005846641EFFF7B4FAF6E7CDE90047434600 +:1049900052463146584606F0F1FBBDE8FC9F024600 +:1049A00000201268530713D502F00300012802D03B +:1049B00002280CD105E0C2F383100B68801C184458 +:1049C00004E00223086803EB9252104408600120BF +:1049D0007047000002480068002800D0012070479E +:1049E000FC5900200248007A002800D001207047BE +:1049F000A87F002038B54FF440521B49536800F59A +:104A000000508B4204D044688C4201D1012400E064 +:104A100000248B4226D143688B4223D1117814297C +:104A200001D9526900E000221049B2FBF1F302788B +:104A3000142A01D9406900E00020B0FBF1F0834264 +:104A400003D001240AA2009002E000240AA20090F0 +:104A50000B480C49401AC008032101EB00400AA191 +:104A600003F0DFFA204638BDDBE5B15140420F00CC +:104A70006D616A6F720000006D696E6F72000000F8 +:104A8000C8CC070098CC0700536F667444657669FC +:104A900063652075706461746520697320612025E9 +:104AA000732076657273696F6E20757064617465CA +:104AB0002E2043757272656E743A2025642E204E46 +:104AC00065773A2025642E0070B5054608680C46C7 +:104AD0004A6886682846314605F046F860682861CD +:104AE00004F10C006861B0780221B1EB901F01D194 +:104AF000241D2C6170BD70472DE9FF410026274819 +:104B000000F09DF92548001F074600F098F9244C55 +:104B10002449A06800900D6800E00098694628408C +:104B200004EB80000C30FFF73AFF0028F5D101AA12 +:104B3000009901EA050304EB8303491CDB6842F892 +:104B40002030401C00910228F2D3019800F00300AD +:104B500001281AD002280ED013A14FF4AF70FEF72F +:104B600055FA384600F068F908B10098A06004B022 +:104B70003046BDE8F0810198032101EB9050009987 +:104B8000BDF80A6001EB900005E00198BDF80A60ED +:104B9000C0F3831008440090E3E700006C9100200C +:104BA00054810020145A00202E2E5C2E2E5C2E2EB6 +:104BB0005C2E2E5C2E2E5C636F6D706F6E656E7456 +:104BC000735C6C69627261726965735C6C6F675C5F +:104BD0007372635C6E72665F6C6F675F66726F6E36 +:104BE00074656E642E63000000F078FD4FF4805110 +:104BF000002000F089FBC8B91548C0F5FC2100F081 +:104C000083FB98B90021134803F084FA03F06EF88F +:104C100011481249401AC408032000EB044010A1B7 +:104C200003F0ECF9114800F087FC08B1FEF71CF81E +:104C300003F072F80028FBD1012000EB04400CA126 +:104C400003F0DCF903F068F80028FBD1EEE7000080 +:104C500000100700F1520700E8CC070098CC0700CD +:104C6000496E73696465206D61696E006543070074 +:104C70004166746572206D61696E2C2073686F7572 +:104C80006C64206E65766572206265207265616372 +:104C90006865642E000000002DE9F05F1E46DDF817 +:104CA00028B091468A46040003D124A19020FEF743 +:104CB000ADF9B4F80680607908FB00F8A8F10408A3 +:104CC000464503D31DA19E20FEF7A0F9E788301DBD +:104CD000B0FBF7F1B0FBF7F207FB1200D9F8005078 +:104CE000AA19424501D9A8EB0605C9F8005001E010 +:104CF0002468491E0029FBD13E1A8846AE4215D8C9 +:104D000017E000BF2044001D0AEB0803BBF1000FB1 +:104D1000324602D00146184600E01946FCF780FBF7 +:104D200000202468AD1BB044AF4201D92E4600E0FC +:104D30003E46002DE6D1BDE8F09F00002E2E5C2EF1 +:104D40002E5C2E2E5C2E2E5C2E2E5C636F6D706F93 +:104D50006E656E74735C6C69627261726965735CB6 +:104D60006D656D6F626A5C6E72665F6D656D6F62B8 +:104D70006A2E630030B5024651B103F0DFF900211D +:104D8000074C08E034F821301568AB4202D11160BD +:104D9000002030BD491C8142F4D3052030BD000005 +:104DA0000000000010B5FCF780FA08B1002010BD2B +:104DB000112010BD10B531B1B2FBF3F403FB142484 +:104DC0001CB1092010BD0E2010BD01600021416002 +:104DD00081608281C381084610BD70B50C460546CE +:104DE000FCF718FA002802D021882868084470BD12 +:104DF00010B50A8849888A4203D1FCF74DFA012090 +:104E000010BD002010BD70B50C460546FCF727FA12 +:104E1000002802D061882868084470BD10B50A884F +:104E200049888A4203D1FCF711FA012010BD002005 +:104E300010BD002100F00FB8002100F012B80121D0 +:104E400000F01EB8012100F011B808B56A46FCF761 +:104E500078FA009808BD08B56A46FCF758FA009839 +:104E600008BD08B56A46FCF752FA08BD08B56A469F +:104E7000FCF740FA08BD08B56A46FCF72FFA08BDF2 +:104E800008B56A46FCF736FA009808BD08B56A46C8 +:104E9000FCF764FA009808BD38B5040003D115A1E9 +:104EA000FE20FEF7B3F800258DF800506846FEF7A7 +:104EB0001DF8206862680168914214D9491E01609A +:104EC0000D781CB919A1C220FEF7A0F8208AE1686C +:104ED00005FB00152068217A0278891A0279C9B287 +:104EE0008A4200D201719DF80000FEF74BF8284677 +:104EF00038BD00002E2E5C2E2E5C2E2E5C2E2E5CDD +:104F00002E2E5C636F6D706F6E656E74735C6C6972 +:104F1000627261726965735C62616C6C6F635C6E16 +:104F200072665F62616C6C6F632E63002E2E5C2E66 +:104F30002E5C2E2E5C2E2E5C2E2E5C636F6D706FA1 +:104F40006E656E74735C6C69627261726965735CC4 +:104F500062616C6C6F635C6E72665F62616C6C6FD9 +:104F6000632E630038B50C46050004D112A140F24F +:104F70002110FEF74BF824B90FA14FF49170FEF702 +:104F800045F800208DF800006846FDF7AFFF1DB919 +:104F90001749CF20FEF73AF8E8682A68211A288ACC +:104FA000B1FBF0F11068431C136001709DF8000024 +:104FB000FDF7E8FF38BD00002E2E5C2E2E5C2E2E55 +:104FC0005C2E2E5C2E2E5C636F6D706F6E656E7442 +:104FD000735C6C69627261726965735C62616C6C4E +:104FE0006F635C6E72665F62616C6C6F632E6300F0 +:104FF0002C4F070010B5040002D0206830B901E042 +:105000000E2010BD17A1D920FEF700F8606818B96E +:1050100014A1DA20FDF7FAFFA06818B911A1DB206E +:10502000FDF7F4FFE06818B90EA1DC20FDF7EEFFF4 +:10503000208A18B90BA1DD20FDF7E8FF207A61680E +:105040002268401AC0B2116004E0226811684B1C4B +:1050500013600870401EC0B2F7D2216800200871AA +:1050600010BD00002E2E5C2E2E5C2E2E5C2E2E5C93 +:105070002E2E5C636F6D706F6E656E74735C6C6901 +:10508000627261726965735C62616C6C6F635C6EA5 +:1050900072665F62616C6C6F632E63002DE9F04194 +:1050A000184819494FF48052401AC708042000EBF1 +:1050B0000745164615A1284602F0A4FF4FF0E0244C +:1050C000D4F8802128461FA104F5C07402F09AFF8D +:1050D00060172060C4F800016060C4F8040101F0AA +:1050E00055F928B1012000EB074021A102F086FF0D +:1050F00002F012FE0028FBD13046BDE8F04100F07E +:1051000053B80000E8CC070098CC070052756E6ECB +:10511000696E67206E72665F626F6F746C6F616438 +:1051200065725F6170705F73746172742077697407 +:105130006820616464726573733A20307825303872 +:105140007800000044697361626C696E6720696E63 +:1051500074657272757074732E204E5649432D3EDD +:10516000494345525B305D3A203078257800000095 +:105170004661696C65642072756E6E696E67206E3B +:1051800072665F6466755F6D62725F6972715F6699 +:105190006F72776172645F616464726573735F7369 +:1051A000657428290000000070B506462648C0F541 +:1051B000FE2100F0A9F8040024482549A0EB0100D5 +:1051C0004FEAD0004FF0010101EB004507D028461F +:1051D000224620A102F016FF2046FDF745FD00F013 +:1051E000C1FC014629488069421EC2F30B02801AA5 +:1051F0000144002001F6FF7100F086F8040004D09D +:105200002846224622A102F0FDFE201E01D0FDF715 +:105210002BFDEFF30580C105D6E90045C90D4FF020 +:10522000000080F3148880F3108880F3118880F3E5 +:10523000138803D023493220FDF7E8FE84F3088861 +:10524000AC46BDE87040604700100700E8CC07009E +:1052500098CC0700436F756C64206E6F7420707279 +:105260006F7465637420626F6F746C6F61646572D4 +:1052700020616E642073657474696E677320706159 +:105280006765732C20307825782E00003C7600204E +:10529000436F756C64206E6F742070726F746563F9 +:1052A0007420536F667444657669636520616E642B +:1052B000206170706C69636174696F6E2C20307846 +:1052C00025782E0064BC070070B5084D04460E46D4 +:1052D000686805F00BFF002C06D03246214668684E +:1052E000BDE8704005F0F4BE70BD000070590020AC +:1052F0000348D0F804050349097B00EB01607047BF +:105300000040024070590020F0B50A0502D1B0F506 +:10531000FE2F01D90720F0BD134D000B491E124F7F +:1053200001222E1D103700EB113407F1040C17E099 +:105330004309C3F1000100EB411E02FA0EF106D051 +:10534000012B06D0022B06D0032B08D105E02960E3 +:1053500005E0316003E0396001E0CCF80010401C4A +:10536000A042E5D90020F0BD000600402DE9F04143 +:105370003A483B49384E401AC508042000EB054026 +:105380000027044637A102F039FEB06801280ED08C +:10539000A52813D0AA2818D0AC281ED0032000EBD3 +:1053A000054039A102F02AFE0020BDE8F081204628 +:1053B0003CA102F023FEFDF7A3FB0CE020463CA13C +:1053C00002F01CFE04F0BEFF0DE020463BA102F0FF +:1053D00015FEFDF725FE024607E020463AA102F041 +:1053E0000DFE05F07DF8024601271D491B4B0120EB +:1053F000591AC90800EB014522B1284636A1B36805 +:1054000002F007FE304600F0D1FBDFF800810021FA +:1054100088F800103E4801F017FB064698F8000097 +:1054200020B93C4940F27F10FDF7F0FD2EB128462F +:1054300039A102F0E3FD0320B7E70120002FB4D02B +:1054400005492439096A0129AFD12046394902F0BA +:10545000D5FD0220A9E7000060760020E8CC070017 +:1054600098CC0700456E746572206E72665F626F3D +:105470006F746C6F616465725F66775F6163746996 +:1054800076617465000000004E6F206669726D776A +:1054900061726520746F2061637469766174652E32 +:1054A0000000000056616C696420417070000000CB +:1054B00056616C69642053440000000056616C69B9 +:1054C0006420424C0000000056616C696420534423 +:1054D000202B20424C00000041637469766174699E +:1054E0006F6E206661696C656420776974682065F9 +:1054F00072726F72202564202862616E6B20636F68 +:1055000064653A203078257829000000A0590020F1 +:10551000AD45070000BD0700436F756C64206E6FDA +:10552000742077726974652073657474696E67732B +:105530002E00000098BD07002DE9F84304464148BD +:105540004149401AC108042000EB014005463FA133 +:1055500002F054FD434F10207C600090684602F03A +:10556000CFFA009A404900EB82004FF00008C0F8E3 +:105570000017404601F0FAF800284CD1FFF7F6FE7C +:10558000314A304B01219A1AD20801EB024420B172 +:1055900001281BD002283ED105E04FF47016FEF71B +:1055A000F3FD10B934E04FF4A02600F0C3F82F4A01 +:1055B00020211820FDF784FC08B1FDF755FB2C488D +:1055C000016801F0F901B12904D007E00120FEF7DC +:1055D00085FB31E0016801F04E01016000F09EFEA4 +:1055E000C8B924493046FFF76FFE234800F04AFE51 +:1055F00088B9284621A102F001FD00BF00F086F81D +:10560000FDF73EFC02F088FB0028F7D141DFF5E70B +:1056100001F032F810B10320BDE8F88387F800806C +:105620001A4801F09DF8387820B919A14FF4F070AC +:10563000FDF7ECFCFFF732FD204625A102F0DEFC71 +:10564000E9E70000E8CC070098CC0700496E206E1F +:1056500072665F626F6F746C6F616465725F696EB2 +:1056600069740000685900200C000300845A00206F +:105670001C05004079480700A5430700456E746586 +:1056800072206D61696E206C6F6F7000A14507001C +:105690002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C630F +:1056A0006F6D706F6E656E74735C6C69627261723F +:1056B0006965735C626F6F746C6F616465725C6E58 +:1056C00072665F626F6F746C6F616465722E6300E7 +:1056D000556E726561636861626C650010B540F675 +:1056E000F8700168491C02D1074902F07FFE40F6BC +:1056F000FC700168491C05D1BDE810404FF4FC2145 +:1057000002F074BE10BD00000010070010B503F0D9 +:10571000D7F9002803D0BDE8104005F049BE10BD00 +:10572000034A93680A4601469860184605F0D0BCC3 +:10573000705900202DE9F0411A4E307800282ED102 +:1057400003F0BEF91849194A0127891AC90803222A +:1057500002EB014500281DD0154804682846224662 +:1057600014A102F04FFCA4F54864962C00DA9624AC +:1057700005F01EFE2846224615A102F043FC2149F1 +:105780002046FFF7CDFF4FF0E0214FF48030C1F805 +:10579000000103E028461CA102F030FC3770BDE890 +:1057A000F0810000A159002098CC070098CC070098 +:1057B0000405014057445420656E61626C656420A5 +:1057C0004352563A2564207469636B7300000000ED +:1057D0005374617274696E6720612074696D6572BB +:1057E00020282564207469636B732920666F7220FA +:1057F00066656564696E67207761746368646F6766 +:105800002E000000EDB30700574454206973206E4A +:105810006F7420656E61626C65640000406880682A +:10582000004710B542680830527900F0F1F80020C6 +:1058300010BD2DE9F04399B01C4690460D46084630 +:10584000DDF88090FFF7EAFF6E6807467079A042A6 +:1058500000D804462246414611A800F015F9727995 +:10586000494601A800F0D4F801AB224611A905F180 +:1058700008000097FBF7ACFF18B1002019B0BDE895 +:10588000F08348F24250F9E770B516460C460546DB +:1058900000F0E2F800280ED1AA791946304600F04F +:1058A000E8F8002807D131462046FFF7BAFF002864 +:1058B00001D10149216070BD7052464D2DE9F84378 +:1058C0000C46DDE908578146984616460D492046A4 +:1058D00000F0B6F8002810D16068394640794200DF +:1058E000284600F0C6F8002807D146B143463246A4 +:1058F000214648460095FFF79CFFBDE8F88348F233 +:105900001050FAE77052464D2DE9F0411D46DDE991 +:1059100006871646044600F02DF800280DD12A46C9 +:105920003146204600F03CF8002806D13A46414670 +:105930002046BDE8F04100F002B8BDE8F08170B546 +:1059400015460E46044605F023FD002807D13EB15A +:1059500060682968C268914205D248F2145070BD4F +:1059600048F2135070BD83682A4631462046BDE890 +:105970007040184710B550B161B1416009680446E4 +:105980008847002802D105482060002010BD48F259 +:10599000015010BD48F2105010BD00006E52464834 +:1059A00070B515460E46044605F0F2FC00280BD1F2 +:1059B00046B155B160682A46314643682046BDE885 +:1059C0007040184748F2105070BD002070BD0000B4 +:1059D0002DE9F0410B480C4D0C4F401BC60801202F +:1059E0003870002406E000BF55F8340080470028D6 +:1059F00005D1641CB442F7D3022038700020BDE802 +:105A0000F08100000000000000000000A25900200A +:105A100070B514460D46064600F036F829193019BF +:105A20002246BDE8704000F02FB870B50C46054620 +:105A300000F064F828192146BDE8704000F05EB817 +:105A400028B10068884205D048F24050704748F2BB +:105A5000105070470020704728B139B10022C1E9C9 +:105A600000201046704748F21050704748F213501B +:105A7000704720B1914205D048F21150704748F26A +:105A8000105070470020704770B516460C46050050 +:105A900003D10AA11F20FDF7B9FA1CB907A12020E4 +:105AA000FDF7B4FAA919491E04E000BF14F8010B70 +:105AB00001F80109A942F9D270BD00002E2E5C2E1A +:105AC0002E5C2E2E5C2E2E5C2E2E5C636F6D706F06 +:105AD0006E656E74735C6C69627261726965735C29 +:105AE00063727970746F5C6E72665F6372797074E2 +:105AF0006F5F7368617265642E63000070B50D4658 +:105B0000040003D107A10D20FDF780FA6019401EA3 +:105B100005E02178027804F8012B00F80119A04271 +:105B2000F7D270BD2E2E5C2E2E5C2E2E5C2E2E5C9F +:105B30002E2E5C636F6D706F6E656E74735C6C6936 +:105B4000627261726965735C63727970746F5C6EA6 +:105B500072665F63727970746F5F73686172656497 +:105B60002E6300004FF44050074A4168914207D12C +:105B70008068411EC1F30B01401A00F6FF707047A8 +:105B80004FF4805070470000DBE5B15100B5FFF7DE +:105B9000E9FF054989690A18401E0844C0F30B0053 +:105BA000101A00F6FF7000BD3C7600200021016055 +:105BB0004160816001480163704700003C7600202D +:105BC0002DE9FF4F8B466948694981B0401AC108E9 +:105BD000042000EB0144009166A1204602F00EFA79 +:105BE00020466CA1019A02F00DFABBF1000F01D022 +:105BF0006EA200E06FA2204670A102F003FA0398A3 +:105C000008B16AA200E06BA2204671A102F0FAF985 +:105C1000049808B165A200E066A2204670A102F0D7 +:105C2000F1F94FF4405041687348814201D15FA2BD +:105C300000E060A2204671A102F0E4F9204673A1C1 +:105C400002F0DCF9754D204675A1AB692A6A02F0B5 +:105C5000E0F920467AA16B6AEA6A02F0DAF94FF0BD +:105C60000009DFF8FCA10CE0012650B1012812D098 +:105C7000B9F1020F1ED07B498620FDF7C7F900203D +:105C80001AE0FFF783FF8046039888B16348006AF3 +:105C900001280BD00CE0FFF765FF8046049828B977 +:105CA0004FF4405041685448814201D0012604E03D +:105CB000002602E04FF480508046D04503D9694960 +:105CC0008B20FDF7A3F968490198A1EB0801A1F524 +:105CD0004051814201D2012700E0002747EA0B052D +:105CE00020464A4661A102F08DF92046424662A153 +:105CF00002F088F90FB12DA200E02EA2204664A187 +:105D000002F080F90EB129A200E02AA2204666A185 +:105D100002F078F90DB125A200E026A2204667A185 +:105D200002F070F9B54308D0B9F1020F05D209F1BC +:105D30000100C0B28146022896D957B100980221CD +:105D400001EB004062A102F059F9042005B0BDE862 +:105D5000F08FB9F1000F07D0204668A102F04EF98C +:105D60002E481830FFF722FF0020EFE7E8CC0700AD +:105D700098CC0700456E746572206E72665F64662B +:105D8000755F63616368655F7072657061726528D5 +:105D90002900000072657175697265645F73697AC4 +:105DA000653A20307825782E000000007472756501 +:105DB0000000000066616C736500000073696E6727 +:105DC0006C655F62616E6B3A2025732E00000000E7 +:105DD0006B6565705F6170703A2025732E0000005E +:105DE0006B6565705F736F66746465766963653A49 +:105DF0002025732E00000000DBE5B15153445F50B5 +:105E0000524553454E543A2025732E0042616E6B25 +:105E100020636F6E74656E74733A00003C760020E8 +:105E200042616E6B203020636F64653A20307825C4 +:105E30003032783A2053697A653A203078257800F4 +:105E400042616E6B203120636F64653A20307825A3 +:105E50003032783A2053697A653A203078257800D4 +:105E600000E00600DCC007000010070070617373DB +:105E70003A2025642E00000063616368655F6164F9 +:105E800064726573733A20307825782E0000000024 +:105E900063616368655F746F6F5F736D616C6C3AAB +:105EA0002025732E000000006B6565705F666972C7 +:105EB0006D776172653A2025732E000064656C650C +:105EC00074655F6D6F72653A2025732E00000000C7 +:105ED00041626F7274696E672E2043616E6E6F74DB +:105EE00020666974206E6577206669726D776172CD +:105EF00065206F6E2064657669636500496E766122 +:105F00006C69646174696E67206170702E000000B6 +:105F100070B50C46050004D121494FF49970FDF786 +:105F200075F824B91E4940F23310FDF76FF81D488B +:105F30001D4B2978C01A0422C00802EB0040092931 +:105F400027D2DFE801F02605260B15261B260F00B9 +:105F500021462846BDE8704002F0C6BD13A102F0FC +:105F60004DF811E021462846BDE8704002F05EBEC3 +:105F700021462846BDE8704002F0F6BD14A102F0AB +:105F80003DF84FF40070E0602046BDE87040FDF73A +:105F9000D3BFBDE8704002494FF4A970FDF736B891 +:105FA0003CBF0700B0CC070098CC070048616E6486 +:105FB0006C65204E52465F4446555F4F505F4352DA +:105FC000435F4745542028636F6D6D616E642900FF +:105FD00048616E646C65204E52465F4446555F4F83 +:105FE000505F4F424A4543545F53454C454354200C +:105FF00028636F6D6D616E642900000070B50E46F8 +:10600000040004D11B4940F24F20FCF7FFFF26B9E2 +:1060100018494FF41470FCF7F9FF2078012509287E +:1060200020D2DFE800F01F051F0F141F1A1F0A00FF +:106030003146204602F0DAFE19E03146204603F0F0 +:106040002BF914E03146204602F092FE0FE0314673 +:10605000204602F0D5FF054609E03146204603F010 +:10606000CFF804E0034940F27120FCF7CFFF284647 +:1060700070BD00003CBF07002DE9F843134C0746F4 +:106080000D4620680090124812499046401AC608F2 +:10609000042000EB06402B463A460FA101F0C1FF59 +:1060A00043462A4639461C4801F040FB050009D00A +:1060B000022000EB06402A4618A101F0A3FF284663 +:1060C000BDE8F8832068401C2060F8E7C059002034 +:1060D000A8CC070098CC07006E72665F6673746F79 +:1060E000726167655F657261736528616464723DA2 +:1060F000307825702C206C656E3D256420706167BA +:106100006573292C207175657565207573616765E8 +:106110003A20256400000000705A00206E72665F0D +:106120006673746F726167655F6572617365282954 +:10613000206661696C656420776974682065727295 +:106140006F7220307825782E000000000C490D4A2F +:1061500010B5891AC908042202EB01420028104632 +:1061600004D009A101F04AFF114903E011A101F097 +:1061700045FF1A49BDE810400022194801F036BB1E +:10618000A8CC070098CC0700496E697469616C69F6 +:106190007A696E67206E72665F6673746F7261678C +:1061A000655F7364206261636B656E642E0000003E +:1061B00094B80700496E697469616C697A696E67A1 +:1061C000206E72665F6673746F726167655F6E766C +:1061D0006D63206261636B656E642E0064B80700B6 +:1061E000705A00202DE9FC47154C80460F46206868 +:1061F0001549CDE9002013489946401AC6081546AE +:10620000042000EB06403B464246104901F012FFD5 +:106210002B463A4641460E48CDF8009001F0AEFBC1 +:10622000050009D0022000EB06402A4609A101F032 +:10623000E9FE2846BDE8FC872068401C2060F8E79E +:10624000C0590020A8CC070098CC070084BE0700E6 +:10625000705A00206E72665F6673746F7261676554 +:106260005F77726974652829206661696C656420AE +:1062700077697468206572726F7220307825782E85 +:106280000000000070B51149086011481149401A1A +:10629000C508032000EB05400FA101F0AFFE002070 +:1062A000FEF7A4F8114800F041FC040008D00120DA +:1062B00000EB054022460EA101F0A4FE204670BD71 +:1062C000BDE87040094800F0A7B80000A4590020BC +:1062D000E8CC070098CC0700456E746572696E675C +:1062E00020444655206D6F64652E0000ED43070085 +:1062F000436F756C64206E6F7420696E6974616C95 +:10630000697A6520444655207472616E73706F72AD +:10631000743A203078253038780000000648074964 +:1063200010B5401AC008042101EB004004A101F09F +:1063300065FE002010BD0000E8CC070098CC0700E7 +:10634000696E207765616B206E72665F6466755F4B +:10635000696E69745F757365720000001FB5890806 +:10636000002201AB009283E80700684618DF04B002 +:1063700010BD00001FB5044B0FCB8DE80F00684621 +:1063800018DF04B010BD000008B807004FF48050BB +:10639000410408600020704770B50E460178134C28 +:1063A000062901D0012901D1017C21702178012524 +:1063B000012911D0022913D00D480E49401AC008F6 +:1063C000012101EB00400CA101F018FE002020701B +:1063D00005207070284670BD3146FFF799FDF9E73A +:1063E0003146FFF70BFE0546F4E70000C8590020D0 +:1063F000B0CC070098CC0700496E76616C696420C8 +:106400006F626A656374207479706520696E2072AA +:106410006571756573742E0010B5040011D00120EC +:10642000FFF794FE00280BD100F0EEFC00F0CEFD4B +:1064300048B10949081F00F057FD012803D0032087 +:1064400010BD072010BD04480838C4600020FEF7C6 +:10645000A1F8002010BD0000D059002010B58168BF +:1064600089B10A4A1821FCF7BBFC040009D008488E +:106470000849401AC008022101EB004006A101F0C2 +:10648000BDFD204610BD072010BD0000B56407000B +:10649000B0CC070098CC07005363686564756C65E1 +:1064A000722072616E206F7574206F662073706148 +:1064B00063652100AFF3008070B50546806886B043 +:1064C00020B9284940F2A920FCF7A0FD182226494E +:1064D0006846FAF7A5FF28788DF800002348244B7A +:1064E0002A78181A0421C008224E01EB00440D2A14 +:1064F0001CD2DFE802F01B140714141B141B141B1E +:106500001B1B0C0020461CA101F078FD17E0204663 +:1065100022A101F073FDF168072088470FE069466A +:106520002846FFF739FF50B906B070BD032101EBD3 +:10653000004020A101F066FD02208DF801009DF8C9 +:106540000120204623A101F05DFDD5E90112684636 +:1065500090479DF801000128E6D0F16805208847A2 +:10656000E2E700003CBF070030B8070098CC070006 +:10657000B0CC0700C859002048616E646C65204E9D +:1065800052465F4446555F4F505F52454345495020 +:10659000545F4E4F5449465F5345540048616E6402 +:1065A0006C65204E52465F4446555F4F505F4142F6 +:1065B0004F525400496E76616C6964206F70636F4E +:1065C00064652072656365697665643A2030782574 +:1065D000782E0000526571756573742068616E6471 +:1065E0006C696E6720636F6D706C6574652E2052E8 +:1065F0006573756C743A20307825780038B1054998 +:1066000001600549416001210172002070470E20A0 +:10661000704700001D6607005566070010B50C00A6 +:1066200001464FF0110007D02278052A05D2DFE895 +:1066300002F00F050D0F0F000E2010BD084600F0F0 +:1066400073F80028F9D10221217010BD112010BD6E +:10665000082010BD0246082041B10B78022B04D15E +:10666000022A05D0032A00D1112070470E2070475E +:10667000002003220A70704770B510480024D0F83B +:106680002413491C03D1D0F86403401C13D00C48D8 +:106690000C49401AC008042101EB00400AA101F096 +:1066A000ADFC4FF4FE25284601F088FEC9220349BF +:1066B000284601F0B3FE204670BD00003C76002065 +:1066C000C0CC070098CC070045726173696E6720E3 +:1066D00073657474696E67732070616765206164A7 +:1066E000646974696F6E616C20646174612E00006E +:1066F00010B528B11C220349FAF792FE002010BD04 +:106700000E2010BD64F3070010B5064C00221821BE +:10671000201DFDF723FC2168814201D1012010BD1D +:10672000002010BD64F3070070B50C4D0400D5F8CF +:10673000640305F5597503D0401C03D0082070BDD3 +:106740000E2070BD00221821201DFDF707FC2060DF +:1067500007222146284629DF70BD000000F007000F +:10676000014903F0C5BF000000F0070070B5054601 +:1067700012481349401AC408042000EB044011A138 +:1067800001F03CFC2846FFF7E1FC02004FF001005D +:1067900000EB044402D0204613A108E000F06CF89E +:1067A000002000F051F9020005D0204619A101F0A7 +:1067B00029FC032070BD002070BD0000B8CC07008C +:1067C00098CC070043616C6C696E67206E72665FDF +:1067D0006466755F73657474696E67735F696E690B +:1067E0007428292E2E2E00006E72665F6466755F17 +:1067F000666C6173685F696E6974282920666169D7 +:106800006C65642077697468206572726F723A20D3 +:10681000257800006E72665F6466755F73657474D8 +:10682000696E67735F77726974655F616E645F62DA +:1068300061636B75702829206661696C65642077D7 +:10684000697468206572726F723A202578000000C2 +:1068500010B5FF224FF400710648FAF7F3FD054822 +:1068600020212438FAF7F5FD024900205C3908633D +:1068700010BD0000987600202DE9F05F4048FDF73C +:106880008BFB404E074634682046FDF785FB4FF0F2 +:10689000000A58B16068012806D02046FDF78CF93F +:1068A000D4F85C12884201D1012400E0002436486B +:1068B0003649DFF8DC80401AC00803214FF0020996 +:1068C0004FF4607B01EB0045F7B1042101EB004080 +:1068D000074630A101F092FB5A4629494046FAF793 +:1068E0009FFDDCB1384631A101F088FB3668444693 +:1068F0005422311D201DFAF793FD4FF4327206F138 +:106900005C0104F15C0007E06CB32846324901F0F9 +:1069100075FB5A461E483168FAF782FDD8F8040024 +:10692000444601281DD128462CA101F067FB3649B9 +:10693000402201F5E470FAF773FD33491C2240311F +:1069400001F5E470FAF76CFD84F860A2012184F887 +:10695000A1122E4884F8E2A2E169C0F82210C4F81E +:106960000490BDE8F09F4C4609EB0040284901F037 +:1069700045FB59460648FAF76CFDC8F80440F0E7B5 +:1069800000F00700D8590020B8CC070098CC0700C9 +:106990003C7600205573696E672073657474696E68 +:1069A000677320706167652E00000000436F707987 +:1069B000696E6720666F7262696464656E207061DB +:1069C0007274732066726F6D206261636B757020E4 +:1069D000706167652E000000ECBF07004F6C6420FB +:1069E00073657474696E6773207061676520646590 +:1069F0007465637465642E20557067726164696E96 +:106A00006720696E666F2E0098770020BC780020A2 +:106A100088BF070070B50546094803F0D5FE084C4D +:106A200020602046FDF7C8F8C4F85C02A4F5E063D6 +:106A30002A462146BDE87040024803F0CBBE000064 +:106A40003C76002000F0070070B505460020FFF7F7 +:106A5000E1FF040003D10349284603F049FE204624 +:106A600070BD00003C7600204FF48050704700005D +:106A70002DE9F0471449DFF854808146A1EB080066 +:106A8000C708134813490026401AC108042000EB28 +:106A9000014005463A4610A101F0B4FA00240EE088 +:106AA00008EBC400416848468847060006D02846DF +:106AB0003346224612A101F0ACFA02E0641CBC424B +:106AC000EED33046BDE8F08788CC070080CC0700C5 +:106AD000E8CC070098CC07005368757474696E673A +:106AE00020646F776E207472616E73706F7274734E +:106AF0002028666F756E643A202564290000000026 +:106B00004661696C656420746F2073687574646F86 +:106B1000776E207472616E73706F72742025642CAE +:106B2000206572726F722025640000002DE9F04725 +:106B30001449DFF854808146A1EB0800C7081348C8 +:106B400013490026401AC108042000EB0140054605 +:106B50003A4610A101F056FA00240DE058F834101E +:106B600048468847060006D028463346224612A1EA +:106B700001F04FFA02E0641CBC42EFD33046BDE89E +:106B8000F087000088CC070080CC0700E8CC070025 +:106B900098CC0700496E697469616C697A696E679F +:106BA000207472616E73706F7274732028666F75D3 +:106BB0006E643A20256429004661696C656420741E +:106BC0006F20696E697469616C697A65207472619D +:106BD0006E73706F72742025642C206572726F72F0 +:106BE00020256400012203F039B9000038B51446AD +:106BF00002780B46FAB1012A09D0022A1DD0032AD5 +:106C000023D0174940F2B330FCF700FA25E0D0F862 +:106C10000150002221461846FDF7A0F9A8420AD0EB +:106C2000104811490122401AC008042101EB00401C +:106C30000EA101F0E7F9012038BD01B02246BDE800 +:106C400030400023401C00F023B8411C40220020AB +:106C5000009400F017FA0128EED0002038BD0000A3 +:106C60001CC30700C8CC070098CC07004352432040 +:106C7000636865636B206F66206170702066616970 +:106C80006C65642E2052657475726E202564000058 +:106C90002DE9F043A9B007462020894628901C46DC +:106CA00090460125782102A8FAF7D3FBFDF784F975 +:106CB0002CB12022394620A8FEF7E6FE20AF24485A +:106CC00024494346401AC608042000EB0640044607 +:106CD0004A4621A101F09DF928A92C48CDE90001DF +:106CE00043464A462A4902A8FEF70EFE020006D095 +:106CF000012000EB064027A101F084F922E02022C8 +:106D000039462248FAF7B7FBE8B1022000EB06400B +:106D10002DA101F073F9204632A101F06FF9204650 +:106D20002022394601F014F9204633A101F066F91A +:106D300020462022154901F00BF900BF00F0ECFFBE +:106D40000028FBD1002529B02846BDE8F0830000CB +:106D5000C8CC070098CC070048617368207665723C +:106D6000696669636174696F6E2E207374617274F1 +:106D700020616464726573733A20307825782C2022 +:106D800073697A653A20307825780000907D00207C +:106D900018B50700436F756C64206E6F74207275B0 +:106DA0006E206861736820766572696669636174D4 +:106DB000696F6E20286572725F636F64652030783A +:106DC0002578292E000000004861736820766572DE +:106DD000696669636174696F6E206661696C656478 +:106DE0002E00000045787065637465642046572066 +:106DF000686173683A00000041637475616C2046F5 +:106E00005720686173683A0010B50648064C806BDD +:106E100020B103F0FFFF08B1012000E00020207046 +:106E200010BD00003C760020DC5900202DE9F04127 +:106E3000144C07460D46E06BA26B012641199142A6 +:106E40000BD911481149401AC008012101EB00403B +:106E50000FA101F0D3F8032610E00A492A465C315D +:106E600008443946FAF7DCFAE06B064A2844E06346 +:106E7000403229463846FDF771F820643046BDE8B7 +:106E8000F08100003C760020C8CC070098CC0700B9 +:106E9000496E697420636F6D6D616E64206C617200 +:106EA000676572207468616E2065787065637465CB +:106EB000642E000070B504004FF0010504D0B4F555 +:106EC000007F03D9042508E0032506E004490020DB +:106ED0000870FFF7BDFC03488463284670BD0000BE +:106EE000DC5900203C7600202DE9F041064624487C +:106EF0000F46254BD0E90E1222484FF00108C01A68 +:106F0000C00808EB00448A4205D020461FA101F0CA +:106F100075F8082430E0244D287840B1FEF736FE9D +:106F200030603946E86804F0C7F9044624E003F00D +:106F300071FFE0B100F050F8044600203060386086 +:106F4000012C0ED13946E86804F0B6F90446012850 +:106F500007D132463968E86804F06AF90446012826 +:106F600002D0FFF775FC07E085F8008004E02046BA +:106F70000EA101F043F805242046BDE8F081000091 +:106F80003C760020C8CC070098CC070045786563A4 +:106F90007574652077697468206661756C747920F2 +:106FA0006F66667365740000DC5900204661696C89 +:106FB000656420746F206465636F646520696E6921 +:106FC00074207061636B65740000000001480078F4 +:106FD00070470000DC590020F8B51C4C251D00202E +:106FE00094F86C31014602463BB194F8D802B4F8EB +:106FF000DA2204F5B87504F53771154CA3680093CF +:10700000636800F03FF80646012805D1281D00F00E +:1070100043F90646012816D00E480F49401AC50804 +:10702000022000EB05400DA100F0E8FF042000EB7A +:10703000054510A1284600F0E1FF2089616882B271 +:10704000284600F085FF3046F8BD0000BC790020DE +:10705000DC590020C8CC070098CC07005072657638 +:10706000616C69646174696F6E206661696C6564E6 +:107070002E000000496E697420636F6D6D616E644F +:107080003A0000002DE9F047A2B080462020DDF84C +:10709000A8900F4620909A461646782102A8FAF743 +:1070A000D8F900202190FCF787FF40484049401A5A +:1070B000C508032000EB054004463EA100F09EFFFA +:1070C00057B1B8F1000F20460ED044A100F096FF52 +:1070D000162022B0BDE8F087022000EB054045A154 +:1070E00000F08CFF1320F4E74A4647A100F08AFF26 +:1070F00020A94C48CDE900014B4652464A4902A816 +:10710000FEF702FC08B9402E01D00A20E1E745480D +:10711000324639464038FAF783F9204643A100F059 +:107120006DFF404820214038FEF77FFC3D4840215C +:107130004038CDE90001A0F148013A4A21A8209B3E +:10714000FEF7BCFB02002BD0012000EB05403CA168 +:1071500000F058FF042000EB054442A1204600F057 +:107160004DFF304920464022403900F0F1FE2046D4 +:107170003FA100F043FF20982A4982B2204600F048 +:10718000E7FE20463CA100F039FF204640223D4961 +:1071900000F0DEFE00F0C0FD0028FBD1052098E7DE +:1071A000204639A100F02AFF012092E7C8CC070051 +:1071B00098CC07005369676E6174757265207265BB +:1071C0007175697265642E20436865636B696E67CB +:1071D000207369676E61747572652E00496E766101 +:1071E0006C6964207369676E617475726520747967 +:1071F000706500004E6F207369676E61747572650B +:1072000020666F756E642E0043616C63756C6174EB +:10721000696E67206861736820286C656E3A202566 +:1072200064290000707D002018B50700566572695A +:107230006679207369676E6174757265000000007D +:107240005369676E6174757265206661696C656407 +:1072500020286572725F636F64653A203078257804 +:10726000290000005369676E61747572653A000009 +:10727000486173683A0000005075626C6963204B86 +:1072800065793A00C0B40700496D6167652076658D +:1072900072696669656400002DE9F04104004FF0F1 +:1072A000010603D133499E20FBF7B0FE3248334A32 +:1072B00094F85410801AC008012202EB004541B135 +:1072C00094F8550040B1012806D0022804D00328C4 +:1072D00002D028462AA147E01CB926497D20FBF7A9 +:1072E00095FE94F86E00032805D028462AA100F0E8 +:1072F00085FE14263BE094F8920018B194F89300B0 +:10730000002834D1207A78B11C4A1B4B02209A1AEB +:10731000D208E16800EB0247342908D0384623A19F +:1073200000F06CFE112622E0284625A11CE0204634 +:1073300003F044F930B1207880B12046FDF752F9CE +:1073400030B114E0384622A100F058FE12260EE0BB +:10735000384623A100F052FE102608E094F85500AC +:10736000012804D0284623A100F048FE0F2630460D +:10737000BDE8F08164C30700D0CC070098CC0700BB +:10738000496E76616C6964206669726D77617265B9 +:1073900020747970652E0000496E76616C696420F6 +:1073A0006861736820747970652E00004661756CA1 +:1073B00074792048572076657273696F6E2E0000CD +:1073C0004E6F2048572076657273696F6E2E0000ED +:1073D000534420726571206E6F74206D65742E00A9 +:1073E00046572076657273696F6E20746F6F206CDC +:1073F0006F772E0046572076657273696F6E206D29 +:10740000697373696E672E000FB438B5040003D139 +:1074100010A11C20FBF7FAFD606918B90DA11D2011 +:10742000FBF7F4FD206818B90AA11E20FBF7EEFD5A +:10743000606818B907A11F20FBF7E8FD059900292E +:1074400005D006A800906A46204600F045F838BCF2 +:107450005DF814FB2E2E5C2E2E5C2E2E5C2E2E5CE8 +:107460002E2E5C65787465726E616C5C66707269F4 +:107470006E74665C6E72665F667072696E74662E9C +:107480006300000010B5040003D107A10B20FBF737 +:10749000BDFDA268002A05D0D4E9040321689847FD +:1074A0000020A06010BD00002E2E5C2E2E5C2E2E23 +:1074B0005C2E2E5C2E2E5C65787465726E616C5C41 +:1074C000667072696E74665C6E72665F6670726911 +:1074D0006E74662E630000002DE9FC4791460C4651 +:1074E0005FEA000804D183A140F25220FBF78EFD31 +:1074F000D8F8140020B97FA14FF41570FBF786FD72 +:10750000D8F8000020B97BA140F25520FBF77EFDA2 +:10751000D8F8040020B977A140F25620FBF776FD99 +:10752000002C76D014F8011B39B125290ED0404625 +:10753000FCF7DEFC20780028F4D198F80C00002835 +:1075400067D04046BDE8FC47FFF79CBF0020012202 +:1075500021782B291BD02D2902D0302908D102E017 +:1075600040F0010001E040F00200641C002AEFD16D +:1075700000252A290ED02178A1F130020A2A11D241 +:1075800005EB850201EB4205641C303DF1E740F05C +:107590000400EAE7D9F800100B1DC9F800300968AB +:1075A000641C0D44217800232E290BD114F8011FEF +:1075B000A1F130020A2A05D203EB830201EB420358 +:1075C000303BF3E76C290DD068290BD0692921D015 +:1075D0000BDC252918D0582931D063290ED0642915 +:1075E00015D117E014F8011FECE7702969D0732951 +:1075F00032D075291BD0782909D120E0D9F80000B4 +:10760000011DC9F8001001784046FCF771FC641CAC +:1076100090E76CE0D9F800100A1DC9F8002009684D +:10762000CDE900500A224046FDF766F9EFE7D9F8A8 +:1076300000100A1DC9F8002009680A2206E0D9F8DE +:1076400000100A1DC9F8002009681022CDE9005079 +:10765000404603F093FDDAE7D9F8001000270A1D31 +:10766000C9F800200E68C00705D112E04046761C1C +:107670007F1CFCF73DFC31780029F7D104E0202184 +:1076800040466D1EFCF734FCBD42C0D9002DF6D13A +:10769000BDE74EB13046F9F7E7FE074604E020218A +:1076A00040466D1EFCF724FCBD4206D9002DF6D1E4 +:1076B00003E04046761CFCF71BFC31780029F8D12A +:1076C000A5E7D9F80000011DC9F8001005683021B0 +:1076D0004046FCF70DFC78214046FCF709FC0820E9 +:1076E0000021CDE90001034610222946B0E7BDE89C +:1076F000FC8700002E2E5C2E2E5C2E2E5C2E2E5C27 +:107700002E2E5C65787465726E616C5C6670726951 +:107710006E74665C6E72665F667072696E74665FC8 +:10772000666F726D61742E63000000002DE9F041F8 +:107730001E4615460F46040003D11DA17820FBF715 +:1077400065FC206818B91AA17920FBF75FFC1DB908 +:1077500017A17A20FBF75AFC39462046FBF754F96B +:1077600040B939462046FBF74FF918B910A17D20E2 +:10777000FBF74CFC60683946026820466A43FBF719 +:107780004CF958B960683946026820466A43FBF7ED +:1077900044F918B906A17F20FBF738FC206833466E +:1077A0002A46D0F810C039462046BDE8F04160476F +:1077B0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C63CE +:1077C0006F6D706F6E656E74735C6C6962726172FE +:1077D0006965735C6673746F726167655C6E72660F +:1077E0005F6673746F726167652E630070B51646CD +:1077F0000C46050003D108A12F20FBF707FC1CB99C +:1078000005A13020FBF702FC2C6031462846226897 +:10781000BDE87040104700002E2E5C2E2E5C2E2EF0 +:107820005C2E2E5C2E2E5C636F6D706F6E656E74B9 +:10783000735C6C69627261726965735C6673746FA4 +:10784000726167655C6E72665F6673746F726167A2 +:10785000652E63002DE9F04128B1016819B1C969AD +:10786000BDE8F04108470D4D0D480024461B142784 +:107870000DE000BF04EB840005EB8000016829B136 +:10788000C969884710B10120BDE8F081641CB6FBCE +:10789000F7F0A042EED80020F6E70000705A002072 +:1078A000845A0020044801214174007A08B1002064 +:1078B0007047012070470000A87F0020012801D0F8 +:1078C000032808D10449002201284A7400D000206E +:1078D000087402F069BC7047A87F002070B50146AB +:1078E000022801D0032943D1224C207A00283FD01E +:1078F000012831D002282FD11F4800230229006817 +:1079000002D0032928D119E0E360027912B1012ADB +:1079100022D10BE0D0E90565721B142A00D3142292 +:107920002A4482614569AA420ED015E00169491CCA +:107930000161426991420FD1237213E0E268521C47 +:10794000E260082A08D9E360237202290AD00D21D7 +:10795000FCF7E7FD02F01EFC607C28B1BDE870403A +:1079600000F084BF0021F3E7BDE8704002F01CBCCA +:1079700070BD0000A87F0020005A00202DE9F843C8 +:107980001D46089F16468846040003D12AA162209E +:10799000FBF73CFB1EB928A16320FBF737FB2068EF +:1079A00018B925A16420FBF731FB1DB922A1652080 +:1079B000FBF72CFB60684068B5FBF0F100FB115150 +:1079C00041B1B5FBF0F100FB115018B11AA16820CC +:1079D000FBF71CFB4046FBF711F838B94046FBF7B4 +:1079E0000DF818B914A16B20FBF710FB3046FBF71C +:1079F00005F838B93046FBF701F818B90EA16C202C +:107A0000FBF704FB2A4641462046FBF706F848B937 +:107A10002A4641462046FBF700F818B906A16D201A +:107A2000FBF7F4FA009720682B463246C7684146B8 +:107A30002046B847BDE8F8832E2E5C2E2E5C2E2EF5 +:107A40005C2E2E5C2E2E5C636F6D706F6E656E7497 +:107A5000735C6C69627261726965735C6673746F82 +:107A6000726167655C6E72665F6673746F72616780 +:107A7000652E63002DE9FF411C46DDE90A781546B5 +:107A80000E46684600F010F846EA450141EA8401D6 +:107A900041EA072242EA0841009A00EB8200C0F85E +:107AA0000017BDE8FF81000010B501684FF000002D +:107AB0004A0900D1401E01F01F02012191400142FC +:107AC00004D104A14FF4E370FBF7A0FA4FF0A040FB +:107AD00010BD00002E2E5C2E2E5C2E2E5C2E2E5CF9 +:107AE0002E2E5C6D6F64756C65735C6E7266785C6F +:107AF00068616C5C6E72665F6770696F2E6800000B +:107B000010B501684FF000004A0900D1401E01F095 +:107B10001F0201219140014204D104A14FF4E370FE +:107B2000FBF774FA4FF0A04010BD00002E2E5C2E23 +:107B30002E5C2E2E5C2E2E5C2E2E5C6D6F64756C72 +:107B400065735C6E7266785C68616C5C6E72665FB1 +:107B50006770696F2E68000038B501240090684690 +:107B600031B1FFF7A1FF00998C40C0F8084538BD3E +:107B7000FFF79AFF00998C40C0F80C4538BD000013 +:107B800030B5134B014600201C6922460AE0D2683A +:107B90001579854205D1401C0A28F6DB4FF0FF30ED +:107BA00030BD1268002AF2D1421CF9D0CA681071A7 +:107BB0001A693AB1D268CC68126822601A69D26830 +:107BC000116030BD1961C96800220A6030BD000033 +:107BD000549100207047FAF7B3BC704708B5034AC8 +:107BE00000924023024A00F005F808BDA1A6070054 +:107BF000BC7F0020F0B595B01C4615460F460846E0 +:107C00001A9E00F06DFB182109A8F9F722FC0E96C8 +:107C1000CDE909540023082203A9384600F076FB79 +:107C200005980690BDF81000ADF81C00BDF81200D4 +:107C3000ADF81E0000208DF821000398082600F002 +:107C40000300012802D0022818D032E003983346FE +:107C5000850AC0F3C2008DF8200003980FA9C0F375 +:107C60008314A200384600F051FB09A8009006AB2F +:107C700022460FA9284600F08FFA1AE00398840DD7 +:107C8000C0F3C2008DF82000082C01D2254600E088 +:107C9000082533462A460FA9384600F037FB2E4404 +:107CA000641B09AB06AA29460FA800F0DBF9002CDB +:107CB000EAD1384600F01AFB15B0F0BD0A4A012996 +:107CC00002EBC00007D0022907D0032907D00429FE +:107CD00007D00020704702207047042070470079C9 +:107CE000704740797047000098CC070010B5FFF747 +:107CF00072FF04210648FFF743FF002803DA054915 +:107D00001B20FBF783F902490120C968487110BDA7 +:107D100088CC0700F0C707002DE9F04F8DB0FCF7C5 +:107D2000FFF818B100200DB0BDE8F08F7D4E0020A7 +:107D3000B061BFF34F8FA6F580547B49A0680190D6 +:107D40000D684FF00009284004EB80000AE0B0699C +:107D500070B961680198814201D8A160E2E72840CA +:107D600004EB80000C3001A9FCF719FE0028EED1CD +:107D7000002005AAA046019901EA050308EB830348 +:107D8000491CDB6842F82030401C01910228F2D3E4 +:107D9000059800F00300022802D001284CD0A8E08A +:107DA00005985022810D8A46B2EB905F00D8502191 +:107DB0000C4664F39F50059008315C4800F047FA88 +:107DC000070075D000F08CFA4B46082205A938460A +:107DD00000F0C8FA019909F1080B2940681A8000DF +:107DE000001D844221D9524D30B1C2B208EB81014D +:107DF000201A91460C3104E02946E2B20025914652 +:107E00002846C4B25B46384600F0ACFA0BEB0903D7 +:107E100025B122462946384600F0A4FA01990AF114 +:107E2000030001EB900001903BE008EB81015B4611 +:107E3000224638460C31EFE70598C0F38310062838 +:107E400000D30620059960F38911C1F38310801CCB +:107E500005918100354800F0FAF9070049D000F09B +:107E60003FFA4B46082205A9384600F07BFA09F193 +:107E7000080900240FE001984B4600EA0501401C68 +:107E800008EB81010190042238460C3100F06AFAB7 +:107E900009F10409641C0598C0F38310A042EAD8D4 +:107EA00037B13469B06978B1384600F01FFA34E070 +:107EB0001FE0E0684079012804D122682046394655 +:107EC00012689047E0680468002CF2D1384600F050 +:107ED0000DFA00208DF800006846FBF707F8B0693E +:107EE00010B90199C8F808109DF80000FBF74AF88E +:107EF00013E0346905E02168204689688847E06816 +:107F00000468002CF7D10B480B49401AC008022125 +:107F100001EB004009A100F071F8FCF701F880F0D6 +:107F2000010000E754910020145A00201CCD0700E6 +:107F300060810020E8CC070098CC07004261636BA9 +:107F4000656E647320666C7573686564000000007C +:107F50002DE9F84F8146274FD01C15468A468008E8 +:107F6000002269463E68FBF769FFDFF88C80B0B3FA +:107F7000009CA01C009039683040091A8F003F1DFA +:107F8000BD4208EB800002D82A46514608E03A4636 +:107F900051460C30F9F744FA1748EA1B0AEB07017F +:107FA0000C30F9F73DFA4FEA1947FCF74BFA47EA6C +:107FB0000042601C304008EB8000344008EB840134 +:107FC000C260C8684FF6C07269F3C500904365F39C +:107FD0009F5020F00300801C20F00400C86098F837 +:107FE000000001E0FFF798FE0028FBD1FCF783FDBD +:107FF000BDE8F88F145A00205481002000231A464F +:1080000002F0D2BE08B5012300926A4602F0CCFE0F +:1080100008BD1CB5CDE9002302236A4602F0C4FE68 +:108020001CBD3EB5069C8DE81C0003236A4602F089 +:10803000BBFE3EBD7FB5DDE908458DE83C0004236D +:108040006A4602F0B1FE7FBD70B586B00DF1280C16 +:108050009CE870008DE87C0005236A4602F0A4FECF +:1080600006B070BD2DE9F0470E4680461C4692468C +:10807000082940D894F80C90002020731946104627 +:1080800002F02EF80025B54206D218F805201BA1F3 +:108090002046FFF7B9F903E01AA12046FFF7B4F92B +:1080A0006D1C082DEFD318A12046FFF7ADF9002570 +:1080B000B54212D218F805707E2F08D8F9F7ACF93E +:1080C0000068C05D10F03E0F01D03A4600E02E225D +:1080D0000EA12046FFF798F903E00DA12046FFF717 +:1080E00093F96D1C082DE3D301222146504601F07F +:1080F00097FE84F80C90BDE8F08700002025303210 +:1081000078000000202020007C0000002563000093 +:1081100020000000064910B500200870054800F056 +:10812000E3F8002803D1044800F09AF9002010BDBC +:10813000548100201CCD070008BB070002480349FA +:10814000401AC0087047000008CD070098CC07000F +:1081500013B56846FCF70EFE08B100201CBD0248AE +:10816000009950F831001CBD98CC070070B5094843 +:1081700001250469A0F58050057007E0E0684571AD +:108180002168204649688847E0680468002CF5D1DA +:1081900070BD0000549100202DE9FF4781460C9DE1 +:1081A00000200C462F7B2873984616462946184611 +:1081B00001F096FF072E42D2DFE806F004090F1601 +:1081C0001F2A360049462846FFF71EF937E0494680 +:1081D00028462268FFF718F931E0D4E90023494620 +:1081E0002846FFF711F92AE0A0680090D4E900239F +:1081F00049462846FFF708F921E0D4E90201CDE914 +:108200000001D4E9002349462846FFF7FDF816E0AF +:1082100004F1080007C88DE80700D4E900234946A7 +:108220002846FFF7F1F80AE004F108000FC88DE8CE +:108230000F00D4E9002349462846FFF7E5F800225D +:108240002946404601F0ECFD2F73BDE8FF872DE97C +:10825000F041058A80462D1F4819C01CB0FBF5F07F +:10826000C6B24046FCF718FE041E19D0002020714B +:1082700001206071E58000272546761EC4F8008045 +:108280000BE04046FCF708FE60B16179491C617162 +:10829000286005467F1CC0F80080B742F1D3204615 +:1082A000BDE8F081204600F002F80020F8E72DE953 +:1082B000F041457901466B1E002201E00968521C1D +:1082C0009A42FBD30F680146002605E038460C6849 +:1082D000FCF748FE2146761CAE42F7D3BDE8F0819C +:1082E0000121001DFCF7B1BDFCF784BE10B50446AA +:1082F0000121001DFCF7CAFD10F0FF0F04D120463C +:10830000BDE81040FFF7D3BF10BD00001CB51446F8 +:108310000122CDE9002401AAFCF7BEFC0198A0428D +:1083200003D002A1DA20FAF771FE1CBD2E2E5C2EBE +:108330002E5C2E2E5C2E2E5C2E2E5C636F6D706F6D +:108340006E656E74735C6C69627261726965735C90 +:108350006D656D6F626A5C6E72665F6D656D6F6292 +:108360006A2E63001CB514460022CDE9002401AA40 +:10837000FCF792FC0198A04203D002A1D020FAF7AA +:1083800045FE1CBD2E2E5C2E2E5C2E2E5C2E2E5CF1 +:108390002E2E5C636F6D706F6E656E74735C6C69AE +:1083A000627261726965735C6D656D6F626A5C6E45 +:1083B00072665F6D656D6F626A2E63000949022205 +:1083C0000A60BFF36F8FBFF34F8F0A1D106006481E +:1083D0000268002AFCD000200860BFF36F8FBFF353 +:1083E0004F8F704704E5014000E40140094A012332 +:1083F0001360BFF36F8FBFF34F8F016006480168B2 +:108400000029FCD000201060BFF36F8FBFF34F8FA7 +:108410007047000004E5014000E4014070B50E4CD7 +:1084200001232360BFF36F8FBFF34F8F00230B4DEA +:1084300008E000BF51F8236040F823602E68002E4A +:10844000FCD05B1C9342F5D300202060BFF36F8FFC +:10845000BFF34F8F70BD000004E5014000E4014010 +:10846000826800219160826811618268516182682E +:10847000D1608268516080680160704708B5002251 +:1084800042504058009008BD20B10349096801607E +:10849000002070470E2070478CBB07002DE9FE437B +:1084A00007460E460846FFF7EFFF00287CD1002460 +:1084B0000094019406208DF800704FF00108ADF88B +:1084C000040002948DF8028069462020326869DF3A +:1084D0003649374A891AC908012202EB014530B1F1 +:1084E00000F09EFA024628463249FFF78BFD0094C1 +:1084F0008DF801808DF80240019402948DF80340BC +:1085000069464020326869DF30B100F089FA0246DE +:1085100028462949FFF776FD00948DF80070F72072 +:10852000ADF802000194029469462320326869DFA5 +:1085300030B100F075FA024628462049FFF762FD87 +:108540000094019402948DF80080694601203268FD +:1085500069DF30B100F064FA024628461849FFF797 +:1085600051FD4FF4B0600090019402946946A1203F +:10857000326869DF30B100F053FA024628461149EB +:10858000FFF740FD0094019402948DF80040694685 +:10859000A020326869DF30B100F042FA0246284676 +:1085A0000949FFF72FFD0020BDE8FE83F8CC070046 +:1085B00098CC0700E8C9070030CA07007CCA07004A +:1085C00048C9070094C90700F4C807002DE9F04125 +:1085D0000546076860DF804619491A482A68081A64 +:1085E000C608BA4219D9022000EB064416A120465B +:1085F000FFF704FD20463A461FA12B68FFF709FD4F +:108600004FF08050D0F80C012968800200F1005032 +:10861000421A204625A1FFF7F5FCB8F100004FF003 +:1086200001040AD000F0FCF9024604EB06402AA13E +:10863000FFF7E8FC4046BDE8F0812F480470F9E7F9 +:10864000F8CC070098CC0700496E737566666963BD +:1086500069656E742052414D20616C6C6F6361746A +:10866000656420666F722074686520536F66744479 +:1086700065766963652E00004368616E67652074E6 +:1086800068652052414D207374617274206C6F6371 +:108690006174696F6E2066726F6D20307825782066 +:1086A000746F20307825782E000000004D617869C5 +:1086B0006D756D2052414D2073697A6520666F7229 +:1086C000206170706C69636174696F6E20697320DA +:1086D000307825782E00000073645F626C655F65FA +:1086E0006E61626C6528292072657475726E6564AE +:1086F0002025732E000000006B5A002030B518486A +:10870000ADF5017D0078002826D04FF4FA7400BF43 +:10871000ADF8004280A9684661DF38B105281BD05A +:108720000DF5017DBDE83040FAF79EBA6D460D4962 +:108730007DA800F0F1F809E07DA800F0D5F8D0E9B7 +:108740000021284690477DA800F024F97DA800F07C +:10875000CBF80028DCD0EFE70DF5017D30BD00003F +:108760006B5A002090BB0700F8B5134C2078C0B1BD +:108770000120A07001F05EFF112814D0022001F04A +:1087800075FF00258DF800506846FAF7AFFB11DF42 +:10879000064625709DF80000FAF7F4FB2EB130462E +:1087A000F8BD0820F8BD0020F8BDA57002F01CFA45 +:1087B000032001F05BFFF6E7685A00207CB5194CF6 +:1087C000207808B108207CBD0120A070002001F0B5 +:1087D00031FF112819D0002001F048FF124800266F +:1087E000006801908DF800606846FAF77FFB0F493A +:1087F00001A810DF05000AD0002020709DF80000BD +:10880000FAF7C0FB2DB128467CBD00207CBD0120BD +:10881000F3E7A670667002F04BFA012001F026FF24 +:10882000F3E70000685A002024BB0700052C07006E +:108830000EB50A49684600F06FF808E0684600F097 +:1088400047F8D0E900108847684600F0A3F868466A +:1088500000F03EF80028F1D10EBD000040BB07003B +:108860000148007870470000685A00200548817868 +:1088700019B1007818B1FFF777BF08207047FFF7EC +:108880009DBF0000685A00201FB568464BDF30B11D +:10889000052819D004B0BDE81040FAF7E5B90B4936 +:1088A00001A800F039F809E001A800F029F8D0E9A2 +:1088B00000210098904701A800F06CF801A800F092 +:1088C0001FF80028E1D0EFE71FBD0000ACBB070098 +:1088D00010B5040003D103499E20FAF797FBA06866 +:1088E00010BD0000A0C8070010B5040003D1034963 +:1088F0009E20FAF78BFBA06810BD0000A0C80700FF +:1089000010B5040003D103499E20FAF77FFBA0684D +:1089100010BD0000A0C8070070B50D46040003D1CB +:1089200008492A20FAF772FB1DB906492B20FAF7ED +:108930006DFB2560286860602046BDE8704000F04F +:1089400003B80000B0C3070010B5040003D11049FC +:108950000D20FAF75BFB206818B90D490E20FAF7D5 +:1089600055FB606818B90A490F20FAF74FFBD4E9A4 +:1089700000104A68904201D1002004E0D0E90023B1 +:108980009A4202D01046A06010BD08306060F0E747 +:10899000B0C3070010B5040003D112493D20FAF717 +:1089A00035FB206818B90F493E20FAF72FFBA06865 +:1089B000002815D0216889680844A060606818B94B +:1089C00008494D20FAF722FBD4E90101426891429F +:1089D00006D1083060602046BDE81040FFF7B4BF04 +:1089E00010BD0000B0C307000C4A10B502F5947327 +:1089F0000EE0991AC91001EBD171491002EBC101C7 +:108A00000C68844201D90B4602E005D201F108024C +:108A10009A42EED3002010BD486810BDC8B80700C8 +:108A200000B5FFF7E1FF002800D1014800BD0000BC +:108A3000B4B807002DE9F04104461348134BC01A9F +:108A40000C21B0FBF1F6A0694FF0FF3110F8022CB9 +:108A500002B92169002011E000EB400503EB850518 +:108A60002F68974209D14F1C02D06F688F4204D102 +:108A700094E80F00AD68A84703E0401CB042EBD378 +:108A800001202060BDE8F0816CCD070060CD0700BB +:108A900010B5144612680830202A02D248F2145049 +:108AA00010BD002201F02EFF0028F9D12020206007 +:108AB000002010BD083001F0ADBF083002F06AB8E8 +:108AC00002480068002800D00120704700040140DF +:108AD00003490860034801680029FCD07047000082 +:108AE00004E5014000E4014070B50C46050003D1E7 +:108AF0000E49DE20FAF78AFA1CB90C49DF20FAF792 +:108B000085FA0B480B49401AC008042101EB0040CC +:108B100009A1FFF773FA13490320C96888476869F8 +:108B2000FEF7C8F9FBF727FD607070BD3CBF07007A +:108B3000B0CC070098CC070048616E646C65204E8D +:108B400052465F4446555F4F505F4F424A4543543B +:108B50005F4352454154452028636F6D6D616E64DB +:108B600029000000C859002070B50D4620B91649EB +:108B70004FF48370FAF74AFA25B9134940F2071007 +:108B8000FAF744FA11481249401AC108042000EBD0 +:108B9000014004460FA1FFF731FA1949081FFEF7FB +:108BA000A3F9FBF7E8FC6870012805D10020FDF768 +:108BB0004BFF10B10A20687070BD2046BDE87040C0 +:108BC00010A1FFF71BBA00003CBF0700B0CC0700A4 +:108BD00098CC070048616E646C65204E52465F4435 +:108BE00046555F4F505F4F424A4543545F45584595 +:108BF000435554452028636F6D6D616E64290000F4 +:108C0000D059002057726974696E672076616C696B +:108C10006420696E697420636F6D6D616E64207489 +:108C20006F20666C6173682E0000000070B50D4601 +:108C3000040003D11849EC20FAF7E8F9206918B9C3 +:108C40001549ED20FAF7E2F9A08A18B91249EE2089 +:108C5000FAF7DCF91DB91049EF20FAF7D7F90F48F8 +:108C60000F49401AC008042101EB00400DA1FFF795 +:108C7000C5F9A18A2069FEF7D9F8FBF77CFC68707A +:108C80002846FBF759F9E168002903D02069BDE8BF +:108C90007040084770BD00003CBF0700B0CC070023 +:108CA00098CC070048616E646C65204E52465F4464 +:108CB00046555F4F505F4F424A4543545F575249B4 +:108CC00054452028636F6D6D616E642900000000BB +:108CD00030B587B00C46054618221B496846F8F7A0 +:108CE0009FFB207B0195194D8DF80000012806D0CF +:108CF000022815D0062821D1607B04901EE0A888A8 +:108D0000E880607B0490617CD4F80E0061F31F6002 +:108D100005900498012811D10D48FDF7A9FE0DE03A +:108D20000C480D49401AC008042101EB00400BA17A +:108D3000FFF764F9B4F80D00A880E8806846FDF7F5 +:108D40008DFB07B030BD000058B70700A8590020C0 +:108D500080CC0700A0CC070098CC07005365742096 +:108D600072656365697074206E6F746966000000D7 +:108D700070B50E460B480C49401AC108042000EBA0 +:108D800001440AA12046FFF739F9114D204611A1EF +:108D9000AB6C2A6DFFF73DF9A86CB060286D706070 +:108DA00070BD0000B0CC070098CC070048616E642D +:108DB0006C65204E52465F4446555F4F505F4352AC +:108DC000435F474554202864617461290000000016 +:108DD0003C7600204F66667365743A25642C204308 +:108DE00052433A3078253038780000002DE9F84FAA +:108DF0000D460746374838494FF00409401AC40861 +:108E000009EB0440064635A1FFF7F8F8FEF7DEF857 +:108E1000012101EB04444FF0080AA8B17A694FF030 +:108E20000308B2B137493848130515D0436DD1F85E +:108E300008C0134463450FD0204634A1FFF7DEF885 +:108E400085F80180BDE8F88F204639A1FFF7D6F8F4 +:108E500019E0204644A1F1E7B2F5805F06D920462B +:108E600048A1FFF7CBF885F80190EBE7436DD1F807 +:108E700008C003EB0208E04508D920464A49CDF86E +:108E800000C0FFF7CEF885F801A0DBE74264C26CB2 +:108E900003650363804682647869002200F6FF70F0 +:108EA000070B486839461844FDF7E6F830B120460C +:108EB0003EA1FFF7A3F805206870C3E7D8F8481073 +:108EC000009130463FA1D8F85030D8F84420FFF741 +:108ED000A8F8B7E7B0CC070098CC070048616E64EB +:108EE0006C65204E52465F4446555F4F505F4F427F +:108EF0004A4543545F4352454154452028646174B8 +:108F000061290000C85900203C7600204F626A6544 +:108F100063742073697A65206D75737420626520AF +:108F20007061676520616C69676E656400000000B0 +:108F300043616E6E6F742063726561746520646155 +:108F40007461206F626A65637420776974686F75F5 +:108F5000742076616C696420696E697420636F6D3A +:108F60006D616E64000000004F626A656374207377 +:108F7000697A652063616E6E6F7420626520302EA1 +:108F800000000000496E76616C69642073697A653F +:108F900020666F72206F626A6563742028746F6F39 +:108FA000206C617267652900C8BE07004572617355 +:108FB00065206F7065726174696F6E206661696C9F +:108FC000656400004372656174696E67206F626A50 +:108FD00065637420776974682073697A653A20251F +:108FE000642E204F66667365743A203078253038D9 +:108FF000782C204352433A203078253038780000CE +:109000002DE9F0410E46074615481649401AC50895 +:10901000042000EB054014A1FEF7F0FF1C4CD4E93E +:109020001401626C431A9A420AD0012000EB0540F9 +:1090300018A1FEF7EEFF082070700120BDE8F08156 +:1090400000216164A16CE16460650021384600F094 +:1090500035F819490420C96888470020EEE7000068 +:10906000B0CC070098CC070048616E646C65204E58 +:1090700052465F4446555F4F505F4F424A45435406 +:109080005F45584543555445202864617461290063 +:109090003C760020496E76616C696420646174617D +:1090A0002E2065787065637465643A2025642C20F1 +:1090B000676F743A20256400C8590020F0B5044653 +:1090C00087B00020FEF7C6FB01002548254A4FF077 +:1090D0000107A0EB02004FEAD0050AD0224A18216E +:1090E0002046F9F77DFE020037D007EB05401FA1AF +:1090F00031E0182228496846F8F792F92748284EA7 +:10910000184B174D016DEB1A0420DB08B26800EB19 +:109110000345914215D1284622A1FEF76FFFD6E9FB +:109120000101FDF75FFD8DF80100FBF724FA8DF8D2 +:109130000100D4E90112684690472648FDF784FCF7 +:1091400005E08DF80170D4E90112684690479DF85A +:109150000120284620A1FEF755FF07B0F0BD000012 +:10916000B0CC070098CC0700BD9007004661696C41 +:10917000656420746F207363686564756C65206F27 +:10918000626A65637420657865637574653A20303A +:109190007825782E0000000018B807003C760020E3 +:1091A000C859002057686F6C65206669726D7761D9 +:1091B000726520696D6167652072656365697665B2 +:1091C000642E20506F737476616C69646174696E8B +:1091D000672E0000919307005265717565737420C6 +:1091E00068616E646C696E6720636F6D706C657426 +:1091F000652E20526573756C743A2030782578009E +:1092000038B50D460C480D49401AC108042000EB42 +:10921000014004460AA1FEF7F1FE134813A1826C37 +:10922000AA60036D4FF480506B60E86000902046A8 +:10923000FEF7F7FE38BD0000B0CC070098CC070061 +:1092400048616E646C65204E52465F4446555F4FE0 +:10925000505F4F424A4543545F53454C4543542069 +:1092600028646174612900003C76002063726320E9 +:109270003D20307825782C206F6666736574203D1C +:1092800020307825782C206D61785F73697A6520AD +:109290003D203078257800002DE9F0410E46044647 +:1092A00026482749401AC708042000EB074025A19B +:1092B000FEF7A4FEFDF78AFE90B12C4DD5E914010E +:1092C000401AA18A6A6C084490420BD9012000EB35 +:1092D000074027A1FEF792FE03207070BDE8F081E1 +:1092E0000820FAE7284A286B526800EB02081F4A58 +:1092F00020694832FAF732FE0746E06820B9234970 +:109300004FF4E570F9F782FED4E90331A28A4046B2 +:10931000FCF768FF20B1D4E90310BDE8F04108472D +:10932000A18A286B08442863A18A286DAF64084489 +:109330002865B760286D7060D0E70000B0CC0700EA +:1093400098CC070048616E646C65204E52465F44BD +:1093500046555F4F505F4F424A4543545F5752490D +:109360005445202864617461290000003C76002087 +:109370005772697465207265717565737420746FB6 +:109380006F206C6F6E670000C85900203CBF07005B +:109390000848094910B5401AC008042101EB0040F3 +:1093A00006A1FEF72BFE12490620C968BDE8104051 +:1093B00008470000B0CC070098CC0700416C6C2037 +:1093C000666C617368206F7065726174696F6E732B +:1093D000206861766520636F6D706C657465642EBE +:1093E0002044465520636F6D706C657465642E0073 +:1093F000C8590020FEF7BAFEFEF78EFC0028FBD10C +:109400000D4E64254FF47A47741C3846A0476D1EF4 +:10941000FAD10A480068C00700D000BEBFF34F8FE2 +:109420000648E4380168064A01F4E061114301602E +:10943000BFF34F8F00BFFDE700B50700F0ED00E080 +:109440000400FA0510B50446084809492246401AA6 +:10945000C008042101EB004006A1FEF7D3FD214620 +:10946000BDE810400848FBF77DBD0000A0CC070018 +:1094700098CC070046726565696E672062756666FE +:10948000657220257000000008CD070030B58A1DE8 +:109490008B79083187B0022B33D153888489A3425A +:1094A0002FD1127A012A2CD1184C0DF1040C3CCC8E +:1094B0008CE83C000A89ADF80C204A890C310491F3 +:1094C0001249ADF80E208039114C096A0591CDF88A +:1094D00018D0018A05AA6088ADDF18B96846FAF786 +:1094E000EFFA38B10020ADF8080001A96088B0DFBC +:1094F00050B106E040F2FD10ADF8080001A9608807 +:10950000B0DF002007B030BD0120FBE770B70700D7 +:10951000A859002070B506468C1DC888B18888B04F +:1095200088422DD11B48FBF7B7FC05001A481B49A0 +:10953000A0EB01004FEAD00024D0F42100910421D7 +:1095400001EB004063892A4615A1FEF76AFD628996 +:1095500004F10C012846F7F763FF1822184901A807 +:10956000F7F75EFF029605956089ADF8180001A82F +:10957000FCF774FF002803D029460648FBF7F2FCED +:1095800008B070BD022101EB00400EA1FEF736FDD0 +:10959000F6E7000008CD0700A0CC070098CC070034 +:1095A0004275666665722025702061637175697207 +:1095B00065642C206C656E202564202825642900B4 +:1095C00080B7070063616E6E6F7420616C6C6F63AF +:1095D000617465206D656D6F727920627566666570 +:1095E00072210000F8B50D4614460646694600F0A3 +:1095F00057FA00280FD0009BB3F5803F0AD2981C81 +:10960000834207D8A9780222B2EB911F02D02989A0 +:10961000814201D20020F8BD2380A11C3046009A6F +:1096200000F094FBF8BD114600F0D6B8114600F0EA +:10963000E3B8F8B50C4615460646694600F030FA20 +:1096400000280CD0009A501C904207D3A178022326 +:10965000B3EB911F02D02189814201D20020F8BDD5 +:109660002946304600F072FB009A0021A954F8BD4B +:109670002DE9FF410C46CE6817460546694600F0C5 +:1096800037FB00280ED0E06800280BD0A0783A46BF +:10969000C0F3011002283146684606D000F0DAF81F +:1096A0000199696004B0BDE8F08100F086F8F7E741 +:1096B0007CB50D461446694600F08FF9002820D08D +:1096C0002889082806D0042809D002280AD00128B1 +:1096D0000CD015E0DDE90001C4E900010AE00098C2 +:1096E000206006E0009800B2208002E0009840B2BE +:1096F0002070C117DDE9002350405940084301D0D4 +:1097000000207CBD01207CBD7CB50D461446694619 +:1097100000F0A1F9002820D02889082807D00021CE +:10972000042809D002280AD001280CD014E0DDE971 +:109730000001C4E9000109E00098206006E00098FB +:1097400080B2208002E00098C0B22070DDE90023E2 +:1097500050405940084301D000207CBD01207CBD11 +:109760007CB50D461446694600F075F9002821D0F5 +:109770002989082908D00098C21704290BD002298A +:109780000DD001290ED014E0DDE90002C4E9000289 +:109790000146134609E0C3170146206005E001B207 +:1097A000218001E041B22170CB1741405340194361 +:1097B00001D000207CBD01207CBD70B50D46064661 +:1097C00014461146284600F0AEFA22462946304695 +:1097D000BDE8704000F03EB838B50C46042269463A +:1097E00000F0B4FA002806D09DF80310009861F349 +:1097F0001F602060012038BD1CB50C460822694658 +:1098000000F0A4FA002824D09DF801109DF8002053 +:109810009DF80230080E42EA012242EA034240EA81 +:1098200013409DF803309DF8041040EA13200843CC +:109830009DF8051042EA036240EA01209DF80610F7 +:1098400040EA01409DF8071040EA0160C4E90020A9 +:1098500001201CBD2DE9F04F04469DB00020009072 +:10986000064601904FF0FF3A0AA800F07DF94FF04C +:10987000010BE94682E012AB05AA06A9204600F0DA +:10988000C9F850B10AA8059900F07FF960B10B98AA +:10989000807810F0300F53D060E09DF84800002829 +:1098A00070D11DB0BDE8F08F0598B04242D30B9D3A +:1098B0000AAE0B98807800F00F00082812D03046CE +:1098C00000F07AF90B98A842F3D156460599B142B7 +:1098D00030D3D4F8088009919DF8181008910E999A +:1098E0000D6820E00B980688F0E729680F682FB113 +:1098F000DDE9083229462046B84711E0119489680D +:10990000DDE90872098891420CD1294617A8FBF7B6 +:10991000DBF885F80CB017AA39461198FAF7B7FBAF +:109920000028BED0AD6815B1A1684145DDD0A16861 +:10993000414523D19DF81810204600F043FA1BE062 +:109940000C9840280AD200F01F010BFA01F00C9984 +:109950004A0959F82230034349F82230E5682DB10D +:109960000AAB9DF8182020460599A8470AAA9DF839 +:1099700018102046FAF78BFB002892D0A068002828 +:109980007FF479AFDDE90B0485780AA800F014F9BB +:109990000028F7D115F0300F03D10B98008800B1E3 +:1099A000641CC4B10020494605E000BF51F82020E6 +:1099B000521C0ED1401CB0EB541FF7D3600959F86C +:1099C000201004F01F00C0F120022AFA02F08142A8 +:1099D00001D0002065E7012063E71CB50C4669460D +:1099E00000F039F8002814D0DDE90002C10709D0E1 +:1099F00051084FEA30006FEA00026FEA0100C4E943 +:109A0000002004E051084FEA3000C4E900014FF0A3 +:109A100001001CBDF8B507460020187008700E46FE +:109A200010601C4615466946384600F039F80100BA +:109A30004FF0010009D0009959B1C808286000987A +:109A400000F0070030700120F8BDB96809B10020AE +:109A5000F8BD2070FBE72DE9F843002688468146D3 +:109A60003446354604E0402E02D30020BDE8F8839A +:109A70006946484600F096F90028F7D09DF8007036 +:109A8000324607F07F00C10FF7F7B6FC29430443C5 +:109A9000F61D0D463806E6D4C8E900410120E5E789 +:109AA000F8B50E460746694600F07CF900280AD052 +:109AB0009DF80040200616D5072504F07F0403E03A +:109AC000202D01D30020F8BD6946384600F06AF920 +:109AD0000028F8D09DF8001001F07F00A840044352 +:109AE000ED1D0806ECD401203460F8BD30B459688F +:109AF000114AC968914208D1D0E901120F48D0E952 +:109B00000134234303D00021817030BC704711F829 +:109B1000013BA2F101021B06F9D4C0E901120121A7 +:109B200081700748074930BC401AC008042101EB86 +:109B3000004005A1FEF766BAA0B50700DC59002079 +:109B4000C8CC070098CC070050423A20496E69748F +:109B5000207061636B65742064617461206C656E54 +:109B60003A20256400000000C26000230160C0E9C3 +:109B700001138B881A440261B1F906301A4442611C +:109B80000888002800D00120704770B545680E464F +:109B9000044660680188B14206D1807800F00F0069 +:109BA000082801D0012070BD204600F005F860684B +:109BB000A842EED1002070BD30B541680A885AB184 +:109BC00001F1100343600A8A42B18C780A89C4F318 +:109BD0000115032D07D00BE0002030BDC2680168DD +:109BE000FFF7C2FFF8E79D78C5F30115032D06D0F6 +:109BF0000225B5EB141F08D14C89624309E08D881A +:109C000004690022641B046103E0B5EB941F00D1DA +:109C10000422897811F0300F02D18168491C8160DB +:109C20009C880169214411440161B3F90620114463 +:109C30004161012030BD30B54168002487B089788A +:109C400001F00F02082A11D08A091ED00222B2EBBD +:109C5000911F09D10269C1F301110229146001D0D9 +:109C6000032901D14069048007B030BD006905684F +:109C700008E02C7329466846FAF726FF6846FFF786 +:109C8000DAFFAD68002DF4D1EEE7C1F3011101292F +:109C900012D00229E6D00329E4D04268917801F07D +:109CA0000F0107290BD0D16881B11289006907B073 +:109CB000BDE83040F7F7B4BB41690C70EDE70169CE +:109CC000D06807B0BDE8304000F02DB811890069B8 +:109CD00007B0BDE83040F7F7BCBB000010B5034B40 +:109CE000002408C080E8160010BD0000D53E070023 +:109CF00038B50D4604466946FFF7D2FE00280BD062 +:109D0000D4E90002D4E90213C5E90002C5E902134F +:109D10000098814201D2002038BDA860A168081ACD +:109D2000A060012038BD00B50A4687B001466846EC +:109D3000FFF71AFF002807D06846FFF77CFF684648 +:109D4000FFF73AFF0028F7D107B000BD7FB51446F2 +:109D50000546A9B9124A2868904208D110E010229D +:109D600069462846FFF7F2FF002807D0103C102C68 +:109D7000F5D8224669462846FFF7E8FF04B070BDD3 +:109D8000A868A04201D20020F8E72B6822462846A6 +:109D900098470028F2D0A868001BA8600120EDE7D2 +:109DA000D53E070010B504468068002809D0236816 +:109DB000012220469847002803D0A068401EA060DA +:109DC000012010BD38B5002439B1012912D0022973 +:109DD00012D005291DD0002038BD05460122694654 +:109DE0002846FFF7B3FF90B19DF800000006F5D4B8 +:109DF000012038BD08220DE005466946FFF750FEF8 +:109E000028B100212846009AFFF7A0FF38BD204660 +:109E100038BD0422BDE838400021FFF797BF00009D +:109E200010B50C46017A052908D0407A38B10848A7 +:109E300008A102682046FDF7E7FA00E01AB106A182 +:109E40002046FDF7E1FA2046BDE81040FDF71ABBB9 +:109E5000445A0020257300000D0A00002DE9FC4142 +:109E60008046224817460E46C5680A4601244146E8 +:109E70002846FAF7A1FB70B195F8550068B100F0DB +:109E80000101C0F3400243462846CDE9006700F0D7 +:109E900089F848B109E0172407E03B4632464146BD +:109EA000284600F027F8F4E70524114D6FB1012C86 +:109EB00013D005F12400FBF779FE00BFFCF7C8FCC6 +:109EC000C5F848802046BDE8FC81012C02D0FCF793 +:109ED000BFFCF7E701206861F4E700223146404605 +:109EE000FAF73CF8C5E90960E8E70000DC59002012 +:109EF0003C7600202DE9F041044690F8550094B0DE +:109F00001D461746884620B1174940F20130F9F73F +:109F10007DF80126CDE9007643460022214602A8BD +:109F2000F9F750FE00281CD0D5B1412202A90F48F4 +:109F3000F7F776FA0F4810490D4D401AC008042172 +:109F400001EB00400DA1EE62FEF758F800202862F8 +:109F500094F8920010B194F8930008B96068A86072 +:109F6000012014B0BDE8F0811CC30700DD7800209B +:109F70003C760020C8CC070098CC0700496E76617B +:109F80006C69646174696E67206F6C6420617070C5 +:109F90006C69636174696F6E20696E2062616E6BBB +:109FA00020302E002DE9FF4FA5B088460446154607 +:109FB000442113A8329FF7F74CFA442102A8F7F77F +:109FC00048FADDF8A09058EA050004D13C4940F277 +:109FD0003B30F9F71BF83B483B4A801A02224FEA14 +:109FE000D00A02EB0A46B8F1000F1ED0A16D2898E6 +:109FF00000F01AFE002848D02898FAF7FBFC4FF032 +:10A00000010B20B130463149FDF7F8FFB5B3A16D22 +:10A01000CDE9001B0022214613A8289BF9F7D2FDA9 +:10A02000002832D0A06D81443F1A8DB10020CDE9C7 +:10A0300000704B464246214602A8F9F7C3FD0028AE +:10A0400023D09DF8080018B130462149FDF7D6FF0E +:10A05000339898B31F4EB8F1000F1ED02898FAF726 +:10A06000C9FC18B106F11800FBF7A0FD412213A9A5 +:10A070001948F7F7D5F95DB1AC200AE0FFE70BEB23 +:10A080000A401649FDF7BAFF002029B0BDE8F08F5D +:10A09000A520F062A06D706301E0AA20F0626DB1AE +:10A0A0000D48412202A98230F7F7BAF994F89200DC +:10A0B00010B194F8930008B96068F0600120E4E7FB +:10A0C0001CC30700C8CC070098CC0700D8C2070003 +:10A0D000D4C107003C7600209C78002020C10700F6 +:10A0E00038B5C3880D46044633B114A0009015A2BC +:10A0F00016A12846FDF788F9217A05291CD0607A37 +:10A1000048B1A088FDF7DAFD164951F8202016A1C4 +:10A110002846FDF779F9A0880021FEF719F80346D3 +:10A120001049207A143951F8202001B02846BDE8A2 +:10A1300030400EA1FDF768B938BD00001B5B306DE3 +:10A14000000000001B5B313B33316D0025734C6F09 +:10A1500067732064726F70706564202825642925F8 +:10A16000730D0A00445A0020257300003C25733EFD +:10A170002025733A20000000EFF30580C005C00DD4 +:10A1800001D001207047EFF3148040F30000401C21 +:10A1900070470000034802490068FAF729BE000032 +:10A1A000045A002084B807002DE9F041224C002514 +:10A1B000224E207A012730B92148311D0068FAF774 +:10A1C00022FE306038B1022020723168087928B14F +:10A1D00001281CD114E06560BDE8F081D1E90503D8 +:10A1E000C01A142800D31420B7EB900F01D28208B4 +:10A1F00000E001220869C9681844194429DF03E016 +:10A20000D1E90301084428DF58B1112812D00321F5 +:10A210003068FAF786F925726560BDE8F041FFF70E +:10A22000B9BF207C0028D7D1BDE8F0410021022031 +:10A23000FDF754BB2772CFE7A87F0020005A00200B +:10A2400084B8070010B5074C201DFAF7FBFD002865 +:10A2500006D1607C002803D1BDE81040FFF7A4BF01 +:10A2600010BD0000A87F002010B510461A46F7F771 +:10A27000D7F8002010BD10B510461A46F7F7D0F8F1 +:10A28000002010BD2DE9F0411E681C46154607460A +:10A2900021B1012918D0052923D119E0002020601F +:10A2A000401C2060B0421CD8012229463846FFF7E6 +:10A2B0004DFD002806D015F8010B000601D52068D9 +:10A2C000EEE70120BDE8F08108200246186002E0B8 +:10A2D00004200246186029463846BDE8F041FFF7E1 +:10A2E00035BD0020EEE770B516460A460446C11C8F +:10A2F000104600F021FF054661193046C91C00F0E8 +:10A300001BFF284470BD000003B5094A85B0D2E99F +:10A310001612CDE9001207498989ADF8001006A987 +:10A32000CDE90210044869464088AEDF07B000BDA1 +:10A33000F0B60700E05E0020A859002008467047EC +:10A34000084670472DE9F047FCF78EFBDFF8C48024 +:10A35000D8F83020D8F8347000EB020AB81A411E41 +:10A36000C1F30B01401A00F6FF792B492B48D8F8AE +:10A370004860081AC508042000EB0540044628A1DF +:10A38000FDF73CFE42F204002F4A8159012000EB08 +:10A390000545914206D028462CA1FDF72FFE03204B +:10A3A000BDE8F087D8F830000644B84205D1204611 +:10A3B00033A1FDF723FE0020F2E7C0B906F50050F7 +:10A3C0000178142901D9416900E000213148B1FB2D +:10A3D000F0F34FF440510A78142A01D9496900E09A +:10A3E0000021B1FBF0F220462BA1FDF712FE08235D +:10A3F0004A4631465046FAF785F9040005D028460A +:10A4000030A1FDF7FBFD2046CAE7BDE8F04700207C +:10A41000FCF71ABB3C760020E8CC070098CC07007C +:10A42000456E746572206E72665F626F6F746C6FDA +:10A43000616465725F6466755F73645F636F6E7499 +:10A44000696E756500000000DBE5B151536F7572F0 +:10A450006365206164647265737320646F65732043 +:10A460006E6F7420636F6E7461696E206120766117 +:10A470006C696420536F66744465766963652E0069 +:10A48000534420616C726561647920636F70696503 +:10A490006400000040420F005570646174696E678B +:10A4A0002053442E204F6C64205344207665723A2A +:10A4B0002025642C204E6577207665723A2025642D +:10A4C000000000004661696C656420746F20636F52 +:10A4D0007079206669726D776172652E00000000E8 +:10A4E00070B50F480F49401AC408042000EB04401F +:10A4F0000DA1FDF783FDFFF725FF05004FF00100DB +:10A5000000EB044402D020460FA105E0F8F788FDD7 +:10A51000050004D0204612A1FDF770FD284670BD4D +:10A52000E8CC070098CC0700456E746572206E7207 +:10A53000665F6466755F73645F626C5F636F6E74A1 +:10A54000696E75650000000053442B424C3A20535D +:10A550004420636F7079206661696C656400000057 +:10A5600053442B424C3A20424C20636F7079206652 +:10A5700061696C6564000000F0B505460020034683 +:10A580004FF440540C4E4FF6FE7712E0D4F804C05E +:10A59000B44505D155F823C0B4F80CE0F44504D017 +:10A5A0002AB155F823C0BC4501D10120F0BD5B1C88 +:10A5B000DBB28B42EAD3F0BDDBE5B15110B504004C +:10A5C00003D11A492D20F8F721FD4FF440501849C6 +:10A5D0004068884221D1218A71B1626904F1140076 +:10A5E000002A94F855200BD0042A07D00022BDE899 +:10A5F0001040C9B2FFF7C0BF002010BD0122F6E72E +:10A6000012B1012A07D1F7E7012904D9C9B2002202 +:10A61000FFF7B2FFF0E7012010BD208A10B160699A +:10A620000028E9D120780028F5D110BD64C30700C7 +:10A63000DBE5B1513EB504460B496846FEF76CF9BF +:10A640000AE06846FEF744F9D0E900212046904729 +:10A6500040B16846FEF79EF96846FEF739F90028D2 +:10A66000EFD13EBD11203EBD28BB07003EB50446DC +:10A670000A496846FEF750F909E06846FEF728F9EE +:10A68000D0E90021204690476846FEF783F96846E6 +:10A69000FEF71EF90028F0D13EBD000034BB0700D4 +:10A6A0002DE9F0411400884618D000250E4F0326EE +:10A6B00008EB050122460020F7F744FF0544241A61 +:10A6C00040B93878002809D008494FF47A408847C3 +:10A6D000761E05D001203870002CE9D1BDE8F0814C +:10A6E00000203870FAE70000085A002001BB07007C +:10A6F0002DE9F0410E46074613481449144D401AFF +:10A70000C408032000EB044012A12A68FDF77AFC7C +:10A710003046F9F741FC20B919494FF4AE70F8F70B +:10A7200075FC184B3A463146286800F053F8020091 +:10A7300007D0012000EB0440BDE8F04112A1FDF775 +:10A7400061BCBDE8F0810000B8CC070098CC0700E0 +:10A75000D85900204261636B696E67207570207361 +:10A76000657474696E6773207061676520746F200B +:10A770006164647265737320307825782E00000060 +:10A7800094C00700BC720020436F756C64206E6F2C +:10A790007420706572666F726D206261636B757094 +:10A7A000206F6620626F6F746C6F616465722073D6 +:10A7B000657474696E677321204572726F723A20F6 +:10A7C000307825780000000000225821001DF9F79C +:10A7D000C5BB00002DE9F04715464FF460771E46D3 +:10A7E000894680463A46F6F746FE224A224B042125 +:10A7F000D21AD20801EB02440028204617D01FA12C +:10A80000FDF7FCFB2046424621A1FDF7FBFB0022A1 +:10A8100001214046FBF730FC174A164B01219A1ADA +:10A82000D20801EB024458B1204621A11DE029497C +:10A83000FDF7E4FB0DB10020A8470020BDE8F0873C +:10A8400026B9254940F23710F8F7E0FB3A46494669 +:10A850003046F6F7E5FD2B463A4631464046FBF7D3 +:10A86000C1FC0028EAD020461CA1FDF7C7FB03204D +:10A87000E4E70000B8CC070098CC07005772697471 +:10A88000696E672073657474696E67732E2E2E006F +:10A8900045726173696E67206F6C642073657474B0 +:10A8A000696E67732061743A2030782530387800FB +:10A8B000436F756C64206E6F7420657261736520E0 +:10A8C0007468652073657474696E6773207061675E +:10A8D0006521000048C0070094C00700436F756CF5 +:10A8E00064206E6F742077726974652074686520C7 +:10A8F0004446552073657474696E67732070616790 +:10A900006521000070B516460D46040007D035B12C +:10A91000206C802200213828225403D307E00E2027 +:10A9200070BD2154401C3828FBD30BE02154401C3F +:10A930004028FBD32146084600F096F838212046EF +:10A94000F6F787FD216CD4E912304A0FC90038347C +:10A9500059185041C4E90410227CE2710A0A42EA03 +:10A960000062A2710A0C42EA00426271020242EAEB +:10A97000116020716069E070010AA170010C6170C2 +:10A98000000E04F838092146084600F06DF84FF033 +:10A990000002EEB1E06ED100C840A854A36ECB40D7 +:10A9A000A8180371636ECB400372236ECB40037310 +:10A9B000E36DCB400374A36DCB400375636DCB4057 +:10A9C0000376236DCB40521C0377042AE2D31FE0A9 +:10A9D00018235042216D03EBC000C140A954666D9D +:10A9E000C640A9180E71A66DC6400E72E66DC6402F +:10A9F0000E73266EC6400E74666EC6400E75A66E49 +:10AA0000C6400E76E66EC640521C0E77042AE0D38E +:10AA1000002070BDA8B100210164C0E912110A49EB +:10AA200001650A4941650A4981650A49C1650A49C2 +:10AA300001660A4941660A4981660A49C1660020E1 +:10AA400070470E207047000067E6096A85AE67BB55 +:10AA500072F36E3C3AF54FA57F520E518C68059B00 +:10AA6000ABD9831F19CDE05B2DE9F04FC8B00022B0 +:10AA700013466F46CC181B1D2568E4782DBA25F0C7 +:10AA8000FF05254347F82250521C102AF2D31BE041 +:10AA900007EB820151F8083C4FEA734484EAF3441F +:10AAA00084EA932451F83C3C4FEAF31585EAB34518 +:10AAB00085EAD303234451F81C4C51F8401C21442F +:10AAC000194447F82210521C402AE1D3036D4793E2 +:10AAD000416D4691846D4594C26D44929246026EDA +:10AAE0004392456E4295A946856E4195C66E409645 +:10AAF000B34600264FEAB21787EAF22787EA726C5C +:10AB000002EA090725EA020887EA0807BC44204F41 +:10AB100057F8268008EB0B07BC445DF82670AB465F +:10AB20000CEB070E4FEAB30787EA733787EAB35C8B +:10AB300081EA04074D4601EA040891461F400AEBEA +:10AB40000E02A24687EA08070C46BC441946761C4A +:10AB50000EEB0C03402ECDD3479E33440365469B3A +:10AB60001944416545992144816544995144C16521 +:10AB700043991144016642994944416641992944E7 +:10AB8000816640995944C16648B0BDE8F08F000025 +:10AB9000F0B907002DE9F04116460F46040004D035 +:10ABA00006B317B10025A8461AE00E20BDE8F081D3 +:10ABB000216C785D6054206C401C206440280ED1CC +:10ABC00021460846FFF750FFD4E912014FF4007206 +:10ABD000801841F10001C4F84080C4E912016D1CE5 +:10ABE000B542E5D30020E1E710B51620F7F7F4FEF3 +:10ABF00048B10C4882684FF4800152B1016821F4D9 +:10AC00008001016010BDBDE8104042F20100F8F77C +:10AC10002BB84FF0E020C0F88011BFF34F8FBFF387 +:10AC20006F8F10BDB07D00202DE9F04100F500527E +:10AC30001A481B4F0123C01B174CC008556803EB73 +:10AC40000040A54201D017491FE04D1EC5F30B057A +:10AC5000491B41F6FF75966829448E4201D212497C +:10AC600013E04FF440514D68A54211D10C78102CDF +:10AC700001D9096900E000211478102C01D912696A +:10AC800000E00022914203D00849FDF7B7F9002304 +:10AC90001846BDE8F0810000DBE5B151C8CC0700E3 +:10ACA00098CC070084C2070018C2070064C10700DF +:10ACB00010B51620F7F790FEA0B1114890F80004E7 +:10ACC0004009082811D20121814011F0EC0F0CD06D +:10ACD0000C4882684FF480016AB1016841F4800138 +:10ACE000016010BD42F2010001E042F20200BDE845 +:10ACF0001040F7F7B9BF4FF0E020C0F8001110BDC9 +:10AD000016E000E0B07D00202DE9F0471E46924697 +:10AD100089460546040C089FF9F794FB8046FDF729 +:10AD20000DFAA04204D80FA140F28310F8F76EF993 +:10AD300044EA0841741C1B483C4000EB84023E403E +:10AD400000EB8600D160C16865F3C5016AF3891123 +:10AD500069F39F2121F00301491C21F00401C16026 +:10AD6000BDE8F0872E2E5C2E2E5C2E2E5C2E2E5CE7 +:10AD70002E2E5C636F6D706F6E656E74735C6C69A4 +:10AD8000627261726965735C6C6F675C7372635C3D +:10AD90006E72665F6C6F675F66726F6E74656E640D +:10ADA0002E630000548100202DE9FC47814617489E +:10ADB0001746884605681C46012201A91846F9F77E +:10ADC0003DF8134EB8B101998B1C00200AE000BF7A +:10ADD00057F8202003EA050C06EB8C0C401C5B1C8A +:10ADE000CCF80C20A042F3D30B46224641464846FD +:10ADF0000095FFF789FF307802E000BFFCF78CFF79 +:10AE00000028FBD1F9F777FEBDE8FC87145A002033 +:10AE1000548100202DE9FF41324800F15C01826B32 +:10AE20006846FEF75BFF304F9DE8070007F11C0303 +:10AE30002F4C83E8070019462C48C8600020A070FA +:10AE40006060A0604FF44771A7F54070F6F701FB12 +:10AE5000A7F54072274902F54770FEF7AEFC264978 +:10AE6000264A891AC908012202EB014578B1A07867 +:10AE700038B1A7F5407090F86C110029017826D000 +:10AE800041B128461EA100BFFDF7B8F828E02846CA +:10AE900023A1F9E790F8720110B3D4E901122C4E06 +:10AEA0006846FEF71BFF9DE80F001C3787E80F0080 +:10AEB0004FF4B2713046F6F7CCFA3246254906F522 +:10AEC000D470FEF77AFC30B9284623A1DCE739B10B +:10AED000807928B12F4E0120E66004B0BDE8F081F2 +:10AEE0000020FAE73C760020BC7C0020ED9A0700A9 +:10AEF000DC590020C0B60700C8CC070098CC07007A +:10AF000048616E646C65723A20496E76616C696462 +:10AF100020696E697420636F6D6D616E642E000030 +:10AF200048616E646C65723A20496E76616C696442 +:10AF30002070726F746F636F6C20627566666572E5 +:10AF4000206D5F70625F73747265616D0000000058 +:10AF5000307B0020A0B5070048616E646C65723AD2 +:10AF600020496E76616C69642070726F746F636FD4 +:10AF70006C20627566666572206D5F70625F7374C7 +:10AF80007265616D2028696E697420636F6D6D61F3 +:10AF90006E642900C47900202DE9F0410F46054672 +:10AFA000234824492A46401AC008042101EB0040E6 +:10AFB00021A1FDF727F8B7F1807F03D32449692049 +:10AFC000F8F724F8962F03D221496A20F8F71EF8E3 +:10AFD0006FF07F40874200D238461E4ED6F80415E7 +:10AFE0000144381A21F07F44411E6860952902D23D +:10AFF0009630963C68602D7B042D03D31449512074 +:10B00000F8F704F806EB8500C0F8404512494FF404 +:10B01000F86088474FF4A07000EB85013046FDF7DB +:10B020002DFA4FF48030A840C6F80403BDE8F08143 +:10B03000E8CC070098CC070074696D65725F6163A6 +:10B0400074697661746520283078257829000000BD +:10B05000B4BC07000040024011B5070070B5174EA0 +:10B060003078002829D1164800680125C0F3004037 +:10B0700008B914480560144C4FF480712046FDF760 +:10B08000FDF94FF4A0712046FDF7F8F94FF4A271D5 +:10B090002046FDF7F3F90D4A0020A02182F80014A4 +:10B0A0000A4A1021203AC2F80011C4F80805A56028 +:10B0B00025600220C4F80403357070BD705900206B +:10B0C00018040040080000400040024024E000E076 +:10B0D00070B515460E460446FFF7C0FF31462046C0 +:10B0E0002560BDE87040FFF757BF000010B504466B +:10B0F00009480A492246401AC008042101EB0040D1 +:10B1000007A1FCF77FFF217B4FF48030884009497D +:10B11000C1F8080310BD0000E8CC070098CC070078 +:10B1200074696D65725F73746F702028307825784C +:10B1300029000000004002400870020A4A70020C18 +:10B140008A70000EC87004207047000010B50248D5 +:10B15000F9F76FFE002010BDFC59002010B5142136 +:10B160000448F6F776F904480068F9F71BFE00205A +:10B1700010BD0000A87F002084B807002DE9F05F13 +:10B180008346DDE90A4A994690460D46084601275E +:10B1900003E000BFB0FBF8F07F1C4045FAD2B94590 +:10B1A00000D94F465FEACA7012D18CB15FEA8A704B +:10B1B00002D5B9F1000F01D0202607E0302605E0C6 +:10B1C00031465846641EF8F793FE0CB1A742F7D3F8 +:10B1D0005FF00106B9F1010F02D9A9F1010903E0FD +:10B1E000B5FBF6F0404502D306FB08F6F2E7DFF8C0 +:10B1F0003C9000BFB5FBF6F000FB165519F80010A7 +:10B200005846F8F775FEB6FBF8F6002EF2D15FEA65 +:10B21000CA7009D0002C07D0A74205D22021584679 +:10B22000641EF8F765FEF5E7BDE8F09F48B8070033 +:10B230002DE9F041084601241646254600212B46FB +:10B240000A46FAF7BDFC0C490C4A891ACF0830B1FE +:10B2500005EB07400AA1FCF7D1FE042409E0FAF748 +:10B2600095FC02463060042000EB07400BA1FCF780 +:10B27000C9FE2046BDE8F081C8CC070098CC070085 +:10B2800043616E27742066696E6420726F6F6D2053 +:10B29000666F72207570646174650000577269741E +:10B2A0006520616464726573732073657420746FC4 +:10B2B00020307825303878002DE9F0411C4B1D4FA7 +:10B2C0000F2600240125DB1B90F85520DB0805EB39 +:10B2D00003450AB1042A03D190F86430012B06D04B +:10B2E000D30707D090F85630012B02D002E0846ECD +:10B2F0000DE0846D92070AD590F85C20012A06D1F2 +:10B30000026E0D48C0F5FC239A4204D814443CB1A7 +:10B3100001260C6008E0284608A1FCF77AFE042606 +:10B3200028460EA1FCF76AFE3046BDE8F081000019 +:10B33000C8CC070098CC070000100700424C2073CF +:10B34000697A652028256429206F766572206C69EA +:10B350006D6974202825642900000000496E697415 +:10B36000207061636B657420646F6573206E6F7409 +:10B3700020636F6E7461696E2076616C696420660B +:10B3800069726D776172652073697A6500000000EB +:10B3900030B100680549884205D048F20250704734 +:10B3A00048F2015070470020704700006E52464836 +:10B3B00070B5FDF785FB002811D00020084A094B25 +:10B3C000094C0121166801FA00F52E4203D004EB66 +:10B3D0008005C5F80036401CC0B20728F2D370BD06 +:10B3E000080501403546526E0000014007480849F3 +:10B3F00010B5401AC008032101EB004005A1FCF77D +:10B40000FDFDBDE81040FFF7D3BF000098CC07005A +:10B4100098CC0700496E7465726E616C2066656534 +:10B420006400000000207047002070472DE9FC41B7 +:10B4300080461C4617460E460C48089DF9F702FD4B +:10B4400010B11120BDE8FC81A20839463046FCF756 +:10B45000E5FF0648F9F7EDFC33463A460121404640 +:10B46000CDE90045F9F742F80020EBE7FC59002050 +:10B470002DE9F84F114D884681461E46174669460C +:10B48000DDF828A02868F9F7A8FC040013D01C21D7 +:10B49000F5F7DFFF00202071C4F80090C4E90486AE +:10B4A000C4E902A769462868F9F7B8FCFEF7CAFEA6 +:10B4B0000020BDE8F88F0420FBE7000084B80700F7 +:10B4C00084B7AC5DBA001CCDBE4928F7CBD9744413 +:10B4D0005DA08494DB12A36DB24A17A13D05B93873 +:10B4E000DBA4214542101BBFEB09B53367AB9114B8 +:10B4F0006DF5F17DD69D178820DFCFEC866407C1FE +:10B500000338FDD87047111213140D0E0F100000F0 +:10B510000338FDD870470000B58A0700BB8A0700D2 +:10B52000918A070020000000780000000000000061 +:10B530004800280000204000C91707000000000054 +:10B5400001000100000000000100000000000000F8 +:10B5500002000500010000002200000000000000C1 +:10B5600000000000000000000000000000000000DB +:10B5700001000100000000000100000000000000C8 +:10B580000200050001000000420000000000000071 +:10B5900000000000000000000000000000000000AB +:10B5A000010011000400FCFF040000000000000086 +:10B5B000020011000400FCFF040000000000000075 +:10B5C000030021000400FCFF040010000000000044 +:10B5D000040011000100FFFF010000000000000056 +:10B5E000050011000200FEFF040000000000000042 +:10B5F000060011000400FCFF040000000000000031 +:10B60000070011000400FCFF04000000000000001F +:10B61000080017000200FEFF2400000040B50700EC +:10B62000090010000100FFFF010000003CB5070009 +:10B630000A0027000200FEFF4400030070B5070067 +:10B6400000000000000000000000000000000000FA +:10B65000010011000100FFFF0100000000000000D8 +:10B66000020017000200FEFF64010000A0B5070001 +:10B6700000000000000000000000000000000000CA +:10B6800001000700000000006801000050B607003C +:10B6900002000100000000000100000000000000A6 +:10B6A000030005000100000042000000000000004F +:10B6B000000000000000000000000000000000008A +:10B6C000010017000400FCFF6801000050B60700ED +:10B6D000020017000400FCFFAC01000080B6070068 +:10B6E000000000000000000000000000000000005A +:10B6F000001103000011130002000000010000000F +:10B700000338FDD870470C000C0000005802000000 +:10B710000200000000000000020000000000000025 +:10B72000A45E0020090000000000000000000000EE +:10B7300001000000000000002800000000000000E0 +:10B7400000000000000100000000010000000000F7 +:10B7500000000000000000000000000000000000E9 +:10B76000653207000000000000000000000000003B +:10B7700002000000000001000000000000000000C6 +:10B780000800000000000000653207004594070033 +:10B7900000000000000000000400000000000000A5 +:10B7A0000000000000000000000000000000000099 +:10B7B0000000000000000000000000000000000089 +:10B7C000F40000000000000018000000000000006D +:10B7D0000000000000000000000000000000000069 +:10B7E0000000000000000000000000000000000059 +:10B7F000170000000000000050EADA308883B89F8C +:10B80000604F15F30000C98E020000000000000028 +:10B810000000000000000000040000000000000024 +:10B820000000000000000000000000000000000018 +:10B830000001000000000000000000000000000007 +:10B84000000000000000000030313233343536375C +:10B8500038394142434445460010000004000000CE +:10B8600001000000B54807004DB1070069A20700BC +:10B870002DB40700594407003DA3070025B4070075 +:10B88000D5490700BC7D0020001000000400000026 +:10B8900001000000C14807005DB1070077A2070062 +:10B8A00071B40700A144070041A3070029B40700B1 +:10B8B000E5490700556E6B6E6F776E206572726F8B +:10B8C0007220636F64650000000000007CC7070001 +:10B8D0000100000028C60700020000001CC4070089 +:10B8E000030000009CC6070004000000F0C607002B +:10B8F00005000000D0C50700060000006CC5070069 +:10B9000007000000D8C6070008000000E4C50700D3 +:10B910000900000048C607000A00000064C70700CD +:10B920000B00000004C407000C000000FCC5070069 +:10B930000D000000CCC707000E000000C8C60700BD +:10B940000F00000004C707001000000038C7070000 +:10B9500011000000E0C7070012000000B4C7070094 +:10B960001300000050C707008000000084C50700D6 +:10B9700081000000C0C407008200000080C40700EE +:10B980008300000060C40700840000009CC407001E +:10B9900085000000A8C5070086000000B0C60700AB +:10B9A000900000004CC507009100000040C4070053 +:10B9B0009200000010C607000082000018C70700B0 +:10B9C0000182000064C607000282000080C60700F2 +:10B9D00000840000DCC407000184000088C7070061 +:10B9E0000284000024C507000384000000C507008E +:10B9F000982F8A4291443771CFFBC0B5A5DBB5E9DA +:10BA00005BC25639F111F159A4823F92D55E1CAB4D +:10BA100098AA07D8015B8312BE853124C37D0C55DB +:10BA2000745DBE72FEB1DE80A706DC9B74F19BC123 +:10BA3000C1699BE48647BEEFC69DC10FCCA10C2413 +:10BA40006F2CE92DAA84744ADCA9B05CDA88F976F7 +:10BA500052513E986DC631A8C82703B0C77F59BF61 +:10BA6000F30BE0C64791A7D55163CA06672929148D +:10BA7000850AB72738211B2EFC6D2C4D130D38532A +:10BA800054730A65BB0A6A762EC9C281852C7292EC +:10BA9000A1E8BFA24B661AA8708B4BC2A3516CC71A +:10BAA00019E892D1240699D685350EF470A06A1053 +:10BAB00016C1A419086C371E4C774827B5BCB034A2 +:10BAC000B30C1C394AAAD84E4FCA9C5BF36F2E6840 +:10BAD000EE828F746F63A5781478C8840802C78CCF +:10BAE000FAFFBE90EB6C50A4F7A3F9BEF27871C6D2 +:10BAF000DD7B0700DB7B0700D57B07000000000033 +:10BB00000338FDD870470000BC8000207F00000093 +:10BB10003C81002038CD070040CD07000000000028 +:10BB2000000000000100000714BB070024BB070051 +:10BB3000080000004CBB07005CBB070008000000C9 +:10BB40005CBB07006CBB07000800000058CD070075 +:10BB500060CD0700000000000000000048CD070095 +:10BB600058CD0700000000000000000000000000A9 +:10BB700000000000000000000000000030CD0700C1 +:10BB800038CD0700000000000000000068590020C8 +:10BB90006CBB07008CBB07000800000040CD07000D +:10BBA00048CD070000000000000000009CBB07001B +:10BBB000ACBB070008000000619707000997070069 +:10BBC000B1960700279607002D960700E595070018 +:10BBD00033960700719607000000000000404040C7 +:10BBE0004040404040404141414141404040404050 +:10BBF00040404040404040404040404040050202FC +:10BC000002020202020202020202020202202020BA +:10BC10002020202020202002020202020202909016 +:10BC20009090909010101010101010101010101014 +:10BC30001010101010101010020202020202888868 +:10BC40008888888808080808080808080808080874 +:10BC5000080808080808080802020202400000005C +:10BC6000DDBB07002E2E5C2E2E5C2E2E5C2E2E5C55 +:10BC70002E2E5C636F6D706F6E656E74735C6C6995 +:10BC8000627261726965735C626F6F746C6F61641C +:10BC900065725C6E72665F626F6F746C6F61646513 +:10BCA000725F6170705F73746172745F66696E61F8 +:10BCB0006C2E63002E2E5C2E2E5C2E2E5C2E2E5CA7 +:10BCC0002E2E5C636F6D706F6E656E74735C6C6945 +:10BCD000627261726965735C626F6F746C6F6164CC +:10BCE00065725C6E72665F626F6F746C6F616465C3 +:10BCF000725F6466755F74696D6572732E630000B0 +:10BD00002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6338 +:10BD10006F6D706F6E656E74735C6C696272617268 +:10BD20006965735C626F6F746C6F616465725C6E81 +:10BD300072665F626F6F746C6F616465725F667765 +:10BD40005F61637469766174696F6E2E63000000D1 +:10BD500043524320636F6D7075746174696F6E2018 +:10BD60006661696C656420666F7220636F706965D7 +:10BD700064206170703A20737263206372633A20AA +:10BD80003078253038782C20726573206372633ADE +:10BD900020307825303878004120536F6674446530 +:10BDA0007669636520686173206A757374206265C3 +:10BDB000656E206163746976617465642E204974D0 +:10BDC0002773206C696B656C7920746861742061DD +:10BDD0006E206170706C69636174696F6E20776941 +:10BDE0006C6C20636F6D6520696D6D65646961744D +:10BDF000656C7900526563656976656420424C45DF +:10BE00005F47415454535F4556545F45584348413A +:10BE10004E47455F4D54555F52455155455354204B +:10BE200028726571756573743A2025642C207265DB +:10BE3000706C793A202564292E0000002E2E5C2E8D +:10BE40002E5C2E2E5C2E2E5C2E2E5C636F6D706F22 +:10BE50006E656E74735C6C69627261726965735C45 +:10BE6000626F6F746C6F616465725C626C655F6455 +:10BE700066755C6E72665F6466755F626C652E6384 +:10BE8000000000006E72665F6673746F72616765B2 +:10BE90005F777269746528616464723D25702C2037 +:10BEA0007372633D25702C206C656E3D25642062A5 +:10BEB00079746573292C20717565756520757361BA +:10BEC00067653A20256400004372656174696E6796 +:10BED00020746865206F626A65637420776974688E +:10BEE0002073697A652030782530387820776F752F +:10BEF0006C64206F766572666C6F77206669726D10 +:10BF0000776172652073697A652E204F6666736566 +:10BF1000742069732030782530387820616E642071 +:10BF20006669726D776172652073697A65206973DD +:10BF3000203078253038782E000000002E2E5C2E20 +:10BF40002E5C2E2E5C2E2E5C2E2E5C636F6D706F21 +:10BF50006E656E74735C6C69627261726965735C44 +:10BF6000626F6F746C6F616465725C6466755C6E41 +:10BF700072665F6466755F7265715F68616E646C3E +:10BF800065722E6300000000526573657474696EFB +:10BF90006720626F6F746C6F616465722073657483 +:10BFA00074696E67732073696E6365206E6569746A +:10BFB000686572207468652073657474696E677350 +:10BFC0002070616765206E6F722074686520626101 +:10BFD000636B7570206172652076616C69642028DE +:10BFE000435243206572726F72292E00526573743A +:10BFF0006F72696E672073657474696E677320660B +:10C00000726F6D206261636B75702073696E63651A +:10C01000207468652073657474696E67732070613D +:10C02000676520636F6E74656E747320617265203E +:10C03000696E76616C696420284352432065727290 +:10C040006F72292E0000000044657374696E61747C +:10C05000696F6E2073657474696E677320617265B1 +:10C06000206964656E746963616C20746F20736FFE +:10C07000757263652C207772697465206E6F742009 +:10C080006E65656465642E20536B697070696E67B8 +:10C090002E0000002E2E5C2E2E5C2E2E5C2E2E5C92 +:10C0A0002E2E5C636F6D706F6E656E74735C6C6961 +:10C0B000627261726965735C626F6F746C6F6164E8 +:10C0C00065725C6466755C6E72665F6466755F73EC +:10C0D000657474696E67732E630000002E2E5C2EEB +:10C0E0002E5C2E2E5C2E2E5C2E2E5C636F6D706F80 +:10C0F0006E656E74735C6C69627261726965735CA3 +:10C10000626F6F746C6F616465725C6466755C6E9F +:10C1100072665F6466755F7574696C732E63000088 +:10C120004D616A6F7220534420757064617465209C +:10C13000627574206E6F20424C2E2041626F7274C3 +:10C1400020746F2061766F696420696E636170612D +:10C150006369746174696E672074686520424C2E4F +:10C1600000000000546865206E657720536F667488 +:10C17000446576696365206973206F662061206479 +:10C180006966666572656E742066616D696C79209A +:10C190007468616E207468652070726573656E7472 +:10C1A00020536F66744465766963652E20436F6D16 +:10C1B0007061746962696C6974792063616E6E6F15 +:10C1C000742062652067756172616E746565642EA6 +:10C1D00000000000426F6F742076616C69646174C6 +:10C1E000696F6E206F6620626F6F746C6F6164653B +:10C1F00072206973206E6F7420737570706F727423 +:10C20000656420616E642077696C6C2062652069CA +:10C21000676E6F7265642E0054686520536F667494 +:10C220004465766963652073697A6520696E207458 +:10C23000686520696E666F20737472756374206917 +:10C240007320746F6F20736D616C6C20636F6D7001 +:10C250006172656420776974682074686520736909 +:10C260007A65207265706F7274656420696E2074DF +:10C27000686520696E697420636F6D6D616E642EF0 +:10C280000000000054686520536F66744465766949 +:10C29000636520646F6573206E6F7420636F6E74C6 +:10C2A00061696E20746865206D61676963206E75D1 +:10C2B0006D626572206964656E74696679696E671E +:10C2C000206974206173206120536F667444657621 +:10C2D0006963652E00000000496E76616C696461D7 +:10C2E00074696E6720617070206265636175736543 +:10C2F00020697420697320696E636F6D7061746961 +:10C30000626C6520776974682074686520536F6675 +:10C31000744465766963652E000000002E2E5C2E45 +:10C320002E5C2E2E5C2E2E5C2E2E5C636F6D706F3D +:10C330006E656E74735C6C69627261726965735C60 +:10C34000626F6F746C6F616465725C6466755C6E5D +:10C3500072665F6466755F76616C69646174696F4B +:10C360006E2E63002E2E5C2E2E5C2E2E5C2E2E5CEE +:10C370002E2E5C636F6D706F6E656E74735C6C698E +:10C38000627261726965735C626F6F746C6F616415 +:10C3900065725C6466755C6E72665F6466755F7616 +:10C3A00065725F76616C69646174696F6E2E63009B +:10C3B0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6382 +:10C3C0006F6D706F6E656E74735C6C6962726172B2 +:10C3D0006965735C6578706572696D656E74616CB2 +:10C3E0005F73656374696F6E5F766172735C6E72A2 +:10C3F000665F73656374696F6E5F697465722E63DF +:10C40000000000004E52465F4552524F525F494E67 +:10C4100056414C49445F4441544100004E52465FEE +:10C420004552524F525F534F465444455649434537 +:10C430005F4E4F545F454E41424C45440000000062 +:10C440004E52465F4552524F525F464541545552F7 +:10C45000455F4E4F545F454E41424C4544000000FD +:10C460004E52465F4552524F525F4D555445585FAC +:10C47000554E4C4F434B5F4641494C4544000000EC +:10C480004E52465F4552524F525F4D555445585F8C +:10C490004C4F434B5F4641494C4544004E52465F2A +:10C4A0004552524F525F4D555445585F434F4E448D +:10C4B0005F494E49545F4641494C454400000000E5 +:10C4C0004E52465F4552524F525F4D555445585F4C +:10C4D000494E49545F4641494C4544004E52465FDF +:10C4E0004552524F525F424C455F495053505F5244 +:10C4F000585F504B545F5452554E4341544544008D +:10C500004E52465F4552524F525F424C455F495032 +:10C5100053505F504545525F52454A454354454448 +:10C52000000000004E52465F4552524F525F424C4F +:10C53000455F495053505F4C494E4B5F444953430C +:10C540004F4E4E4543544544000000004E52465F56 +:10C550004552524F525F4150495F4E4F545F494DD3 +:10C56000504C454D454E5445440000004E52465FE8 +:10C570004552524F525F4E4F545F535550504F5299 +:10C58000544544004E52465F4552524F525F4D4F04 +:10C5900044554C455F4E4F545F494E495449414CB8 +:10C5A000495A4544000000004E52465F4552524FE2 +:10C5B000525F4D4F44554C455F414C5245414459A3 +:10C5C0005F494E495449414C495A454400000000D6 +:10C5D0004E52465F4552524F525F4E4F545F464F48 +:10C5E000554E44004E52465F4552524F525F494E9F +:10C5F00056414C49445F5354415445004E52465FA6 +:10C600004552524F525F444154415F53495A45008D +:10C610004E52465F4552524F525F494F5F50454E12 +:10C6200044494E47000000004E52465F4552524F6B +:10C63000525F5356435F48414E444C45525F4D490B +:10C640005353494E470000004E52465F4552524FE9 +:10C65000525F494E56414C49445F4C454E47544801 +:10C66000000000004E52465F4552524F525F445206 +:10C67000565F5457495F4552525F414E41434B000C +:10C680004E52465F4552524F525F4452565F545786 +:10C69000495F4552525F444E41434B004E52465F04 +:10C6A0004552524F525F494E5445524E414C000044 +:10C6B0004E52465F4552524F525F53544F5241477C +:10C6C000455F46554C4C00004E52465F4552524F16 +:10C6D000525F4E554C4C00004E52465F4552524FF1 +:10C6E000525F494E56414C49445F504152414D00C2 +:10C6F0004E52465F4552524F525F4E4F5F4D454D31 +:10C70000000000004E52465F4552524F525F464F66 +:10C710005242494444454E004E52465F4552524FA4 +:10C72000525F4452565F5457495F4552525F4F56CD +:10C73000455252554E0000004E52465F4552524FF0 +:10C74000525F494E56414C49445F414444520000B7 +:10C750004E52465F4552524F525F5245534F5552CB +:10C76000434553004E52465F4552524F525F494E29 +:10C7700056414C49445F464C414753004E52465F38 +:10C7800053554343455353004E52465F4552524F13 +:10C79000525F424C455F495053505F4348414E4EB3 +:10C7A000454C5F414C52454144595F4558495354AB +:10C7B000530000004E52465F4552524F525F434F66 +:10C7C0004E4E5F434F554E54000000004E52465FA0 +:10C7D0004552524F525F54494D454F555400000049 +:10C7E0004E52465F4552524F525F425553590000D8 +:10C7F0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C633E +:10C800006F6D706F6E656E74735C6C69627261726D +:10C810006965735C6C6F675C7372635C6E72665F94 +:10C820006C6F675F64656661756C745F6261636B92 +:10C83000656E64732E6300007761726E696E6700C7 +:10C8400064656275670000001B5B313B33306D002F +:10C850001B5B306D000000001B5B313B33316D0012 +:10C860001B5B313B33326D001B5B313B33336D005F +:10C870001B5B313B33346D001B5B313B33356D004B +:10C880001B5B313B33366D001B5B313B33376D0037 +:10C89000696E666F000000006572726F72000000C2 +:10C8A0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C638D +:10C8B0006F6D706F6E656E74735C6C6962726172BD +:10C8C0006965735C6578706572696D656E74616CBD +:10C8D0005F73656374696F6E5F766172735C6E72AD +:10C8E000665F73656374696F6E5F697465722E68E5 +:10C8F0000000000073645F626C655F6366675F736E +:10C90000657428292072657475726E6564202573BC +:10C91000207768656E20617474656D7074696E67E8 +:10C9200020746F2073657420424C455F4741545416 +:10C93000535F4346475F534552564943455F43481B +:10C94000414E4745442E000073645F626C655F632F +:10C9500066675F73657428292072657475726E65E9 +:10C9600064202573207768656E20617474656D702E +:10C9700074696E6720746F2073657420424C455F44 +:10C98000434F4D4D4F4E5F4346475F56535F55559E +:10C9900049442E0073645F626C655F6366675F7312 +:10C9A000657428292072657475726E65642025731C +:10C9B000207768656E20617474656D7074696E6748 +:10C9C00020746F2073657420424C455F4741545476 +:10C9D000535F4346475F415454525F5441425F5353 +:10C9E000495A452E0000000073645F626C655F6306 +:10C9F00066675F73657428292072657475726E6549 +:10CA000064202573207768656E20617474656D708D +:10CA100074696E6720746F2073657420424C455FA3 +:10CA2000434F4E4E5F4346475F4741502E00000044 +:10CA300073645F626C655F6366675F736574282902 +:10CA40002072657475726E65642025732077686541 +:10CA50006E20617474656D7074696E6720746F20E8 +:10CA600073657420424C455F4741505F4346475FC2 +:10CA7000524F4C455F434F554E542E0073645F62D6 +:10CA80006C655F6366675F736574282920726574DF +:10CA900075726E6564202573207768656E206174F9 +:10CAA00074656D7074696E6720746F20736574208F +:10CAB000424C455F434F4E4E5F4346475F474154AC +:10CAC000542E00006E72665F626F6F746C6F6164EB +:10CAD00065725F77647400006E72665F6466755F8E +:10CAE000626C65006E72665F6466755F666C61732A +:10CAF000680000006E72665F6466755F7265715FE4 +:10CB000068616E646C6572006E72665F6466755F04 +:10CB100073657474696E6773000000006E72665FFF +:10CB20006466755F73657474696E67735F7376634B +:10CB3000690000006E72665F6466755F76616C699D +:10CB4000646174696F6E00006E72665F6466755F23 +:10CB50007665725F76616C69646174696F6E0000FE +:10CB60006D656D5F6D6E6772000000006E72665FCE +:10CB70006673746F72616765000000007274745FA1 +:10CB80006C6F675F6261636B656E640061707000FB +:10CB90006E72665F736468006E72665F7364685F6E +:10CBA000626C65006E72665F7364685F736F6300CA +:10CBB00008200001FFFFFFFFFFFFFFFFFFFFFFFF58 +:10CBC0000000000000000000000000000100000064 +:10CBD000FFFFFFFF512563FCC2CAB9F3849E17A76C +:10CBE000ADFAE6BCFFFFFFFFFFFFFFFF0000000004 +:10CBF000FFFFFFFF96C298D84539A1F4A033EB2D73 +:10CC0000817D0377F240A463E5E6BCF847422CE15E +:10CC1000F2D1176BF551BF376840B6CBCE5E316BA2 +:10CC20005733CE2B169E0F7C4AEBE78E9B7F1AFE66 +:10CC3000E242E34F4B60D2273E3CCE3BF6B053CCB2 +:10CC4000B0061D65BC86987655BDEBB3E7933AAA4E +:10CC5000D835C65A771607003D240700552207002D +:10CC60006CCD0700685900201C010000BA2907009C +:10CC700088CE0700845A00207C570000CA2907008C +:10CC80006134070085330700F0BA07000000000098 +:10CC90007CCB07000C5A0020C4CA07000000040423 +:10CCA000D8CA070000000404E4CA07000000040416 +:10CCB000F4CA07000000040408CB070000000404C5 +:10CCC0001CCB07000000040434CB07000000040460 +:10CCD00048CB07000000040460CB07000000000000 +:10CCE0006CCB0700000004048CCB07000000040498 +:10CCF00090CB07000000030398CB0700000003035C +:10CD0000A4CB070000000303B8590020F45E002004 +:10CD1000055F0020085F0020F4000000205A00207A +:10CD2000185A0020205A0020FC7F00201800000024 +:10CD30005535070000000000A5780700000000003E +:10CD4000DD78070000000000FD86070000000000FD +:10CD50008988070000000000BD780700000000007F +:10CD60000000000003000000FD6507000000000057 +:10CD700000000000000000008059002090590020B1 +:10CD800000000000000000000000000000000000A3 +:10CD90000000000000000000000000000000000093 +:10CDA000010000000000000000000000FF00FFFF85 +:10CDB0000000000000000000000000000000000073 +:10CDC0000000000000000000000000000100000062 +:10CDD00000000000000000000000000000E007006C +:10CDE0000000000000000000000000000000000043 +:10CDF0000000000000000000000000000000000033 +:10CE00000000000000000000000000000000000022 +:10CE100000000000FF000000FF0300000000000011 +:10CE20000000000000000000000000000000000002 +:10CE3000000000000000000098C8070038C8070084 +:10CE400090C8070040C8070050C8070048C807003E +:10CE500058C8070060C8070068C8070070C8070006 +:10CE600078C8070080C8070088C8070000000000D5 +:10CE70000090D00300000000000000007D42070089 +:08CE8000001000000000080092 +:020000041000EA +:081014000010070000E00700D6 +:00000001FF diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/iar/secure_bootloader_ble_s132_pca10040_debug.ewd b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/iar/secure_bootloader_ble_s132_pca10040_debug.ewd new file mode 100644 index 0000000..98132d1 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/iar/secure_bootloader_ble_s132_pca10040_debug.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52832_xxaa_s132 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/iar/secure_bootloader_ble_s132_pca10040_debug.ewp b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/iar/secure_bootloader_ble_s132_pca10040_debug.ewp new file mode 100644 index 0000000..603dd4d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/iar/secure_bootloader_ble_s132_pca10040_debug.ewp @@ -0,0 +1,1187 @@ + + + + + 2 + nrf52832_xxaa_s132 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52hf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_Segger_RTT + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_IAR.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52.c + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..78bd49b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x71000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x71000; +define symbol __ICFEDIT_region_ROM_end__ = 0x7dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20005968; +define symbol __ICFEDIT_region_RAM_end__ = 0x2000ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x0007F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0007E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/ses/flash_placement.xml new file mode 100644 index 0000000..db38cf2 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/ses/flash_placement.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/ses/secure_bootloader_ble_s132_pca10040_debug.emProject b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/ses/secure_bootloader_ble_s132_pca10040_debug.emProject new file mode 100644 index 0000000..1f843ee --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/ses/secure_bootloader_ble_s132_pca10040_debug.emProject @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/ses/secure_bootloader_ble_s132_pca10040_debug.emSession b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/ses/secure_bootloader_ble_s132_pca10040_debug.emSession new file mode 100644 index 0000000..78e2805 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s132_ble_debug/ses/secure_bootloader_ble_s132_pca10040_debug.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/armgcc/Makefile new file mode 100644 index 0000000..148773f --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/armgcc/Makefile @@ -0,0 +1,246 @@ +PROJECT_NAME := secure_bootloader_ant_s212_pca10040 +TARGETS := nrf52832_xxaa_s212 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52832_xxaa_s212.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ant_dfu/nrf_dfu_ant.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/ant/ant_channel_config/ant_channel_config.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ant.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/softdevice/s212/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/softdevice/s212/headers \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/ant/ant_channel_config \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ant_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52hf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DANT_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10040 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52 +CFLAGS += -DNRF52832_XXAA +CFLAGS += -DNRF52_PAN_74 +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DS212 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DANT_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10040 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52 +ASMFLAGS += -DNRF52832_XXAA +ASMFLAGS += -DNRF52_PAN_74 +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DS212 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52832_xxaa_s212: CFLAGS += -D__HEAP_SIZE=0 +nrf52832_xxaa_s212: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52832_xxaa_s212 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52832_xxaa_s212 + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52832_xxaa_s212.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52832_xxaa_s212.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..5916ed8 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,150 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x78000, LENGTH = 0x6000 + RAM (rwx) : ORIGIN = 0x200057b8, LENGTH = 0xa848 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x0007F000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0007E000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .sdh_ant_observers : + { + PROVIDE(__start_sdh_ant_observers = .); + KEEP(*(SORT(.sdh_ant_observers*))) + PROVIDE(__stop_sdh_ant_observers = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/config/sdk_config.h new file mode 100644 index 0000000..0ab8259 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/config/sdk_config.h @@ -0,0 +1,5026 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_ANT + +//========================================================== +// ANT_CHANNEL_CONFIG_ENABLED - ant_channel_config - ANT common channel configuration + + +#ifndef ANT_CHANNEL_CONFIG_ENABLED +#define ANT_CHANNEL_CONFIG_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 16 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 1 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 0 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 0 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 1 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 0 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_ANT_ENABLED - nrf_sdh_ant - SoftDevice ANT event handler +//========================================================== +#ifndef NRF_SDH_ANT_ENABLED +#define NRF_SDH_ANT_ENABLED 1 +#endif +// ANT Channels + +//========================================================== +// NRF_SDH_ANT_TOTAL_CHANNELS_ALLOCATED - Allocated ANT channels. +#ifndef NRF_SDH_ANT_TOTAL_CHANNELS_ALLOCATED +#define NRF_SDH_ANT_TOTAL_CHANNELS_ALLOCATED 1 +#endif + +// NRF_SDH_ANT_ENCRYPTED_CHANNELS - Encrypted ANT channels. +#ifndef NRF_SDH_ANT_ENCRYPTED_CHANNELS +#define NRF_SDH_ANT_ENCRYPTED_CHANNELS 0 +#endif + +// +//========================================================== + +// ANT Queues + +//========================================================== +// NRF_SDH_ANT_EVENT_QUEUE_SIZE - Event queue size. +#ifndef NRF_SDH_ANT_EVENT_QUEUE_SIZE +#define NRF_SDH_ANT_EVENT_QUEUE_SIZE 32 +#endif + +// NRF_SDH_ANT_BURST_QUEUE_SIZE - ANT burst queue size. +#ifndef NRF_SDH_ANT_BURST_QUEUE_SIZE +#define NRF_SDH_ANT_BURST_QUEUE_SIZE 128 +#endif + +// +//========================================================== + +// ANT Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_ANT_OBSERVER_PRIO_LEVELS - Total number of priority levels for ANT observers. +// This setting configures the number of priority levels available for the ANT event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_ANT_OBSERVER_PRIO_LEVELS +#define NRF_SDH_ANT_OBSERVER_PRIO_LEVELS 2 +#endif + +// ANT Observers priorities - Invididual priorities + +//========================================================== +// ANT_BPWR_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the Bicycle Power Profile. + +#ifndef ANT_BPWR_ANT_OBSERVER_PRIO +#define ANT_BPWR_ANT_OBSERVER_PRIO 1 +#endif + +// ANT_BSC_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the Bicycle Speed and Cadence Profile. + +#ifndef ANT_BSC_ANT_OBSERVER_PRIO +#define ANT_BSC_ANT_OBSERVER_PRIO 1 +#endif + +// ANT_ENCRYPT_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the Cryptographic ANT stack configuration module. + +#ifndef ANT_ENCRYPT_ANT_OBSERVER_PRIO +#define ANT_ENCRYPT_ANT_OBSERVER_PRIO 1 +#endif + +// ANT_HRM_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the Heart Rate Monitor. + +#ifndef ANT_HRM_ANT_OBSERVER_PRIO +#define ANT_HRM_ANT_OBSERVER_PRIO 1 +#endif + +// ANT_SDM_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the Stride Based Speed and Distance Monitor Profile. + +#ifndef ANT_SDM_ANT_OBSERVER_PRIO +#define ANT_SDM_ANT_OBSERVER_PRIO 1 +#endif + +// ANT_STATE_INDICATOR_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the ANT state indicator module. + +#ifndef ANT_STATE_INDICATOR_ANT_OBSERVER_PRIO +#define ANT_STATE_INDICATOR_ANT_OBSERVER_PRIO 1 +#endif + +// BSP_BTN_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the Button Control module. + +#ifndef BSP_BTN_ANT_OBSERVER_PRIO +#define BSP_BTN_ANT_OBSERVER_PRIO 1 +#endif + +// NRF_DFU_ANT_EVT_HANDLER_PRIO - DFU ANT event handling priority. +// Priority used to register the ANT event handler for DFU purposes. Change this if there is other ANT event handlers that should be higher priority. + +#ifndef NRF_DFU_ANT_EVT_HANDLER_PRIO +#define NRF_DFU_ANT_EVT_HANDLER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/ses/flash_placement.xml new file mode 100644 index 0000000..fce6a02 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/ses/flash_placement.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/ses/secure_bootloader_ant_s212_pca10040.emProject b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/ses/secure_bootloader_ant_s212_pca10040.emProject new file mode 100644 index 0000000..199ae6d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/ses/secure_bootloader_ant_s212_pca10040.emProject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/ses/secure_bootloader_ant_s212_pca10040.emSession b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/ses/secure_bootloader_ant_s212_pca10040.emSession new file mode 100644 index 0000000..613c3ce --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant/ses/secure_bootloader_ant_s212_pca10040.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/armgcc/Makefile new file mode 100644 index 0000000..728494d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/armgcc/Makefile @@ -0,0 +1,257 @@ +PROJECT_NAME := secure_bootloader_ant_s212_pca10040_debug +TARGETS := nrf52832_xxaa_s212 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52832_xxaa_s212.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/ant/ant_channel_config/ant_channel_config.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ant_dfu/nrf_dfu_ant.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ant.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/softdevice/s212/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/softdevice/s212/headers \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/ant/ant_channel_config \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ant_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52hf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DANT_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10040 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52 +CFLAGS += -DNRF52832_XXAA +CFLAGS += -DNRF52_PAN_74 +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DS212 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DANT_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10040 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52 +ASMFLAGS += -DNRF52832_XXAA +ASMFLAGS += -DNRF52_PAN_74 +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DS212 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52832_xxaa_s212: CFLAGS += -D__HEAP_SIZE=0 +nrf52832_xxaa_s212: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52832_xxaa_s212 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52832_xxaa_s212 + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52832_xxaa_s212.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52832_xxaa_s212.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..f11fd32 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,150 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x72000, LENGTH = 0xc000 + RAM (rwx) : ORIGIN = 0x200057b8, LENGTH = 0xa848 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x0007F000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0007E000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .sdh_ant_observers : + { + PROVIDE(__start_sdh_ant_observers = .); + KEEP(*(SORT(.sdh_ant_observers*))) + PROVIDE(__stop_sdh_ant_observers = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/config/sdk_config.h new file mode 100644 index 0000000..809b427 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/config/sdk_config.h @@ -0,0 +1,5109 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_ANT + +//========================================================== +// ANT_CHANNEL_CONFIG_ENABLED - ant_channel_config - ANT common channel configuration + + +#ifndef ANT_CHANNEL_CONFIG_ENABLED +#define ANT_CHANNEL_CONFIG_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 16 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 1 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 0 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 0 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 4096 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 4 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 1 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 0 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 4096 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_ANT_ENABLED - nrf_sdh_ant - SoftDevice ANT event handler +//========================================================== +#ifndef NRF_SDH_ANT_ENABLED +#define NRF_SDH_ANT_ENABLED 1 +#endif +// ANT Channels + +//========================================================== +// NRF_SDH_ANT_TOTAL_CHANNELS_ALLOCATED - Allocated ANT channels. +#ifndef NRF_SDH_ANT_TOTAL_CHANNELS_ALLOCATED +#define NRF_SDH_ANT_TOTAL_CHANNELS_ALLOCATED 1 +#endif + +// NRF_SDH_ANT_ENCRYPTED_CHANNELS - Encrypted ANT channels. +#ifndef NRF_SDH_ANT_ENCRYPTED_CHANNELS +#define NRF_SDH_ANT_ENCRYPTED_CHANNELS 0 +#endif + +// +//========================================================== + +// ANT Queues + +//========================================================== +// NRF_SDH_ANT_EVENT_QUEUE_SIZE - Event queue size. +#ifndef NRF_SDH_ANT_EVENT_QUEUE_SIZE +#define NRF_SDH_ANT_EVENT_QUEUE_SIZE 32 +#endif + +// NRF_SDH_ANT_BURST_QUEUE_SIZE - ANT burst queue size. +#ifndef NRF_SDH_ANT_BURST_QUEUE_SIZE +#define NRF_SDH_ANT_BURST_QUEUE_SIZE 128 +#endif + +// +//========================================================== + +// ANT Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_ANT_OBSERVER_PRIO_LEVELS - Total number of priority levels for ANT observers. +// This setting configures the number of priority levels available for the ANT event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_ANT_OBSERVER_PRIO_LEVELS +#define NRF_SDH_ANT_OBSERVER_PRIO_LEVELS 2 +#endif + +// ANT Observers priorities - Invididual priorities + +//========================================================== +// ANT_BPWR_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the Bicycle Power Profile. + +#ifndef ANT_BPWR_ANT_OBSERVER_PRIO +#define ANT_BPWR_ANT_OBSERVER_PRIO 1 +#endif + +// ANT_BSC_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the Bicycle Speed and Cadence Profile. + +#ifndef ANT_BSC_ANT_OBSERVER_PRIO +#define ANT_BSC_ANT_OBSERVER_PRIO 1 +#endif + +// ANT_ENCRYPT_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the Cryptographic ANT stack configuration module. + +#ifndef ANT_ENCRYPT_ANT_OBSERVER_PRIO +#define ANT_ENCRYPT_ANT_OBSERVER_PRIO 1 +#endif + +// ANT_HRM_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the Heart Rate Monitor. + +#ifndef ANT_HRM_ANT_OBSERVER_PRIO +#define ANT_HRM_ANT_OBSERVER_PRIO 1 +#endif + +// ANT_SDM_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the Stride Based Speed and Distance Monitor Profile. + +#ifndef ANT_SDM_ANT_OBSERVER_PRIO +#define ANT_SDM_ANT_OBSERVER_PRIO 1 +#endif + +// ANT_STATE_INDICATOR_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the ANT state indicator module. + +#ifndef ANT_STATE_INDICATOR_ANT_OBSERVER_PRIO +#define ANT_STATE_INDICATOR_ANT_OBSERVER_PRIO 1 +#endif + +// BSP_BTN_ANT_OBSERVER_PRIO +// Priority with which ANT events are dispatched to the Button Control module. + +#ifndef BSP_BTN_ANT_OBSERVER_PRIO +#define BSP_BTN_ANT_OBSERVER_PRIO 1 +#endif + +// NRF_DFU_ANT_EVT_HANDLER_PRIO - DFU ANT event handling priority. +// Priority used to register the ANT event handler for DFU purposes. Change this if there is other ANT event handlers that should be higher priority. + +#ifndef NRF_DFU_ANT_EVT_HANDLER_PRIO +#define NRF_DFU_ANT_EVT_HANDLER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/ses/flash_placement.xml new file mode 100644 index 0000000..fce6a02 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/ses/flash_placement.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/ses/secure_bootloader_ant_s212_pca10040_debug.emProject b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/ses/secure_bootloader_ant_s212_pca10040_debug.emProject new file mode 100644 index 0000000..0c5a69b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/ses/secure_bootloader_ant_s212_pca10040_debug.emProject @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/ses/secure_bootloader_ant_s212_pca10040_debug.emSession b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/ses/secure_bootloader_ant_s212_pca10040_debug.emSession new file mode 100644 index 0000000..a5a5fad --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_s212_ant_debug/ses/secure_bootloader_ant_s212_pca10040_debug.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10040_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040.uvoptx new file mode 100644 index 0000000..924d4dd --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52832_xxaa_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10040_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040.uvprojx new file mode 100644 index 0000000..e260899 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040.uvprojx @@ -0,0 +1,1349 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52832_xxaa_mbr + 0x4 + ARM-ADS + + nRF52832_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x80000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52832_xxaa_mbr + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x78000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0xfff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD MBR_PRESENT NRF52 NRF52832_XXAA NRF52_PAN_74 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10040,-DCONFIG_GPIO_AS_PINRESET,-DFLOAT_ABI_HARD,-DMBR_PRESENT,-DNRF52,-DNRF52832_XXAA,-DNRF52_PAN_74,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD MBR_PRESENT NRF52 NRF52832_XXAA NRF52_PAN_74 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_serial_uart.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + + flash_mbr + 0x4 + ARM-ADS + + nRF52832_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x80000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\mbr\hex\ + mbr_nrf52_2.4.1_mbr.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x78000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0xfff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD MBR_PRESENT NRF52 NRF52832_XXAA NRF52_PAN_74 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10040,-DCONFIG_GPIO_AS_PINRESET,-DFLOAT_ABI_HARD,-DMBR_PRESENT,-DNRF52,-DNRF52832_XXAA,-DNRF52_PAN_74,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD MBR_PRESENT NRF52 NRF52832_XXAA NRF52_PAN_74 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_serial_uart.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10040_uart/armgcc/Makefile new file mode 100644 index 0000000..6fd70ba --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart/armgcc/Makefile @@ -0,0 +1,250 @@ +PROJECT_NAME := secure_bootloader_uart_mbr_pca10040 +TARGETS := nrf52832_xxaa_mbr +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52832_xxaa_mbr.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/slip/slip.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_uart.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_nvic.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_soc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/prs/nrfx_prs.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uart.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uarte.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial_uart.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/mbr/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/libraries/slip \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52hf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBOARD_PCA10040 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DMBR_PRESENT +CFLAGS += -DNRF52 +CFLAGS += -DNRF52832_XXAA +CFLAGS += -DNRF52_PAN_74 +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBOARD_PCA10040 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DMBR_PRESENT +ASMFLAGS += -DNRF52 +ASMFLAGS += -DNRF52832_XXAA +ASMFLAGS += -DNRF52_PAN_74 +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52832_xxaa_mbr: CFLAGS += -D__HEAP_SIZE=0 +nrf52832_xxaa_mbr: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52832_xxaa_mbr + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52832_xxaa_mbr + @echo flash_mbr + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_mbr erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52832_xxaa_mbr.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52832_xxaa_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_mbr: + @echo Flashing: mbr_nrf52_2.4.1_mbr.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/mbr/hex/mbr_nrf52_2.4.1_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10040_uart/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..f5e6a02 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,120 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x78000, LENGTH = 0x6000 + RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0xfff8 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x0007F000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0007E000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10040_uart/config/sdk_config.h new file mode 100644 index 0000000..5701906 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart/config/sdk_config.h @@ -0,0 +1,5130 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 16 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 0 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 0 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nrf_dfu_serial_uart - UART DFU transport + +//========================================================== +// NRF_DFU_SERIAL_UART_USES_HWFC - HWFC configuration + + +#ifndef NRF_DFU_SERIAL_UART_USES_HWFC +#define NRF_DFU_SERIAL_UART_USES_HWFC 1 +#endif + +// NRF_DFU_SERIAL_UART_RX_BUFFERS - Number of RX buffers. +// Number of buffers depends on flash access vs. +// transport throughtput. If value is too low it may lead +// to received packets being dropped. + +#ifndef NRF_DFU_SERIAL_UART_RX_BUFFERS +#define NRF_DFU_SERIAL_UART_RX_BUFFERS 3 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// NRFX_PRS_ENABLED - nrfx_prs - Peripheral Resource Sharing module +//========================================================== +#ifndef NRFX_PRS_ENABLED +#define NRFX_PRS_ENABLED 1 +#endif +// NRFX_PRS_BOX_0_ENABLED - Enables box 0 in the module. + + +#ifndef NRFX_PRS_BOX_0_ENABLED +#define NRFX_PRS_BOX_0_ENABLED 0 +#endif + +// NRFX_PRS_BOX_1_ENABLED - Enables box 1 in the module. + + +#ifndef NRFX_PRS_BOX_1_ENABLED +#define NRFX_PRS_BOX_1_ENABLED 0 +#endif + +// NRFX_PRS_BOX_2_ENABLED - Enables box 2 in the module. + + +#ifndef NRFX_PRS_BOX_2_ENABLED +#define NRFX_PRS_BOX_2_ENABLED 0 +#endif + +// NRFX_PRS_BOX_3_ENABLED - Enables box 3 in the module. + + +#ifndef NRFX_PRS_BOX_3_ENABLED +#define NRFX_PRS_BOX_3_ENABLED 0 +#endif + +// NRFX_PRS_BOX_4_ENABLED - Enables box 4 in the module. + + +#ifndef NRFX_PRS_BOX_4_ENABLED +#define NRFX_PRS_BOX_4_ENABLED 1 +#endif + +// NRFX_PRS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PRS_CONFIG_LOG_ENABLED +#define NRFX_PRS_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PRS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PRS_CONFIG_LOG_LEVEL +#define NRFX_PRS_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PRS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_INFO_COLOR +#define NRFX_PRS_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PRS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_DEBUG_COLOR +#define NRFX_PRS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UARTE_ENABLED - nrfx_uarte - UARTE peripheral driver +//========================================================== +#ifndef NRFX_UARTE_ENABLED +#define NRFX_UARTE_ENABLED 1 +#endif +// NRFX_UARTE0_ENABLED - Enable UARTE0 instance +#ifndef NRFX_UARTE0_ENABLED +#define NRFX_UARTE0_ENABLED 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_HWFC +#define NRFX_UARTE_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_PARITY +#define NRFX_UARTE_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <8388608=> 31250 baud +// <10289152=> 38400 baud +// <15007744=> 56000 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UARTE_CONFIG_LOG_ENABLED +#define NRFX_UARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UARTE_CONFIG_LOG_LEVEL +#define NRFX_UARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_INFO_COLOR +#define NRFX_UARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_DEBUG_COLOR +#define NRFX_UARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UART_ENABLED - nrfx_uart - UART peripheral driver +//========================================================== +#ifndef NRFX_UART_ENABLED +#define NRFX_UART_ENABLED 1 +#endif +// NRFX_UART0_ENABLED - Enable UART0 instance +#ifndef NRFX_UART0_ENABLED +#define NRFX_UART0_ENABLED 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UART_DEFAULT_CONFIG_HWFC +#define NRFX_UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UART_DEFAULT_CONFIG_PARITY +#define NRFX_UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3866624=> 14400 baud +// <5152768=> 19200 baud +// <7729152=> 28800 baud +// <8388608=> 31250 baud +// <10309632=> 38400 baud +// <15007744=> 56000 baud +// <15462400=> 57600 baud +// <20615168=> 76800 baud +// <30924800=> 115200 baud +// <61845504=> 230400 baud +// <67108864=> 250000 baud +// <123695104=> 460800 baud +// <247386112=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UART_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UART_DEFAULT_CONFIG_BAUDRATE 30924800 +#endif + +// NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UART_CONFIG_LOG_ENABLED +#define NRFX_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UART_CONFIG_LOG_LEVEL +#define NRFX_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_INFO_COLOR +#define NRFX_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_DEBUG_COLOR +#define NRFX_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver - legacy layer +//========================================================== +#ifndef UART_ENABLED +#define UART_ENABLED 1 +#endif +// UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef UART_DEFAULT_CONFIG_HWFC +#define UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef UART_DEFAULT_CONFIG_PARITY +#define UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef UART_DEFAULT_CONFIG_BAUDRATE +#define UART_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// UART_EASY_DMA_SUPPORT - Driver supporting EasyDMA + + +#ifndef UART_EASY_DMA_SUPPORT +#define UART_EASY_DMA_SUPPORT 1 +#endif + +// UART_LEGACY_SUPPORT - Driver supporting Legacy mode + + +#ifndef UART_LEGACY_SUPPORT +#define UART_LEGACY_SUPPORT 0 +#endif + +// UART0_ENABLED - Enable UART0 instance +//========================================================== +#ifndef UART0_ENABLED +#define UART0_ENABLED 1 +#endif +// UART0_CONFIG_USE_EASY_DMA - Default setting for using EasyDMA + + +#ifndef UART0_CONFIG_USE_EASY_DMA +#define UART0_CONFIG_USE_EASY_DMA 1 +#endif + +// + +// + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// SLIP_ENABLED - slip - SLIP encoding and decoding + + +#ifndef SLIP_ENABLED +#define SLIP_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 0 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 0 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 0 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10040_uart/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..65c5532 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x78000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x78000; +define symbol __ICFEDIT_region_ROM_end__ = 0x7dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000008; +define symbol __ICFEDIT_region_RAM_end__ = 0x2000ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x0007F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0007E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart/iar/secure_bootloader_uart_mbr_pca10040.ewd b/2.ble_app_dfu/secure_bootloader/pca10040_uart/iar/secure_bootloader_uart_mbr_pca10040.ewd new file mode 100644 index 0000000..7c48726 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart/iar/secure_bootloader_uart_mbr_pca10040.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52832_xxaa_mbr + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart/iar/secure_bootloader_uart_mbr_pca10040.ewp b/2.ble_app_dfu/secure_bootloader/pca10040_uart/iar/secure_bootloader_uart_mbr_pca10040.ewp new file mode 100644 index 0000000..b86211d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart/iar/secure_bootloader_uart_mbr_pca10040.ewp @@ -0,0 +1,1159 @@ + + + + + 2 + nrf52832_xxaa_mbr + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\slip\slip.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52hf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_Serial_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10040_uart/ses/flash_placement.xml new file mode 100644 index 0000000..371a414 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart/ses/flash_placement.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart/ses/secure_bootloader_uart_mbr_pca10040.emProject b/2.ble_app_dfu/secure_bootloader/pca10040_uart/ses/secure_bootloader_uart_mbr_pca10040.emProject new file mode 100644 index 0000000..349dbfc --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart/ses/secure_bootloader_uart_mbr_pca10040.emProject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart/ses/secure_bootloader_uart_mbr_pca10040.emSession b/2.ble_app_dfu/secure_bootloader/pca10040_uart/ses/secure_bootloader_uart_mbr_pca10040.emSession new file mode 100644 index 0000000..0a5d286 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart/ses/secure_bootloader_uart_mbr_pca10040.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10040_debug.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10040_debug.uvoptx new file mode 100644 index 0000000..924d4dd --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10040_debug.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52832_xxaa_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10040_debug.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10040_debug.uvprojx new file mode 100644 index 0000000..0edcf75 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10040_debug.uvprojx @@ -0,0 +1,1397 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52832_xxaa_mbr + 0x4 + ARM-ADS + + nRF52832_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x80000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52832_xxaa_mbr + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x64000 + 0x1a000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0xfff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD MBR_PRESENT NRF52 NRF52832_XXAA NRF52_PAN_74 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10040,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DFLOAT_ABI_HARD,-DMBR_PRESENT,-DNRF52,-DNRF52832_XXAA,-DNRF52_PAN_74,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD MBR_PRESENT NRF52 NRF52832_XXAA NRF52_PAN_74 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_serial_uart.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + nrf_log_backend_uart.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_uart.c + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + + flash_mbr + 0x4 + ARM-ADS + + nRF52832_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x80000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\mbr\hex\ + mbr_nrf52_2.4.1_mbr.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x64000 + 0x1a000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0xfff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD MBR_PRESENT NRF52 NRF52832_XXAA NRF52_PAN_74 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10040,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DFLOAT_ABI_HARD,-DMBR_PRESENT,-DNRF52,-DNRF52832_XXAA,-DNRF52_PAN_74,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD MBR_PRESENT NRF52 NRF52832_XXAA NRF52_PAN_74 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_serial_uart.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + nrf_log_backend_uart.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_uart.c + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/armgcc/Makefile new file mode 100644 index 0000000..55bee28 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/armgcc/Makefile @@ -0,0 +1,262 @@ +PROJECT_NAME := secure_bootloader_uart_mbr_pca10040_debug +TARGETS := nrf52832_xxaa_mbr +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52832_xxaa_mbr.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_uart.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/slip/slip.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_uart.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_nvic.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_soc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/prs/nrfx_prs.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uart.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uarte.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial_uart.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/mbr/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/libraries/slip \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52hf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBOARD_PCA10040 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DMBR_PRESENT +CFLAGS += -DNRF52 +CFLAGS += -DNRF52832_XXAA +CFLAGS += -DNRF52_PAN_74 +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBOARD_PCA10040 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DMBR_PRESENT +ASMFLAGS += -DNRF52 +ASMFLAGS += -DNRF52832_XXAA +ASMFLAGS += -DNRF52_PAN_74 +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52832_xxaa_mbr: CFLAGS += -D__HEAP_SIZE=0 +nrf52832_xxaa_mbr: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52832_xxaa_mbr + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52832_xxaa_mbr + @echo flash_mbr + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_mbr erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52832_xxaa_mbr.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52832_xxaa_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_mbr: + @echo Flashing: mbr_nrf52_2.4.1_mbr.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/mbr/hex/mbr_nrf52_2.4.1_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..d7c646f --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,120 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x64000, LENGTH = 0x1a000 + RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0xfff8 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x0007F000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0007E000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/config/sdk_config.h new file mode 100644 index 0000000..1fa3357 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/config/sdk_config.h @@ -0,0 +1,5258 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 16 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 0 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 0 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nrf_dfu_serial_uart - UART DFU transport + +//========================================================== +// NRF_DFU_SERIAL_UART_USES_HWFC - HWFC configuration + + +#ifndef NRF_DFU_SERIAL_UART_USES_HWFC +#define NRF_DFU_SERIAL_UART_USES_HWFC 1 +#endif + +// NRF_DFU_SERIAL_UART_RX_BUFFERS - Number of RX buffers. +// Number of buffers depends on flash access vs. +// transport throughtput. If value is too low it may lead +// to received packets being dropped. + +#ifndef NRF_DFU_SERIAL_UART_RX_BUFFERS +#define NRF_DFU_SERIAL_UART_RX_BUFFERS 3 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// NRFX_PRS_ENABLED - nrfx_prs - Peripheral Resource Sharing module +//========================================================== +#ifndef NRFX_PRS_ENABLED +#define NRFX_PRS_ENABLED 1 +#endif +// NRFX_PRS_BOX_0_ENABLED - Enables box 0 in the module. + + +#ifndef NRFX_PRS_BOX_0_ENABLED +#define NRFX_PRS_BOX_0_ENABLED 0 +#endif + +// NRFX_PRS_BOX_1_ENABLED - Enables box 1 in the module. + + +#ifndef NRFX_PRS_BOX_1_ENABLED +#define NRFX_PRS_BOX_1_ENABLED 0 +#endif + +// NRFX_PRS_BOX_2_ENABLED - Enables box 2 in the module. + + +#ifndef NRFX_PRS_BOX_2_ENABLED +#define NRFX_PRS_BOX_2_ENABLED 0 +#endif + +// NRFX_PRS_BOX_3_ENABLED - Enables box 3 in the module. + + +#ifndef NRFX_PRS_BOX_3_ENABLED +#define NRFX_PRS_BOX_3_ENABLED 0 +#endif + +// NRFX_PRS_BOX_4_ENABLED - Enables box 4 in the module. + + +#ifndef NRFX_PRS_BOX_4_ENABLED +#define NRFX_PRS_BOX_4_ENABLED 1 +#endif + +// NRFX_PRS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PRS_CONFIG_LOG_ENABLED +#define NRFX_PRS_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PRS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PRS_CONFIG_LOG_LEVEL +#define NRFX_PRS_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PRS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_INFO_COLOR +#define NRFX_PRS_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PRS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_DEBUG_COLOR +#define NRFX_PRS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UARTE_ENABLED - nrfx_uarte - UARTE peripheral driver +//========================================================== +#ifndef NRFX_UARTE_ENABLED +#define NRFX_UARTE_ENABLED 1 +#endif +// NRFX_UARTE0_ENABLED - Enable UARTE0 instance +#ifndef NRFX_UARTE0_ENABLED +#define NRFX_UARTE0_ENABLED 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_HWFC +#define NRFX_UARTE_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_PARITY +#define NRFX_UARTE_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <8388608=> 31250 baud +// <10289152=> 38400 baud +// <15007744=> 56000 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UARTE_CONFIG_LOG_ENABLED +#define NRFX_UARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UARTE_CONFIG_LOG_LEVEL +#define NRFX_UARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_INFO_COLOR +#define NRFX_UARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_DEBUG_COLOR +#define NRFX_UARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UART_ENABLED - nrfx_uart - UART peripheral driver +//========================================================== +#ifndef NRFX_UART_ENABLED +#define NRFX_UART_ENABLED 1 +#endif +// NRFX_UART0_ENABLED - Enable UART0 instance +#ifndef NRFX_UART0_ENABLED +#define NRFX_UART0_ENABLED 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UART_DEFAULT_CONFIG_HWFC +#define NRFX_UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UART_DEFAULT_CONFIG_PARITY +#define NRFX_UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3866624=> 14400 baud +// <5152768=> 19200 baud +// <7729152=> 28800 baud +// <8388608=> 31250 baud +// <10309632=> 38400 baud +// <15007744=> 56000 baud +// <15462400=> 57600 baud +// <20615168=> 76800 baud +// <30924800=> 115200 baud +// <61845504=> 230400 baud +// <67108864=> 250000 baud +// <123695104=> 460800 baud +// <247386112=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UART_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UART_DEFAULT_CONFIG_BAUDRATE 30924800 +#endif + +// NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UART_CONFIG_LOG_ENABLED +#define NRFX_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UART_CONFIG_LOG_LEVEL +#define NRFX_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_INFO_COLOR +#define NRFX_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_DEBUG_COLOR +#define NRFX_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver - legacy layer +//========================================================== +#ifndef UART_ENABLED +#define UART_ENABLED 1 +#endif +// UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef UART_DEFAULT_CONFIG_HWFC +#define UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef UART_DEFAULT_CONFIG_PARITY +#define UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef UART_DEFAULT_CONFIG_BAUDRATE +#define UART_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// UART_EASY_DMA_SUPPORT - Driver supporting EasyDMA + + +#ifndef UART_EASY_DMA_SUPPORT +#define UART_EASY_DMA_SUPPORT 1 +#endif + +// UART_LEGACY_SUPPORT - Driver supporting Legacy mode + + +#ifndef UART_LEGACY_SUPPORT +#define UART_LEGACY_SUPPORT 0 +#endif + +// UART0_ENABLED - Enable UART0 instance +//========================================================== +#ifndef UART0_ENABLED +#define UART0_ENABLED 1 +#endif +// UART0_CONFIG_USE_EASY_DMA - Default setting for using EasyDMA + + +#ifndef UART0_CONFIG_USE_EASY_DMA +#define UART0_CONFIG_USE_EASY_DMA 1 +#endif + +// + +// + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// SLIP_ENABLED - slip - SLIP encoding and decoding + + +#ifndef SLIP_ENABLED +#define SLIP_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_BACKEND_UART_ENABLED - nrf_log_backend_uart - Log UART backend +//========================================================== +#ifndef NRF_LOG_BACKEND_UART_ENABLED +#define NRF_LOG_BACKEND_UART_ENABLED 0 +#endif +// NRF_LOG_BACKEND_UART_TX_PIN - UART TX pin +#ifndef NRF_LOG_BACKEND_UART_TX_PIN +#define NRF_LOG_BACKEND_UART_TX_PIN 6 +#endif + +// NRF_LOG_BACKEND_UART_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRF_LOG_BACKEND_UART_BAUDRATE +#define NRF_LOG_BACKEND_UART_BAUDRATE 30801920 +#endif + +// NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE 64 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 4096 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 4 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 0 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 0 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 0 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 4096 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/hex/license.txt b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/hex/license.txt new file mode 100644 index 0000000..cd3f7e3 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/hex/license.txt @@ -0,0 +1,3 @@ +The provided HEX files were compiled using the projects located in the folders for the respective boards (pca10xxx). + +For license and copyright information, see the individual .c and .h files that are included in the projects. diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/hex/secure_bootloader_uart_mbr_pca10040_debug.hex b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/hex/secure_bootloader_uart_mbr_pca10040_debug.hex new file mode 100644 index 0000000..a061ea9 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/hex/secure_bootloader_uart_mbr_pca10040_debug.hex @@ -0,0 +1,3007 @@ +:020000040000FA +:1000000000040020810A000015070000610A0000BA +:100010001F07000029070000330700000000000050 +:10002000000000000000000000000000A50A000021 +:100030003D070000000000004707000051070000D6 +:100040005B070000650700006F07000079070000EC +:10005000830700008D07000097070000A10700003C +:10006000AB070000B5070000BF070000C90700008C +:10007000D3070000DD070000E7070000F1070000DC +:10008000FB070000050800000F0800001908000029 +:10009000230800002D080000370800004108000078 +:1000A0004B080000550800005F08000069080000C8 +:1000B000730800007D080000870800009108000018 +:1000C0009B080000A5080000AF080000B908000068 +:1000D000C3080000CD080000D7080000E1080000B8 +:1000E000EB080000F5080000FF0800000909000007 +:1000F000130900001D090000270900003109000054 +:100100003B0900001FB500F003F88DE80F001FBD8C +:1001100000F0ACBC40F6FC7108684FF01022401CA7 +:1001200008D00868401C09D00868401C04D0086842 +:1001300000F037BA9069F5E79069F9E7704770B554 +:100140000B46010B184400F6FF70040B4FF0805073 +:100150000022090303692403406943431D1B104621 +:1001600000F048FA29462046BDE8704000F042BA47 +:10017000F0B54FF6FF734FF4B4751A466E1E11E0DA +:10018000A94201D3344600E00C46091B30F8027B3B +:10019000641E3B441A44F9D19CB204EB134394B25D +:1001A00004EB12420029EBD198B200EB134002EBB2 +:1001B000124140EA0140F0BDF34992B00446D1E952 +:1001C0000001CDE91001FF224021684600F0F4FB58 +:1001D00094E80F008DE80F00684610A902E004C8FB +:1001E00041F8042D8842FAD110216846FFF7C0FF7C +:1001F0001090AA208DF8440000F099F9FFF78AFFCB +:1002000040F6FC7420684FF01025401C0FD0206889 +:1002100010226946803000F078F92068401C08D030 +:100220002068082210A900F070F900F061F9A869AF +:10023000EEE7A869F5E74FF080500369406940F6A2 +:10024000FC71434308684FF01022401C06D0086838 +:1002500000F58050834203D2092070479069F7E788 +:100260000868401C04D00868401C03D00020704778 +:100270009069F9E70420704770B504460068C34DE3 +:10028000072876D2DFE800F033041929631E250021 +:10029000D4E9026564682946304600F062F92A46CE +:1002A0002146304600F031F9AA002146304600F0E0 +:1002B00057FB002800D0032070BD00F009FC4FF46C +:1002C000805007E0201D00F040F90028F4D100F034 +:1002D000FFFB60682860002070BD241D94E80700C3 +:1002E000920000F03DFB0028F6D00E2070BDFFF715 +:1002F000A2FF0028FAD1D4E901034FF0805100EBAE +:10030000830208694D69684382420ED840F6F8704E +:1003100005684FF010226D1C09D0056805EB8305B8 +:100320000B6949694B439D4203D9092070BD55694A +:10033000F4E70168491C03D00068401C02D003E0C8 +:100340005069FAE70F2070BD2046FFF735FFFFF731 +:1003500072FF0028F7D1201D00F0F7F80028F2D135 +:1003600060680028F0D100F0E2F8FFF7D3FE00F05B +:10037000BFF8072070BD10B50C46182802D0012028 +:10038000086010BD2068FFF777FF206010BD41684E +:10039000054609B1012700E0002740F6F8742068FF +:1003A0004FF01026401C2BD02068AA68920000F065 +:1003B000D7FA38B3A86881002068401C27D020688D +:1003C000FFF7BDFED7B12068401C22D026684FF051 +:1003D0008050AC686D68016942695143A9420DD9EA +:1003E000016940694143A14208D92146304600F0E5 +:1003F000B8F822462946304600F087F800F078F831 +:100400007069D2E700F093F8FFF784FEF6E77069B1 +:10041000D6E77669DBE740F6FC7420684FF01026DB +:10042000401C23D02068401C0CD02068401C1FD0EA +:100430002568206805F18005401C1BD027683879A5 +:10044000AA2819D040F6F8700168491C42D001680A +:10045000491C45D00168491C3ED001680968491C07 +:100460003ED00168491C39D000683EE0B069DAE747 +:10047000B569DEE7B769E2E710212846FFF778FEA5 +:100480003968814222D12068401C05D0D4F8001080 +:1004900001F18002C03107E0B169F9E730B108CA63 +:1004A00051F8040D984201D1012000E000208A4259 +:1004B000F4D158B1286810B1042803D0FEE72846CB +:1004C000FFF765FF3149686808600EE0FFF722FE1C +:1004D00000F00EF87169BBE77169BFE7706904E06D +:1004E0004FF480500168491C01D000F0CBFAFEE7C0 +:1004F000BFF34F8F26480168264A01F4E06111439B +:100500000160BFF34F8F00BFFDE72DE9F0411746B3 +:100510000D460646002406E03046296800F054F8EF +:10052000641C2D1D361DBC42F6D3BDE8F08140F69B +:10053000FC700168491C04D0D0F800004FF48051D1 +:10054000FDE54FF010208069F8E74FF080510A690F +:10055000496900684A43824201D810207047002050 +:10056000704770B50C4605464FF4806608E0284693 +:1005700000F017F8B44205D3A4F5806405F5805562 +:10058000002CF4D170BD0000F40A0000000000202F +:100590000CED00E00400FA05144801680029FCD0C5 +:1005A0007047134A0221116010490B68002BFCD0E0 +:1005B0000F4B1B1D186008680028FCD0002010603D +:1005C00008680028FCD07047094B10B501221A605A +:1005D000064A1468002CFCD0016010680028FCD08A +:1005E0000020186010680028FCD010BD00E4014015 +:1005F00004E5014070B50C46054600F073F810B9EB +:1006000000F07EF828B121462846BDE8704000F091 +:1006100007B821462846BDE8704000F037B8000012 +:100620007FB5002200920192029203920A0B000B06 +:100630006946012302440AE0440900F01F0651F80C +:10064000245003FA06F6354341F82450401C8242F8 +:10065000F2D80D490868009A10430860081D016827 +:10066000019A1143016000F03DF800280AD00649C4 +:1006700010310868029A10430860091D0868039A3F +:10068000104308607FBD00000006004030B50F4CED +:10069000002200BF04EB0213D3F800582DB9D3F8A1 +:1006A000045815B9D3F808581DB1521C082AF1D3C3 +:1006B00030BD082AFCD204EB0212C2F80008C3F8CD +:1006C00004180220C3F8080830BD000000E0014013 +:1006D0004FF08050D0F83001082801D0002070473A +:1006E000012070474FF08050D0F83011062905D016 +:1006F000D0F83001401C01D0002070470120704725 +:100700004FF08050D0F830010A2801D00020704707 +:100710000120704708208F490968095808471020B0 +:100720008C4909680958084714208A4909680958FA +:100730000847182087490968095808473020854923 +:100740000968095808473820824909680958084744 +:100750003C20804909680958084740207D490968BC +:100760000958084744207B49096809580847482028 +:1007700078490968095808474C207649096809589A +:10078000084750207349096809580847542071499F +:1007900009680958084758206E49096809580847E8 +:1007A0005C206C4909680958084760206949096854 +:1007B00009580847642067490968095808476820AC +:1007C00064490968095808476C2062490968095852 +:1007D000084770205F4909680958084774205D4937 +:1007E00009680958084778205A490968095808478C +:1007F0007C205849096809580847802055490968EC +:10080000095808478420534909680958084788202F +:1008100050490968095808478C204E490968095809 +:10082000084790204B4909680958084794204949CE +:10083000096809580847982046490968095808472F +:100840009C204449096809580847A0204149096883 +:1008500009580847A4203F49096809580847A820B3 +:100860003C49096809580847AC203A4909680958C1 +:100870000847B0203749096809580847B420354966 +:10088000096809580847B8203249096809580847D3 +:10089000BC203049096809580847C0202D4909681B +:1008A00009580847C4202B49096809580847C82037 +:1008B0002849096809580847CC2026490968095879 +:1008C0000847D0202349096809580847D4202149FE +:1008D000096809580847D8201E4909680958084777 +:1008E000DC201C49096809580847E02019490968B3 +:1008F00009580847E4201749096809580847E820BB +:100900001449096809580847EC2012490968095830 +:100910000847F0200F49096809580847F4200D4995 +:10092000096809580847F8200A490968095808471A +:10093000FC2008490968095808475FF48070054998 +:10094000096809580847000003480449024A034B54 +:100950007047000000000020000B0000000B0000AA +:1009600040EA010310B59B070FD1042A0DD310C82C +:1009700008C9121F9C42F8D020BA19BA884201D97E +:10098000012010BD4FF0FF3010BD1AB1D30703D0C6 +:10099000521C07E0002010BD10F8013B11F8014B7C +:1009A0001B1B07D110F8013B11F8014B1B1B01D198 +:1009B000921EF1D1184610BD02F0FF0343EA032254 +:1009C00042EA024200F005B87047704770474FF0A6 +:1009D00000020429C0F0128010F0030C00F01B800C +:1009E000CCF1040CBCF1020F18BF00F8012BA8BF1A +:1009F00020F8022BA1EB0C0100F00DB85FEAC17CDE +:100A000024BF00F8012B00F8012B48BF00F8012B90 +:100A100070474FF0000200B51346944696462039C1 +:100A200022BFA0E80C50A0E80C50B1F12001BFF4A7 +:100A3000F7AF090728BFA0E80C5048BF0CC05DF80D +:100A400004EB890028BF40F8042B08BF704748BF5B +:100A500020F8022B11F0804F18BF00F8012B7047CF +:100A6000014B1B68DB6818470000002009480A4951 +:100A70007047FFF7FBFFFFF745FB00BD20BFFDE719 +:100A8000064B1847064A1060016881F308884068E1 +:100A900000470000000B0000000B000017040000DE +:100AA000000000201EF0040F0CBFEFF30881EFF3ED +:100AB0000981886902380078182803D100E0000015 +:100AC000074A1047074A12682C3212681047000084 +:100AD00000B5054B1B68054A9B58984700BD0000B0 +:100AE0007703000000000020F00A0000040000006E +:100AF000001000000000000000FFFFFF0090D00386 +:020000040006F4 +:1040000018480020F9420600014306000343060059 +:1040100005430600074306000943060000000000B0 +:104020000000000000000000000000000B4306003C +:104030000D430600000000000F4306001143060078 +:104040001343060013430600F95706001343060006 +:1040500013430600134306001343060013430600F0 +:1040600013430600134306001343060013430600E0 +:1040700013430600134306001343060013430600D0 +:104080004D58060013430600134306001343060071 +:1040900013430600134306001343060013430600B0 +:1040A00013430600134306001343060013430600A0 +:1040B0001343060013430600000000000000000048 +:1040C0001343060013430600134306001343060080 +:1040D0001D540600134306001343060000000000B1 +:1040E00000000000000000000000000000000000D0 +:1040F00000000000000000000000000000000000C0 +:1041000000000000000000000000000000000000AF +:10411000000000000000000000000000000000009F +:10412000000000000000000000000000000000008F +:10413000000000000000000000000000000000007F +:10414000000000000000000000000000000000006F +:10415000000000000000000000000000000000005F +:10416000000000000000000000000000000000004F +:10417000000000000000000000000000000000003F +:10418000000000000000000000000000000000002F +:10419000000000000000000000000000000000001F +:1041A000000000000000000000000000000000000F +:1041B00000000000000000000000000000000000FF +:1041C00000000000000000000000000000000000EF +:1041D00000000000000000000000000000000000DF +:1041E00000000000000000000000000000000000CF +:1041F00000000000000000000000000000000000BF +:10420000DFF80CD000F0E0F80048004739700600F5 +:104210001848002030B4044654E8000F0D4644E826 +:104220000053002BF8D1156030BC704730B4044601 +:1042300054E8000F40EA010544E80053002BF7D191 +:10424000156030BC704730B4044654E8000F00EAF3 +:10425000010544E80053002BF7D1156030BC7047CE +:1042600030B4044654E8000F80EA010544E80053E6 +:10427000002BF7D1156030BC704730B4044654E8C9 +:10428000000F00EB010544E80053002BF7D1156047 +:1042900030BC704730B4044654E8000FA0EB010571 +:1042A00044E80053002BF7D1156030BC704770B460 +:1042B00004464FF0000054E8006F0D68AE4207BF9F +:1042C00044E80023012044E800630E60002B1CBF7B +:1042D0000020F0E770BC704730B4044654E8000F8B +:1042E00088422CBF451A054644E80053002BF5D1FF +:1042F000156030BC704700000648804706480047FC +:10430000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE785 +:10431000FEE7FEE72155060001420600202A04DBE5 +:10432000203A00FA02F1002070479140C2F12003C8 +:1043300020FA03F31943904070470000004870478B +:10434000C4E2060040EA01039B0703D009E008C964 +:10435000121F08C0042AFAD203E011F8013B00F84A +:10436000013B521EF9D27047D2B201E000F8012B96 +:10437000491EFBD270470022F6E710B513460A46E5 +:1043800004461946FFF7F0FF204610BD421C10F806 +:10439000011B0029FBD1801A704730B5044600206C +:1043A000034600E05B1C934203D2E05CCD5C401B03 +:1043B000F8D030BD034611F8012B00F8012B002A7C +:1043C000F9D1184670470000064C074D06E0E0683A +:1043D00040F0010394E8070098471034AC42F6D34C +:1043E000FFF712FF84EF0600A4EF060070B58C18EB +:1043F00010F8015B15F0070301D110F8013B2A11F9 +:1044000006D110F8012B03E010F8016B01F8016BE5 +:104410005B1EF9D12B0705D40023521E0DD401F8E1 +:10442000013BFAE710F8013BCB1A921C03E013F8AA +:10443000015B01F8015B521EF9D5A142D8D30020DF +:1044400070BD2DE9F0478AB01446DDF848A0554606 +:104450001F4615F9046B0096804689462B46024696 +:10446000214602A800F0A0FC02A95246084600F02E +:1044700097FC534602AA4146404600F081FC534651 +:1044800002AA2146204600F07BFC2B464A463946CC +:104490003846009600F088FC5246394602A800F0E3 +:1044A0007FFC02A92B4642460846009600F07CFCA1 +:1044B00002A92B4622460846009600F075FC2B46C2 +:1044C000424621462046009600F06EFC53462246A6 +:1044D0004946484600F054FC2B4602AA4146204675 +:1044E000009600F061FC534622463946384600F0FB +:1044F00047FC2B464A4639463846009600F054FCA5 +:10450000324602A9204600F019FE0AB0BDE8F08745 +:1045100070B514468AB006460D461A46214602A8D2 +:10452000019300F03DFC019B02AA3146304600F0A9 +:1045300027FC02A9019B2246084600F021FC019BB2 +:1045400002AA2946284600F01BFC0AB070BD8B1851 +:1045500002448B4200D1704713F8010D02F8010D9F +:10456000F7E72DE9F0479846B3F90230894613F191 +:104570001F0148BF03F13E01DD1D48BF03F10E05D9 +:10458000EC104E11944275B228BF144629460746D6 +:1045900000F08AFA22464946FFF7D9FFB8F90230FF +:1045A000B3EBC40F4FEAC40220D2D21A07EB860144 +:1045B0000020C2F120068F420FD308F124082A46BA +:1045C0003946404600F07BFA01280FD02B46424680 +:1045D0003846BDE8F04700F0C3BD51F8044D24FA59 +:1045E00002F303430B6004FA06F0E4E7BDE8F0874A +:1045F0002DE9F04793F9006092B0044689461046D1 +:10460000314615461F4600F06FFA002840F09180B1 +:104610003A46494602A800F0C3FB3B4602AA21469F +:104620000AA800F0ADFB02A908463A4600F0B8FB24 +:104630003B462A464946484600F0A2FB07F10408DB +:104640003A462946284600F0ABFB43462A46214617 +:104650002046009600F057FA43462A462946284647 +:10466000009600F050FA43462A4621462846009616 +:1046700000F09AFB3B462A462146204600F080FB8C +:104680004346224621462846009600F03CFA43461F +:1046900000962A462146204600F035FA2368DB07BB +:1046A0004AD5334642462146204600F0D1F93146EC +:1046B0008246204600F035FD06F18043013B54F868 +:1046C000232042EACA7244F823203A46214628466B +:1046D00000F066FB43460AAA29462846009600F0E9 +:1046E00063FB43460AAA29462846009600F05CFB75 +:1046F0000AA9084643462A46009600F055FB3B4669 +:104700000AAA2146204600F03BFB02AA4346104677 +:104710002146009600F048FB32462946204600F02C +:104720000DFD4946284600F009FD02A9484600F063 +:1047300005FD12B0BDE8F0873146204600F0F1FCDF +:10474000C3E7000000487047D4EE06002DE9F04FA3 +:104750002DED028BEDB08946789E05901946B6F98D +:10476000023096F9004013F11F0748BF03F13E07DE +:1047700047F3471707F1FF3B24AB002543F82B50C5 +:104780006CAB03EB8B0307EE902A4CA896F9012043 +:1047900043F8805C43F8605CFFF7D9FE96F901208E +:1047A00054A81144FFF7D3FE21464CA800F09CF911 +:1047B0008046002840F0428154A800F095F903900B +:1047C000002840F03D8106F1240A3A464CA95046A3 +:1047D00000F075F9012840F035813A4654A9504659 +:1047E00000F06DF90128069040F02C811CAD3B468D +:1047F000524654A9284600F0A2F90DF13008039B57 +:1048000048F82B3017EE902A494640463346FFF7CA +:10481000A8FE4146404653462A46009700F012FA49 +:104820000DF5B87B53462A464CA914A8009700F012 +:1048300009FA22465846059900F080FCA300079328 +:10484000059B0BEB840903EB8401484600F076FCE2 +:1048500006F14403194634A8049300F06FFC049B4E +:10486000A10059183CA800F069FC331D08EE903AED +:10487000594634AA2846009400F096FA4B465A4608 +:104880003CA934A80096FFF7DCFD18EE902A2346D9 +:104890002946284600F053F92A46494658463346E9 +:1048A000FFF736FE039B0893049B0993059B39464B +:1048B0004046CDE90A3B00F014FC3946834614A873 +:1048C00000F00FFC5845B8BF58461FFA80FB0BF1AB +:1048D000FF3109B24046049100F072FC0499B0F136 +:1048E000000814A818BF4FF0010800F069FC002868 +:1048F00014BF0220002048EA00080DF120092246DA +:1049000059F8281024A800F019FC0DF1B009A300F3 +:104910001944484600F012FC2146284600F0C4F82D +:10492000069B2B60ABF1020824AB08EE105A0FFA7D +:1049300088F80493B8F1000F2ADA18EE902A18EEDE +:10494000101A18EE100A234600F0F9F818EE102A93 +:10495000049833464946FFF7DBFD04993A46504632 +:1049600000F0ADF8012805D004993B4652460846B0 +:1049700000F0F6FB013C64B24CAA230653D5039B1E +:10498000B3FA83F040096DB0BDEC028BBDE8F08F47 +:10499000334618EE102A0498D6F8A4504946A84782 +:1049A00041460CA800F00CFC4146B0F1000B14A8E5 +:1049B00018BF4FF0010B00F003FC002814BF0220C9 +:1049C00000204BEA000B08AB53F82B1031B3224602 +:1049D00034A800F0B3FB079B3CA8194400F0AEFBE1 +:1049E00018EE102A33463CA934A8FFF791FD18EEC3 +:1049F000903A0499009434AA44A800F0D5F9049A96 +:104A000000964B463CA934A8FFF71BFD18EE101A80 +:104A100018EE100A334644AA00F0B2F908F1FF3844 +:104A20000FFA88F886E7049B52F8241053F82430D4 +:104A30004B40039919430391013C9EE72846A2E7A6 +:104A40004046A0E703989EE7000000000000000039 +:104A5000C3F10803DB0070B501330446002003A551 +:104A60005B1920C940CAAD1920C4184720C940CAE3 +:104A7000754120C420C940CA754120C420C940CA1C +:104A8000754120C420C940CA754120C420C940CA0C +:104A9000754120C420C940CA754120C420C940CAFC +:104AA000754120C4404170BD002310B51C465AB268 +:104AB000914200DC10BD40F823400133F7E710B508 +:104AC000013A52B2130601D5002010BD50F8224021 +:104AD00051F822309C4205D802F1FF32F2D24FF059 +:104AE000FF30F2E70120F0E710B500231A465CB270 +:104AF000A14203DCB2FA82F0400910BD50F8234015 +:104B000001332243F3E737B51D469DF91830019371 +:104B10000446FFF79DFF019B38B91A4621462846F7 +:104B2000FFF7CDFF0128019B07D02A4621462046EA +:104B300003B0BDE8304000F013BB03B030BDF0B5AA +:104B40000F46A1B006461946384615461C46FFF7E3 +:104B5000CBFF20B13046FFF7A7FF21B0F0BD2246C2 +:104B60003946684600F0EAFA294608A800F0E6FA55 +:104B700010A82146FFF798FF012318A81093FFF70C +:104B800093FF224608A96846FFF799FF28B92246F5 +:104B900010A9304600F0D2FADFE7009BDA0709D40B +:104BA0002146684600F0BDFA2246294610A800F0CA +:104BB000E9FBE6E7089BDB0707D4214608A800F0DD +:104BC000B0FA2246294618A8F1E7002823461CDD42 +:104BD00008AA6946684600F0C3FA2146684600F014 +:104BE000A0FA224618A910A8FFF769FF002805DAE5 +:104BF00010A923462A460846FFF72AFF10A9234694 +:104C000018AA084600F0ACFACEE708A96A4608469A +:104C100000F0A6FA214608A800F083FA224610A95F +:104C200018A8FFF74CFF002805DA18A923462A46E2 +:104C30000846FFF70DFF18A9234610AA084600F002 +:104C40008FFABEE72DE9F04FB5B004AC9DF9F850EE +:104C50001E4680462B46204600F0BAF824AB294673 +:104C60003046CDE9023400F03CFAC0EB851004B2C6 +:104C7000002C2146B8BF04F11F01634241F34711E4 +:104C800003F01F0314A804F01F0758BF5F42FFF78B +:104C90000BFF002F08B22BDD14AB002203EB8001C9 +:104CA000C7F1200E1346AB4217D36B00019314AB30 +:104CB00003EB85096F1E34AB012603EB8707002C3D +:104CC00054DA34AB03EB86062A4656F8C81C404635 +:104CD00000F034FA35B0BDE8F08F56F823C00CFA76 +:104CE00007F0024341F8042B01332CFA0EF2DAE705 +:104CF00014AB2A46314603EB800000F01FFAD4E7DC +:104D00000FFA82FE5AF8C83C53F82EB034AB03EBCE +:104D10008202013052F8803C0B44BBEB030334BFEA +:104D2000012200229B4518BF11465CF8C82C42F8AE +:104D30002E30019B42B29A42E2DB731A5E42294650 +:104D400014A85E4100F0EDF934AB03EB850329466E +:104D500053F8802C57F8803C484643EAC273013C24 +:104D600047F8803C24B200F0DCF9A8E734AB00201F +:104D7000C6F1010C014603EB860A03EB8C0CD8E765 +:104D800030B51C4691B0054693F90030684600F0F6 +:104D90001FF8D4F8AC3069462846984711B030BDAA +:104DA00013460A46FFF7ECBF37B51D469DF918308C +:104DB0000193044600F0D4F9019B38B12A462146FC +:104DC000204603B0BDE83040FFF742BE03B030BD1F +:104DD0002DE9F04F08B4F8CA04B451F8042BA3FB32 +:104DE000028940F8048B4FF0000AE4FB629A4FF00E +:104DF000000BE5FB62AB4FF0000CE6FB62BC4FF032 +:104E0000000EE7FB62CE51F8042B4FF00008E3FBE5 +:104E1000628940F8048BE4FB629AE5FB62ABE6FB37 +:104E200062BCE7FB62CE51F8042B4FF00008E3FBB5 +:104E3000628940F8048BE4FB629AE5FB62ABE6FB17 +:104E400062BCE7FB62CE51F8042B4FF00008E3FB95 +:104E5000628940F8048BE4FB629AE5FB62ABE6FBF7 +:104E600062BCE7FB62CE51F8042B4FF00008E3FB75 +:104E7000628940F8048BE4FB629AE5FB62ABE6FBD7 +:104E800062BCE7FB62CE40F8049B40F804AB40F8FC +:104E900004BB40F804CB40F804EB0CBC052B00F03D +:104EA0001E810C68A0F11400A1F11401A2F11402FA +:104EB00052F804EB4FF0000550F8046BE4FB6E561B +:104EC00052F804EB50F8047BE4FB6E6752F804EBF5 +:104ED00050F8048BE4FB6E7852F804EB50F8049B16 +:104EE000E4FB6E8952F804EB50F804ABE4FB6E9AD5 +:104EF000A0F1140052F8044B51F804EB4FF0000CF1 +:104F0000E4FB6EC540F804CB51F804EBE4FB6E56AD +:104F100040F8045B51F804EBE4FB6E6740F8046B67 +:104F200051F804EBE4FB6E7840F8047B51F804EB95 +:104F3000E4FB6E8940F8048B51F804EBE4FB6E9AB5 +:104F4000A0E80006062B00F0CA800C68A0F118004B +:104F5000A1F11801A2F1180252F804EB4FF000057C +:104F600050F8046BE4FB6E5652F804EB50F8047BE7 +:104F7000E4FB6E6752F804EB50F8048BE4FB6E78A8 +:104F800052F804EB50F8049BE4FB6E8952F804EBF2 +:104F900050F804ABE4FB6E9A52F804EB50F804BBF3 +:104FA000E4FB6EABA0F1180052F8044B51F804EB8F +:104FB0004FF0000CE4FB6EC540F804CB51F804EB55 +:104FC000E4FB6E5640F8045B51F804EBE4FB6E67BB +:104FD00040F8046B51F804EBE4FB6E7840F8047B76 +:104FE00051F804EBE4FB6E8940F8048B51F804EBB4 +:104FF000E4FB6E9A40F8049B51F804EBE4FB6EABC3 +:10500000A0E8000C072B6AD008B40C68A0F11C00C3 +:10501000A1F11C01A2F11C0252F804EB4FF00005B3 +:1050200050F8046BE4FB6E5652F804EB50F8047B26 +:10503000E4FB6E6752F804EB50F8048BE4FB6E78E7 +:1050400052F804EB50F8049BE4FB6E8952F804EB31 +:1050500050F804ABE4FB6E9A52F804EB50F804BB32 +:10506000E4FB6EAB52F804EB50F804CBE4FB6EBCEF +:10507000A0F11C0052F8044B51F804EB4FF0000370 +:10508000E4FB6E3540F8043B51F804EBE4FB6E564C +:1050900040F8045B51F804EBE4FB6E6740F8046BE6 +:1050A00051F804EBE4FB6E7840F8047B51F804EB14 +:1050B000E4FB6E8940F8048B51F804EBE4FB6E9A34 +:1050C00040F8049B51F804EBE4FB6EAB40F804ABF2 +:1050D00051F804EBE4FB6EBCA0E8001808BCBDE886 +:1050E000F08F013910B549B2041D0A06CBB204D4C1 +:1050F000013954F82120002AF7D001335BB273B193 +:1051000003F18042013A50F82220002022B9013BED +:1051100000EB431318B210BD52080130F6E71846F1 +:10512000F9E700EB81010023884200D3704751F872 +:10513000042D43EA52030B60D307F5E710B50023B3 +:105140005CB2A24200DC10BD51F8234040F823407D +:105150000133F5E70000000000000000000000003F +:10516000C3F10803DB0070B50133002403A500BFC1 +:105170005B1920C940CAAD1B20C0184720C940CACE +:10518000B54120C020C940CAB54120C020C940CA8D +:10519000B54120C020C940CAB54120C020C940CA7D +:1051A000B54120C020C940CAB54120C020C940CA6D +:1051B000B54120C06441B4FA84F0400970BD00BF1D +:1051C0004A11012350F8220001F01F0103FA01F1F6 +:1051D000084070472DE9F042082288B00C4681460D +:1051E000FFF7ACFFCB6A03930B6B04934B6B0593F8 +:1051F0008B6B0693CB6B0793002708236A4669469F +:105200006846CDE901770097FFF722FC08230546A1 +:105210006A4649464846FFF71BFC236B0393636BC2 +:105220000493A36B0593E36B0544CDE906376A4607 +:10523000082369466846FFF70BFC082305446A46C5 +:1052400049464846FFF704FC236A0093636A0193CA +:10525000A36A0293A36B0693E36B079305440823A9 +:105260006A4649464846CDE904770397FFF7F0FBC5 +:10527000636A0093A36AA26B0193E36A02930492A8 +:10528000636BE26B0393CDE90523236A07932E1822 +:1052900008236A4649464846FFF7DAFBE36A00936B +:1052A000236B0193636B0293236A0693A36A0793AC +:1052B000351808236A4649464846CDE904770397DE +:1052C000FFF74EFF236B0093636B0193A36B029375 +:1052D000E36B0393636A0693E36A07932E1A08232A +:1052E0006A4649464846CDE90477FFF739FF636BC4 +:1052F0000093A36B0193E36B0293236A0393636AA6 +:105300000493A36ACDE90537236B0793361A082364 +:105310006A4649464846FFF723FFA36B0093E36BB9 +:10532000CDE90137636A0393A36A0493E36ACDE985 +:105330000537636B0793361A08236A464946484681 +:10534000FFF70EFF361A0E4C0FD436B90822494625 +:105350002046FFF7B4FB01280FD008232246494618 +:105360004846FFF7FDFE361AEFE708232246494676 +:105370004846FFF76DFB3618F7D408B0BDE8F08259 +:10538000D8EE060070B5036813F001060546144612 +:1053900005D013460A460146FFF75AFB064621464A +:1053A0002846FFF7BEFE46B104F18042013A55F8A7 +:1053B000223043F0004345F8223070BD2DE9F04122 +:1053C00015468AB004460E461C22002103A8FEF7AB +:1053D000D4FF2F1D95F9008003232A46314620462D +:1053E0000293FFF7DDFC3B4602AA21462046CDF89A +:1053F0000080FFF7D9FC2B46324621462046FFF7B6 +:10540000BFFCCDF800803B4605F1840221462046D2 +:10541000FFF779FB0AB0BDE8F08100002DE9F0410B +:105420001E4E4FF48271D6F8040130B11C48C26898 +:10543000521CC260304605F0C7FA00254FF4A07731 +:1054400007EB85018AB23046B25812B389B205F033 +:10545000BBFA1348103000EB0514204608F0E4F8BE +:10546000104811492246401AC008042101EB0040AF +:105470000EA105F06DF8616819B1204608F02AF810 +:1054800007E0A16811B1204608F024F8206800B1B7 +:1054900080476D1C022DD3D3BDE8F081004002404F +:1054A0001000002014F00600BCEF060074696D6562 +:1054B000725F6669726520283078257829000000BF +:1054C00000F0D4B970B50E46144900EB400001EB72 +:1054D000C0051446E86A183520B101280FD002280B +:1054E00005D113E0284600F0F7F9A04201D20024CC +:1054F00011E022463146284600F026FA0BE0284605 +:1055000000F0EAF9A042F4D20446F2E73146284618 +:1055100000F0EDF90446204670BD00008C27002005 +:10552000F0B5A449A4484FF080540B68D4F830215A +:105530000078D4F83411551CC0F3031006D09446FB +:1055400001270026BCF1060F03D00AE003F0FF0C90 +:10555000F6E7B4F82453DFF864C2C5F30425CCF8A9 +:105560000050DDB2062D06D1032804D1DFF854C265 +:10557000934DCCF87450551C04D09446BCF1060FE2 +:1055800003D00AE003F0FF0CF8E7D4F84452DFF848 +:1055900038C2C5F34235CCF80050DDB2062D08D133 +:1055A000032806D1894DD5F800C02CF0807CC5F8C1 +:1055B00000C0551C04D09446BCF1060F03D00BE08C +:1055C00003F0FF0CF8E74FF08045C5F80C61C5F813 +:1055D00010617D4D2D1F2E60DDB2062D08D10328F0 +:1055E00006D1DFF8E4C103250CF1640CCCF80050BF +:1055F000DDB2062D10D103280ED1DFF8D4C1052568 +:10560000CCF80050724D78352F60714D08352E6002 +:105610000CF104063F253560551C04D016460D4696 +:10562000062E03D05BE0DEB20546F9E7ED1E012D44 +:1056300055D9684D2D68684E3560664D2D1D2D6815 +:10564000361D3560634D08352D68361D3560614D5A +:105650000C352D68361D35605E4D10352D68361DB4 +:1056600035605C4D14352D68361D3560594D183543 +:105670002D68594E20363560564D1C352D68361D27 +:105680003560544D20352D68361D3560514D24351B +:105690002D68361D35604F4D28352D68361D356017 +:1056A0004C4D2C352D68361D35604A4D30352D68F2 +:1056B000494E40363560474D34352D68361D3560CE +:1056C000444D38352D68361D3560424D3C352D68CA +:1056D000361D35603F4D40352D68361D3560551CF3 +:1056E00003D01646062E02D007E0DEB2FAE7D4F861 +:1056F00058523A4E05F04F053560551C03D01346FD +:10570000062B02D008E0DBB2FAE735480368DB0776 +:1057100002D06FF001030360062A07D1C91E0229D7 +:1057200004D93048016841F4806101602748743829 +:10573000016841F470010160BFF34F8FBFF36F8FB9 +:10574000D4E94C104FF01022062907D1C01E0328BF +:1057500004D9D2F808021C491C310860D2F80002B2 +:10576000002803DBD2F8040200281FDA012005F02C +:1057700031FC1521C2F800121B480368002BFCD035 +:10578000C2F8041201680029FCD0002005F022FCB8 +:10579000BFF34F8F0D48F0380168144A01F4E061FF +:1057A00011430160BFF34F8F00BFFDE7114910485F +:1057B0000860F0BDE00F00F0E80F00F04035014058 +:1057C0000DF0ADBA00C007403C050040FCED00E024 +:1057D000105600400404001020C50040E40E0040B4 +:1057E000000400403C17004000E401400400FA05BA +:1057F0000090D0031C01002010B5054C206818B99A +:1058000004A12B2000F089FB2068BDE81040004770 +:105810009C0000202E2E5C2E2E5C2E2E5C2E2E5CEC +:105820002E2E5C6D6F64756C65735C6E7266785C51 +:10583000647269766572735C7372635C7072735CB8 +:105840006E7266785F7072732E630000064808B54A +:10585000002101600068009004F02EFF04F004FDB8 +:105860000028FBD108BD00000001014010B5124C1A +:1058700002202061606111A0A06104F17800E06164 +:105880004FF4805020620020A06260620BA1A164EE +:10589000E0620D49E1641021A065C4E91410E065DF +:1058A0000AA1E01DFEF786FD09A12046FEF782FD54 +:1058B0002020A07110BD00008C2700205465726D5F +:1058C000696E616C000000000438002052545400DE +:1058D00053454747455200000269C1688A4203D8D0 +:1058E0008068401A104400E0501A401E70472DE9AD +:1058F000F047C4681746894606464FF000083069ED +:10590000A04201D9051B02E0B168201A0D1AB06847 +:105910006D1E001BA84200D80546BD4200D33D467F +:1059200070682A4620444946FEF70CFDB0687F1B8C +:105930002C44A844A944A04200D10024F460002FC4 +:10594000DDD14046BDE8F0872DE9F04104468846A8 +:10595000D4E90207C51BE168606816460844B542F1 +:1059600006D94146FEF7EEFCB819E060BDE8F081CB +:105970002A464146FEF7E6FC761B08EB0501324657 +:105980006068FEF7DFFCE660F0E702E008C8121F7F +:1059900008C1002AFAD170477047002001E001C118 +:1059A000121F002AFBD17047800701D000207047EA +:1059B0000120704740680068401E084201D1012064 +:1059C000704700207047C3688B4206D811440069B5 +:1059D000491E814201D80120704700207047000015 +:1059E0002DE9F05FDFF89CB05C46DBF84890DBF80F +:1059F000246002F091FA216B4718751A2248234956 +:105A0000401AC108042000EB0140804620A104F0A8 +:105A10009BFD216B4944B94200D1002508232A4649 +:105A2000384601F05BF80700184817494FF0010AA3 +:105A3000A1EB00004FEAD0010AEB014404D020465C +:105A40001AA104F081FD19E002F066FA0022314645 +:105A500000F0EEFCDBF828200546D946AA4208D122 +:105A6000404619A104F070FDC9E9075AC9F8186049 +:105A700004E020462B461A4904F071FD3846BDE883 +:105A8000F09F00003C0E002014F00600BCEF060062 +:105A9000456E746572206E72665F6466755F6170D4 +:105AA000705F636F6E74696E756500004661696C46 +:105AB000656420746F20636F7079206669726D77FA +:105AC0006172652E0000000053657474696E672072 +:105AD0006170702061732076616C69640000000061 +:105AE000B4E3060008B51346024600930648074B88 +:105AF000C01AC008012303EB00400B4604A104F0C8 +:105B000036FD05F0A9FE000014F00600BCEF06000B +:105B100052656365697665642061206661756C74A1 +:105B2000212069643A203078253038782C20706341 +:105B30003A203078253038782C20696E666F3A200C +:105B40003078253038780000024606480649401A69 +:105B5000C008012101EB004004A104F0F9FC05F0AC +:105B60007BFE000014F00600BCEF06005265636582 +:105B70006976656420616E206572726F723A2030BA +:105B800078253038782100002DE9F04107461E4E77 +:105B90001E481F49326A401AC508012A04D0032052 +:105BA00000EB05401BA12BE04FF44050184B174C65 +:105BB0004168E31A234A0220DB0800EB03449142C8 +:105BC00006D1C1023B462048726B00F05BFA90B1EF +:105BD00002F0A2F901461C483B464130B26900F090 +:105BE00051FA58B1042000EB054018A104F0ACFCB8 +:105BF0000120BDE8F081204618A101E0204626A141 +:105C000004F0A2FC0020F4E73C0E002014F0060093 +:105C1000BCEF0600426F6F742076616C696461743A +:105C2000696F6E206661696C65642E204E6F207608 +:105C3000616C69642061707020746F20626F6F7492 +:105C40002E000000DBE5B1519C1000204170702057 +:105C500069732076616C696400000000426F6F74A4 +:105C60002076616C69646174696F6E206661696C2D +:105C700065642E20536F6674446576696365206998 +:105C8000732070726573656E742062757420696E1E +:105C900076616C69642E0000426F6F742076616CCF +:105CA00069646174696F6E206661696C65642E2039 +:105CB00041707020697320696E76616C69642E0092 +:105CC0002DE9F047244C8146924660880E46814279 +:105CD0003FD84FF6FF77002000F076F82278607802 +:105CE000A188884201DA401C00E00020C0B2904246 +:105CF00003D1002000F096F829E065784FF0000805 +:105D00006078884201DA401C00E0002060700020CA +:105D100000F088F8BD421AD0A068B9F1000F40F831 +:105D200035A00DD066B16188E068324605FB010000 +:105D30004946FEF707FBA06800EBC500868003E03C +:105D400000EBC500A0F804800020BDE8F087042027 +:105D5000FBE70920F9E70000A400002010B50E4C75 +:105D600003E0401C00E00020207020786178814230 +:105D700010D022786188E068A36802FB010003EB81 +:105D8000C20153F83220898890472078A188884240 +:105D9000E9DAE6E710BD0000A400002030B5CB0032 +:105DA00008339DB293074FF0000401D0072030BDA7 +:105DB000044B9A602A44DA605C701C7058809980A9 +:105DC000002030BDA400002010B506F035FC0128ED +:105DD00003D004A11D2000F0A0F8BDE8104000F0A1 +:105DE0004FB800002E2E5C2E2E5C2E2E5C2E2E5CCC +:105DF0002E2E5C636F6D706F6E656E74735C6C6974 +:105E0000627261726965735C7574696C5C617070F3 +:105E10005F7574696C5F706C6174666F726D2E6310 +:105E20000000000010B506F007FC012803D004A113 +:105E30002B2000F072F8BDE8104000F029B80000F7 +:105E40002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6357 +:105E50006F6D706F6E656E74735C6C696272617287 +:105E60006965735C7574696C5C6170705F75746989 +:105E70006C5F706C6174666F726D2E630000000061 +:105E800072B602480168491C01607047B4000020E6 +:105E900003490868401E086000D162B670470000E0 +:105EA000B400002070B5054608680C46411C04D0BB +:105EB00004F0F0F8206804F05FF86068411C02D03C +:105EC000002104F050F82968A069C1F82405607D1C +:105ED000217D2A680843C2F86C05D4E900122868BD +:105EE000C0F80C15C0F81425207D012814D1A06835 +:105EF000411C02D0002104F036F8E068411C04D0B7 +:105F000004F0C8F8E06804F037F8D4E90212286811 +:105F1000C0F80825C0F8101570BD1CB56A46CDE95B +:105F20000001002144F20200FFF7DCFD1CBD00006F +:105F3000F8B521480146456AC06A8C6CAC2801D08E +:105F400024B106E0486B04442D1A02E001F0F8FF8A +:105F500004461A481A492346401AC708042000EB91 +:105F600007400646174A18A1009504F000FB2A4690 +:105F700021461448FEF711FAD0B130462B4622468E +:105F80001FA104F0ECFA00BF04F06EF90028FBD169 +:105F900001F094FD2946204602F0B4FB040005D030 +:105FA000012000EB074022A104F0CEFA2046F8BD04 +:105FB0000024304625A1F7E73C0E002014F006002F +:105FC000BCEF060000400600566572696679696E8E +:105FD0006720424C3A20416464723A203078253080 +:105FE00038782C205372633A203078253038782C5A +:105FF000204C656E3A20307825303878000000005B +:10600000436F7079696E6720626F6F746C6F616443 +:1060100065723A205372633A203078253038782CF4 +:10602000204C656E3A20307825303878000000002A +:106030005265717565737420746F20636F70792079 +:10604000424C206661696C65640000004E6F2062FE +:106050006F6F746C6F6164657220636F7079206E0E +:1060600065656465642C20626F6F746C6F61646534 +:10607000722075706461746520636F6D706C6574F7 +:10608000652E000013B90378012B01D003F034B85A +:10609000012070470022C32100F5187000F0C8B934 +:1060A0002DE9F043A1B00446DDE9289620200F46F3 +:1060B000209098461546782102A8FEF75CF9412108 +:1060C0002046FEF758F9B7F8940005EB051107EBE9 +:1060D0008101A84201D991F896602670320033D030 +:1060E000012A0DD01B481C4D0123401BC00803EBA7 +:1060F0000045022A0CD0032A20D0284617A117E019 +:1061000000224946404600F093F9C4F801001BE024 +:1061100020A9601CCDE900014B464246184902A85F +:1061200001F0CAFD80B104F071FC0246284615A1B9 +:1061300004F00EFA002021B0BDE8F083B1F89820F9 +:10614000601C9A31FEF7FEF84A464146204602F0AE +:10615000D3FFF0E7E4EF0600BCEF0600496E76617E +:106160006C696420626F6F742076616C696461741D +:10617000696F6E20747970653A2025640000000014 +:1061800028DD06006E72665F63727970746F5F68F7 +:106190006173685F63616C63756C61746528292045 +:1061A0006661696C65642077697468206572726FD6 +:1061B000722025730000000010B504460A480B4900 +:1061C000401AC008042101EB004009A104F0BCF909 +:1061D0004FF0000034B10C490870BDE810400B4886 +:1061E00002F000BD00F0BEFB14F00600BCEF06009C +:1061F000526573657474696E6720626F6F746C6F3B +:10620000616465722E0000000800002065690600C8 +:106210002DE9FC410646C0074FF000050ED0104F97 +:1062200000240122385D009500231146019503F0FA +:106230005FFE641C042CF4D300F064F8B0070DD5A5 +:10624000074E0024361D0022305D032300951146C1 +:10625000019503F04DFE641C042CF4D3BDE8FC81D1 +:1062600016DD060010B50446042803D305A121203D +:10627000FFF753FE0E480121005DBDE8104003F01A +:1062800013BF00002E2E5C2E2E5C2E2E5C2E2E5C5C +:106290002E2E5C636F6D706F6E656E74735C626FD3 +:1062A000617264735C626F617264732E63000000DC +:1062B00016DD060010B50446042803D305A11B20F3 +:1062C000FFF72BFE0E480021005DBDE8104003F0F3 +:1062D000EBBE00002E2E5C2E2E5C2E2E5C2E2E5C35 +:1062E0002E2E5C636F6D706F6E656E74735C626F83 +:1062F000617264735C626F617264732E630000008C +:1063000016DD060010B500242046FFF7ABFF641C25 +:10631000042CF9D310BD00002DE9F0470546861C7A +:1063200091460F464FF0010A0020FFF74DFD1C4C2F +:1063300060683860D4E901011A4F401A3968081AB8 +:1063400041F21C0104EB01080EE00121404600F07F +:106350005DFF00F0F9FD0146404600F057FFD4E92B +:106360000101401A3968081A401C8642EDD8B9F17B +:10637000000F03D0052065F3891002E0062065F3C5 +:106380009F5061683A68114004EB8101C860606801 +:10639000304460600020FFF745FD5046BDE8F087BF +:1063A0006C170020C800002010B543689C1844609A +:1063B00021B905E013F8010B01F8010B521EF9D2C7 +:1063C000012010BD70B50D4604460A2902D10D21E9 +:1063D000FFF7F8FFA0682268411CA1601554D4E9BA +:1063E0000101814204D32046BDE8704003F0F4BAB5 +:1063F00070BD0000044881684068814201D10120DD +:1064000070470020704700006C17002010B5040092 +:1064100003D10549CA20FFF780FD0448C16B6160C4 +:10642000006CA06010BD000010E506003C0E0020CE +:10643000F0B54FF0FF3622B11268D24300230A4D67 +:106440000DE03246FAE7C45C62400824D70700D06A +:1064500037462F4087EA5202641EF7D15B1C8B42FD +:10646000F1D3D043F0BD00002083B8ED10B5044651 +:106470000068401C07D0204606F02EFC21688142AF +:1064800001D1012010BD002010BD000010B5104C3E +:1064900090B06078002818D101F072FC18B10D4955 +:1064A000B520FFF73AFD20220B49684601F088FC31 +:1064B00040236A4609490A4801F0BEFB18B1054964 +:1064C000BF20FFF72AFD0120607010B010BD000052 +:1064D00084000020ACE80600C8DC0600E8140020B8 +:1064E00040DD0600F0B5146906468DB020681546FB +:1064F000271DE0B1022920D00A2000906B4609AA8E +:10650000304606F0BAF800280FD009A901A8009A71 +:1065100005F03CFE01AE96E80F0005AE86E80F00E0 +:10652000236869683A4605A898470DB0F0BD0DB0DC +:106530003046BDE8F04005F09DBE6946304605F0A6 +:106540002FFE0028F1D0236869683A4668469847CC +:106550000028EAD002980028F5D101987060012047 +:10656000E3E753689B7813F0C00303D0402B03D0BC +:106570000020704700F002B8FFF7B4BF2DE9FF41DB +:106580000B465168064614468878334D00F00F02DA +:1065900010F0300055F8225006D0102806D02028E0 +:1065A00008D0302856D13EE022694DE061690120D3 +:1065B000087047E0022B28D1042A26D84FF00108A2 +:1065C00069463046676905F0EBFD00281AD009E0FE +:1065D0000B89226903FB00226846A84770B13888FE +:1065E000401C3880029820B1616838884A899042FE +:1065F000EED301987060029860BB02E04FF0000893 +:10660000F7E7404604B0BDE8F081D4E904300F89D3 +:106610000288498907FB02338A421BD2521C02803E +:106620001A46616810E008886169072A088009D164 +:10663000606801892069FDF79EFE60682169C06875 +:1066400005F0C9FD2269616804B03046AC46BDE87A +:10665000F04160470020D5E71CE2060038B51E492E +:1066600001200A68D20301D5000408E01B490A682A +:1066700002F0F902A92A04D1086800F05600086067 +:106680000020FFF781FA1649164A891AC908042220 +:1066900002EB0144A0B110200090684603F0A2FC78 +:1066A000D0F810050099C84010F0010F0BD00B482E +:1066B000001F006800F0F900B12807D0002038BDA5 +:1066C000204609A104E0204610A101E0204617A1C0 +:1066D00003F03AFF012038BD0004004020050040CF +:1066E00014F00600BCEF0600444655206D6F64654B +:1066F0002062656361757365206170702069732025 +:106700006E6F742076616C69642E000044465520DB +:106710006D6F64652072657175657374656420764C +:10672000696120627574746F6E2E000044465520B6 +:106730006D6F64652072657175657374656420762C +:1067400069612047505245475245542E00000000D1 +:10675000FEB519490446086808B1401E086017488C +:10676000174AD4E90153801AC008042202EB004002 +:1067700022789DB10E6821690296CDE900312B4641 +:10678000012A16D00FA211A103F004FF61690029AC +:1067900011D0E06803B0BDE8F040084709680091F7 +:1067A000012A04D007A218A103F0E1FEEEE720A21F +:1067B000F9E71FA2E7E7FEBD48000020C4EF06008E +:1067C000BCEF06006572617365000000466C617382 +:1067D00068202573206661696C65642028307825FF +:1067E00078293A20616464723D25702C206C656EB6 +:1067F0003D307825782062797465732C2070656E41 +:1068000064696E6720256400466C61736820257397 +:1068100020737563636573733A20616464723D2508 +:10682000702C2070656E64696E672025640000001E +:10683000777269746500000010B508281BD2DFE884 +:1068400000F004121A1A1A041A040120FFF7E0FCDF +:106850000020FFF72FFD0120FFF72CFDBDE81040C1 +:106860000220FFF7FFBC0120FFF7FCFCBDE8104051 +:106870000220FFF71FBD10BD10B50446801E06287C +:1068800010D2DFE800F00D03030F09090A494FF4A5 +:10689000701000F0EFFE05E00120FFF78DFC01E035 +:1068A00002F02CFA05484168002903D02046BDE8D3 +:1068B0001040084710BD0000516C06000800002081 +:1068C00010B50446062801D0072C02D1002002F0A2 +:1068D00055FB04480168002903D02046BDE810405C +:1068E000084710BD4400002070B5427805460C46AC +:1068F000012A09D00F481049401AC008022101EBB3 +:1069000000400EA103F024FE287808280BD16088EF +:10691000401E81B26180208800280AD0002908D159 +:1069200060800320287029462046BDE8704005F0AD +:10693000D5BE70BD1CF00600BCEF060044465520D5 +:106940007265717565737420636F6D706C657465C5 +:1069500064207769746820726573756C743A2030AE +:106960007825780003F0A8FE03F07EFC0028FBD118 +:10697000BFF34F8F05480168054A01F4E0611143F8 +:106980000160BFF34F8F00BFFDE700000CED00E09A +:106990000400FA0510B50021024800F04DFC80F318 +:1069A000100010BD882700202DE9FC4180461F46BD +:1069B00015460E4600240D4800F025FC38B1112084 +:1069C000BDE8FC8106EB043003F09EFF641CAC4282 +:1069D000F8D1064800F00EFCCDE9005733460022FE +:1069E0000221404600F004F80020E9E7B80000204A +:1069F0002DE9F04387B00446DDE90E8980681D4625 +:106A000016460F4600280BD018216846FDF7B3FC48 +:106A100002A88DF8007080E86003A1686846884786 +:106A200007B0BDE8F0830B2803D30B38C0B200F0E9 +:106A300009B870470249002208780A7070470000C0 +:106A40004C000020014908700B2070474C000020CA +:106A50000149012008707047080000200149012009 +:106A6000087070474000002070B515460E460400BF +:106A700004D1074940F28A20FFF74FFA2A463146EF +:106A800004F17200BDE87040012302F087BB0000F2 +:106A9000ACE8060010B5040003D10E49B520FFF79D +:106AA0003CFA207818B90B49B620FFF736FA94F86B +:106AB0005500094938B1012805D06068C968884285 +:106AC00005D9012010BD606889688842F9D24FF06D +:106AD000000010BDF4E806003C0E00202DE9FC5F2C +:106AE000164607463A4A3B481D46101A04224FEA0A +:106AF000D00902EB09408B468246B94205D136A146 +:106B000003F022FD0020BDE8FC9F04D236494FF07F +:106B10002900FFF702FA1DB933492A20FFF7FDF9D2 +:106B20002EB1380503D030492D20FFF7F6F9ABEB35 +:106B30000700040B03D12C493120FFF7EEF90020A8 +:106B4000009006F6FF704FEA103800F0CBFFA54228 +:106B500039D22C4637E0A04503D83546CDF804801D +:106B600001E02503019400223846019901F076FCEA +:106B70000028C8D150463B465A461CA1009503F058 +:106B8000F6FC681E00F003002A1A00235946384616 +:106B9000D21C01F0FBFC0028B5D101991C48A8EBE0 +:106BA0000108761B016B2F4429440163AB4400208C +:106BB00002F08CF9009030B1012101EB094015A1E0 +:106BC00003F0C2FC01E0002EC5D100989BE7000055 +:106BD00014F00600BCEF06004E6F20636F70792042 +:106BE0006E6565646564000064E30600436F707958 +:106BF000696E67203078257820746F20307825788A +:106C00002C2073697A653A203078257800000000DE +:106C10003C0E00204661696C656420746F207772B9 +:106C200069746520696D61676520636F7079696E4D +:106C3000672070726F677265737320746F2073655D +:106C40007474696E677320706167652E00000000C0 +:106C50000748084910B5401AC008032101EB00405D +:106C600005A103F071FCBDE810400120FFF7A4BAB4 +:106C700014F00600BCEF0600496E61637469766922 +:106C800074792074696D656F75742E0001494160D7 +:106C90000020704788DF06002DE9FC5F0E00834668 +:106CA000DDE90C47C6F1000098469246814600D4C3 +:106CB0000846012503E000BF90FBFAF06D1C50452B +:106CC000FADAA84500D9454624B1002E01DB780741 +:106CD00000D5641EB80702D5B8F1000F0AD0F80736 +:106CE00008D13CB1A54205D220215846641EFFF7C9 +:106CF00069FBF6E7002E02DA4E462D2102E0780706 +:106D000003D52B215846FFF75DFB07F0030002284F +:106D10000BD1B8F1000F08D13CB1A54205D230210A +:106D20005846641EFFF74EFBF6E7CDE900474346A1 +:106D300052463146584606F045FEBDE8FC9F00002D +:106D400070B50E46044600684FF4887103F085FE66 +:106D50004FF49071206803F080FE4FF49271206828 +:106D600003F07BFE4FF4A271206803F076FE4FF42F +:106D7000AC71206803F071FE20681549C0F8041357 +:106D80002068082E40F3073503D312A14520FFF7F2 +:106D9000C4F87007000E002D04DB05F1E02585F82E +:106DA000000405E005F00F0101F1E02181F8140D68 +:106DB000206840F30730002809DB00F01F020121A2 +:106DC00091404009800000F1E020C0F8001170BD42 +:106DD000100342002E2E5C2E2E5C2E2E5C2E2E5C7E +:106DE0002E2E5C696E746567726174696F6E5C6E7D +:106DF0007266785C6E7266785F676C75652E680087 +:106E0000024600201268530713D502F00300012840 +:106E100002D002280CD105E0C2F383100B68801C5D +:106E2000184404E00223086803EB925210440860FF +:106E30000120704702480068002800D001207047F8 +:106E4000B800002038B54FF440521B49536800F594 +:106E500000508B4204D044688C4201D1012400E0F0 +:106E600000248B4226D143688B4223D11178142908 +:106E700001D9526900E000221049B2FBF1F3027817 +:106E8000142A01D9406900E00020B0FBF1F08342F0 +:106E900003D001240AA2009002E000240AA200907C +:106EA0000B480C49401AC008032101EB00400AA11D +:106EB00003F05DFB204638BDDBE5B15140420F00D9 +:106EC0006D616A6F720000006D696E6F7200000084 +:106ED000E4EF0600BCEF0600536F66744465766904 +:106EE0006365207570646174652069732061202575 +:106EF000732076657273696F6E2075706461746556 +:106F00002E2043757272656E743A2025642E204ED1 +:106F100065773A2025642E0070B5054608680C4652 +:106F20004A6886682846314605F076F86068286128 +:106F300004F10C006861B0780221B1EB901F01D11F +:106F4000241D2C6170BD70472DE9FF4100262748A4 +:106F500000F056F92548001F074600F051F9244C6F +:106F60002449A06800900D6800E000986946284018 +:106F700004EB80000C30FFF743FF0028F5D101AA95 +:106F8000009901EA050304EB8303491CDB6842F81E +:106F90002030401C00910228F2D3019800F0030039 +:106FA00001281AD002280ED013A14FF4AF70FEF7BB +:106FB000B4FF384600F021F908B10098A06004B091 +:106FC0003046BDE8F0810198032101EB9050009913 +:106FD000BDF80A6001EB900005E00198BDF80A6079 +:106FE000C0F3831008440090E3E7000084270020EA +:106FF0006C170020C80000202E2E5C2E2E5C2E2E3A +:107000005C2E2E5C2E2E5C636F6D706F6E656E74E1 +:10701000735C6C69627261726965735C6C6F675CEA +:107020007372635C6E72665F6C6F675F66726F6EC1 +:1070300074656E642E63000000F028FD4FF48051EB +:10704000002000F037FBC8B91548C0F5FC2100F05E +:1070500031FB98B90021134803F002FB03F0EEF86E +:1070600011481249401AC408032000EB044010A143 +:1070700003F06AFA114800F035FC08B1FEF764FD30 +:1070800003F0F2F80028FBD1012000EB04400CA132 +:1070900003F05AFA03F0E8F80028FBD1EEE700000D +:1070A000004006009D76060014F00600BCEF0600C6 +:1070B000496E73696465206D61696E003968060008 +:1070C0004166746572206D61696E2C2073686F75FE +:1070D0006C64206E657665722062652072656163FE +:1070E0006865642E000000002DE9F05F1E46DDF8A3 +:1070F00028B091468A46040003D124A19020FEF7CF +:107100000CFFB4F80680607908FB00F8A8F10408C9 +:10711000464503D31DA19E20FEF7FFFEE788301DE4 +:10712000B0FBF7F1B0FBF7F207FB1200D9F8005003 +:10713000AA19424501D9A8EB0605C9F8005001E09B +:107140002468491E0029FBD13E1A8846AE4215D854 +:1071500017E000BF2044001D0AEB0803BBF1000F3D +:10716000324602D00146184600E01946FDF7EAF81B +:1071700000202468AD1BB044AF4201D92E4600E088 +:107180003E46002DE6D1BDE8F09F00002E2E5C2E7D +:107190002E5C2E2E5C2E2E5C2E2E5C636F6D706F1F +:1071A0006E656E74735C6C69627261726965735C42 +:1071B0006D656D6F626A5C6E72665F6D656D6F6244 +:1071C0006A2E630030B5024651B103F05DFA00212A +:1071D000074C08E034F821301568AB4202D1116049 +:1071E000002030BD491C8142F4D3052030BD000091 +:1071F00000000000002100F00FB8002100F012B8DC +:10720000012100F01EB8012100F011B808B56A464E +:10721000FDF733F8009808BD08B56A46FDF713F886 +:10722000009808BD08B56A46FDF70DF808BD08B519 +:107230006A46FCF7FBFF08BD08B56A46FCF7EAFFA3 +:1072400008BD08B56A46FCF7F1FF009808BD08B50F +:107250006A46FDF71FF8009808BD000070B50400ED +:1072600003D113A1FE20FEF758FE00252846FEF7A5 +:10727000ABFD206862680168914214D9491E016023 +:107280000D781CB918A1C220FEF747FE208AE168DC +:1072900005FB00152068217A0278891A0279C9B2A3 +:1072A0008A4200D201710020FEF7BCFD284670BD65 +:1072B0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C63D3 +:1072C0006F6D706F6E656E74735C6C696272617203 +:1072D0006965735C62616C6C6F635C6E72665F6241 +:1072E000616C6C6F632E63002E2E5C2E2E5C2E2E36 +:1072F0005C2E2E5C2E2E5C636F6D706F6E656E74EF +:10730000735C6C69627261726965735C62616C6CFA +:107310006F635C6E72665F62616C6C6F632E63009C +:1073200070B50C46050004D110A140F22110FEF703 +:10733000F4FD24B90DA14FF49170FEF7EEFD00208D +:10734000FEF742FD1DB91749CF20FEF7E6FDE868BC +:107350002A68211A288AB1FBF0F11068431C1360D7 +:107360000170BDE870400020FEF75CBD2E2E5C2E43 +:107370002E5C2E2E5C2E2E5C2E2E5C636F6D706F3D +:107380006E656E74735C6C69627261726965735C60 +:1073900062616C6C6F635C6E72665F62616C6C6F75 +:1073A000632E6300E872060010B5040002D0206866 +:1073B00030B901E00E2010BD17A1D920FEF7ADFDB8 +:1073C000606818B914A1DA20FEF7A7FDA06818B903 +:1073D00011A1DB20FEF7A1FDE06818B90EA1DC20A9 +:1073E000FEF79BFD208A18B90BA1DD20FEF795FD65 +:1073F000207A61682268401AC0B2116004E02268F5 +:1074000011684B1C13600870401EC0B2F7D221688F +:107410000020087110BD00002E2E5C2E2E5C2E2E3A +:107420005C2E2E5C2E2E5C636F6D706F6E656E74BD +:10743000735C6C69627261726965735C62616C6CC9 +:107440006F635C6E72665F62616C6C6F632E63006B +:107450002DE9F041164817494FF48052401AC708E9 +:10746000042000EB07401546044613A103F070F812 +:107470004FF0E026D6F8802120461DA106F5C07603 +:1074800003F066F870173060C6F8000101F046F9A5 +:1074900028B1012000EB074020A103F055F802F0CD +:1074A000E3FE0028FBD12846BDE8F04100F052B8C9 +:1074B00014F00600BCEF060052756E6E696E672010 +:1074C0006E72665F626F6F746C6F616465725F612C +:1074D00070705F737461727420776974682061647E +:1074E00064726573733A2030782530387800000074 +:1074F00044697361626C696E6720696E746572724B +:10750000757074732E204E5649432D3E49434552A3 +:107510005B305D3A20307825780000004661696C68 +:1075200065642072756E6E696E67206E72665F6448 +:1075300066755F6D62725F6972715F666F727761A7 +:1075400072645F616464726573735F736574282924 +:107550000000000070B506462648C0F5002100F086 +:10756000A9F8040024482549A0EB01004FEAD00007 +:107570004FF0010101EB004507D02846224620A12B +:1075800002F0E6FF2046FEF7DFFA00F0C5FC0146F8 +:1075900029488069421EC2F30B02801A0144002070 +:1075A00001F6FF7100F086F8040004D02846224658 +:1075B00022A102F0CDFF201E01D0FEF7C5FAEFF3A5 +:1075C0000580C105D6E90045C90D4FF0000080F3E4 +:1075D000148880F3108880F3118880F3138803D017 +:1075E00023493220FEF799FC84F30888AC46BDE8B5 +:1075F000704060470040060014F00600BCEF060033 +:10760000436F756C64206E6F742070726F74656365 +:107610007420626F6F746C6F6164657220616E6458 +:107620002073657474696E67732070616765732C6D +:1076300020307825782E00003C0E0020436F756CBA +:1076400064206E6F742070726F7465637420536F62 +:10765000667444657669636520616E64206170704C +:107660006C69636174696F6E2C20307825782E0008 +:10767000C8E2060070B5084D04460E46686805F07D +:10768000D3FF002C06D0324621466868BDE8704022 +:1076900005F0BCBF70BD0000100000200348D0F80A +:1076A00004050349097B00EB01607047004002407C +:1076B00010000020F0B50A0502D1B0F5FE2F01D967 +:1076C0000720F0BD134D000B491E124F01222E1D45 +:1076D000103700EB113407F1040C17E04309C3F134 +:1076E000000100EB411E02FA0EF106D0012B06D07C +:1076F000022B06D0032B08D105E0296005E031609C +:1077000003E0396001E0CCF80010401CA042E5D94C +:107710000020F0BD000600402DE9F0413A483B4909 +:10772000384E401AC508042000EB054000270446E7 +:1077300037A102F009FFB06801280ED0A52813D0A8 +:10774000AA2818D0AC281ED0032000EB054039A190 +:1077500002F0FAFE0020BDE8F08120463CA102F0D4 +:10776000F3FEFEF73DF90CE020463CA102F0ECFEF2 +:1077700005F0A8F80DE020463BA102F0E5FEFEF77B +:10778000D7FB024607E020463AA102F0DDFE05F0F5 +:1077900067F9024601271D491B4B0120591AC908E8 +:1077A00000EB014522B1284636A1B36802F0D7FEAE +:1077B000304600F0D5FBDFF80081002188F800108A +:1077C0003E4801F083FB064698F8000020B93C498A +:1077D00040F27F10FEF7A1FB2EB1284639A102F03E +:1077E000B3FE0320B7E70120002FB4D005492439A8 +:1077F000096A0129AFD12046394902F0A5FE0220CD +:10780000A9E70000600E002014F00600BCEF06009F +:10781000456E746572206E72665F626F6F746C6F16 +:10782000616465725F66775F6163746976617465D0 +:10783000000000004E6F206669726D7761726520EE +:10784000746F2061637469766174652E00000000B6 +:1078500056616C69642041707000000056616C696B +:10786000642053440000000056616C696420424C5F +:107870000000000056616C6964205344202B2042B4 +:107880004C00000041637469766174696F6E206614 +:1078900061696C65642077697468206572726F72C3 +:1078A000202564202862616E6B20636F64653A2036 +:1078B0003078257829000000400000205D6A06002D +:1078C00064E30600436F756C64206E6F74207772FA +:1078D0006974652073657474696E67732E000000A7 +:1078E000FCE306002DE9F843044642484249401AA9 +:1078F000C108042000EB0140054640A102F024FE2F +:10790000444F10207C600090684602F06BFB009AA8 +:10791000414900EB82004FF00008C0F800174046D4 +:1079200001F066F900284ED1FFF7F6FE324A314BDE +:1079300001219A1AD20801EB024420B101281BD080 +:10794000022840D105E04FF47016FEF787FE10B90B +:1079500036E04FF4A02600F0C5F8304A2021182068 +:10796000FEF71CFA08B1FEF7EFF82D48016801F0A8 +:10797000F901B12904D007E00120FEF71DFC33E036 +:10798000016801F04E01016000F09CFED8B9254964 +:107990003046FFF76FFE244800F048FE98B92846AD +:1079A00022A102F0D1FD00BF00F088F8FEF7D6F961 +:1079B00002F05AFC0028F7D120BF40BF20BFF3E7F8 +:1079C00001F0F0F810B10320BDE8F88387F80080DB +:1079D0001A4801F007F9387820B919A14FF4F0706E +:1079E000FEF79BFAFFF734FD204625A102F0ACFD1F +:1079F000E9E7000014F00600BCEF0600496E206EB7 +:107A000072665F626F6F746C6F616465725F696EDE +:107A100069740000080000200C00030034010020FD +:107A20001C050040516C060079680600456E7465BF +:107A300072206D61696E206C6F6F7000516A060074 +:107A40002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C633B +:107A50006F6D706F6E656E74735C6C69627261726B +:107A60006965735C626F6F746C6F616465725C6E84 +:107A700072665F626F6F746C6F616465722E630013 +:107A8000556E726561636861626C650010B540F6A1 +:107A9000F8700168491C02D1074902F04DFF40F619 +:107AA000FC700168491C05D1BDE810404FF4FC2171 +:107AB00002F042BF10BD00000040060010B502F009 +:107AC000D3FF002803D0BDE8104006F09FB810BDDA +:107AD000034A93680A4601469860184605F096BD29 +:107AE000100000202DE9F0411A4E307800282ED1E8 +:107AF00002F0BAFF1849194A0127891AC908032256 +:107B000002EB014500281DD015480468284622468E +:107B100014A102F01DFDA4F54864962C00DA962409 +:107B200006F074F82846224615A102F011FD2149FD +:107B30002046FFF7CDFF4FF0E0214FF48030C1F831 +:107B4000000103E028461CA102F0FEFC3770BDE8EE +:107B5000F081000041000020BCEF0600BCEF0600F1 +:107B60000405014057445420656E61626C656420D1 +:107B70004352563A2564207469636B730000000019 +:107B80005374617274696E6720612074696D6572E7 +:107B900020282564207469636B732920666F722026 +:107BA00066656564696E67207761746368646F6792 +:107BB0002E00000049DC0600574454206973206EF3 +:107BC0006F7420656E61626C656400004068806857 +:107BD000004710B542680830527900F0F1F80020F3 +:107BE00010BD2DE9F04399B01C4690460D4608465D +:107BF000DDF88090FFF7EAFF6E6807467079A042D3 +:107C000000D804462246414611A800F015F97279C1 +:107C1000494601A800F0D4F801AB224611A905F1AC +:107C200008000097FCF792FD18B1002019B0BDE8DC +:107C3000F08348F24250F9E770B516460C46054607 +:107C400000F0E2F800280ED1AA791946304600F07B +:107C5000E8F8002807D131462046FFF7BAFF002890 +:107C600001D10149216070BD7052464D2DE9F843A4 +:107C70000C46DDE908578146984616460D492046D0 +:107C800000F0B6F8002810D160683946407942000B +:107C9000284600F0C6F8002807D146B143463246D0 +:107CA000214648460095FFF79CFFBDE8F88348F25F +:107CB0001050FAE77052464D2DE9F0411D46DDE9BE +:107CC00006871646044600F02DF800280DD12A46F6 +:107CD0003146204600F03CF8002806D13A4641469D +:107CE0002046BDE8F04100F002B8BDE8F08170B573 +:107CF00015460E46044605F079FF002807D13EB12F +:107D000060682968C268914205D248F2145070BD7B +:107D100048F2135070BD83682A4631462046BDE8BC +:107D20007040184710B550B161B141600968044610 +:107D30008847002802D105482060002010BD48F285 +:107D4000015010BD48F2105010BD00006E52464860 +:107D500070B515460E46044605F048FF00280BD1C5 +:107D600046B155B160682A46314643682046BDE8B1 +:107D70007040184748F2105070BD002070BD0000E0 +:107D80002DE9F0410B480C4D0C4F401BC60801205B +:107D90003870002406E000BF55F834008047002802 +:107DA00005D1641CB442F7D3022038700020BDE82E +:107DB000F0810000000000000000000042000020F0 +:107DC00070B514460D46064600F036F829193019EC +:107DD0002246BDE8704000F02FB870B50C4605464D +:107DE00000F064F828192146BDE8704000F05EB844 +:107DF00028B10068884205D048F24050704748F2E8 +:107E0000105070470020704728B139B10022C1E9F5 +:107E100000201046704748F21050704748F2135047 +:107E2000704720B1914205D048F21150704748F296 +:107E3000105070470020704770B516460C4605007C +:107E400003D10AA11F20FEF768F81CB907A1202062 +:107E5000FEF763F8A919491E04E000BF14F8010BEE +:107E600001F80109A942F9D270BD00002E2E5C2E46 +:107E70002E5C2E2E5C2E2E5C2E2E5C636F6D706F32 +:107E80006E656E74735C6C69627261726965735C55 +:107E900063727970746F5C6E72665F63727970740E +:107EA0006F5F7368617265642E63000070B50D4684 +:107EB000040003D107A10D20FEF72FF86019401E22 +:107EC00005E02178027804F8012B00F80119A0429E +:107ED000F7D270BD2E2E5C2E2E5C2E2E5C2E2E5CCC +:107EE0002E2E5C636F6D706F6E656E74735C6C6963 +:107EF000627261726965735C63727970746F5C6ED3 +:107F000072665F63727970746F5F736861726564C3 +:107F10002E630000AFF300804FF44050074A4168E1 +:107F2000914207D18068411EC1F30B01401A00F64F +:107F3000FF7070474FF4805070470000DBE5B1518F +:107F400000B5FFF7E9FF054989690A18401E084492 +:107F5000C0F30B00101A00F6FF7000BD3C0E0020AD +:107F600000210160416081600148016370470000A9 +:107F70003C0E00202DE9FF4F8B466E486E4981B0C4 +:107F8000401AC108042000EB014400916BA1204677 +:107F900002F0DAFA204671A1019A02F0D9FABBF197 +:107FA000000F01D073A200E074A2204675A102F078 +:107FB000CFFA039808B16FA200E070A2204676A124 +:107FC00002F0C6FA049808B16AA200E06BA220464B +:107FD00075A102F0BDFA4FF44050416878488142E3 +:107FE00001D164A200E065A2204676A102F0B0FAB9 +:107FF000204678A102F0A8FA7A4D20467AA1AB6912 +:108000002A6A02F0ACFA20467FA16B6AEA6A02F0A3 +:10801000A6FA4FF00009DFF810A20CE0012650B1DB +:10802000012812D0B9F1020F1ED080498620FDF739 +:1080300074FF00201AE0FFF783FF8046039888B1A1 +:108040006848006A01280BD00CE0FFF765FF804606 +:10805000049828B94FF4405041685948814201D0F2 +:10806000012604E0002602E04FF480508046D0450F +:1080700003D96E498B20FDF750FF6D480199A0EBA5 +:108080000800A0F54050884201D2012700E00027F7 +:1080900047EA0B0520464A4666A102F059FA2046F7 +:1080A000424667A102F054FA0FB132A200E033A2B7 +:1080B000204669A102F04CFA0EB12EA200E02FA2D8 +:1080C00020466BA102F044FA0DB12AA200E02BA2D7 +:1080D00020466CA102F03CFAB54308D0B9F1020F7A +:1080E00005D209F10100C0B28146022896D957B1E4 +:1080F0000098022101EB004067A102F025FA04205C +:1081000005B0BDE8F08FB9F1020F06D320466DA18E +:1081100002F01AFA00F0EAFE02E0B9F1000F07D00F +:1081200020466FA102F010FA2E481830FFF718FF12 +:108130000020E5E714F00600BCEF0600456E74650C +:1081400072206E72665F6466755F63616368655F07 +:108150007072657061726528290000007265717522 +:10816000697265645F73697A653A20307825782E84 +:1081700000000000747275650000000066616C7399 +:108180006500000073696E676C655F62616E6B3AD3 +:108190002025732E000000006B6565705F617070B4 +:1081A0003A2025732E0000006B6565705F736F6663 +:1081B000746465766963653A2025732E00000000BB +:1081C000DBE5B15153445F50524553454E543A207C +:1081D00025732E0042616E6B20636F6E74656E7442 +:1081E000733A00003C0E002042616E6B2030206329 +:1081F0006F64653A203078253032783A2053697AB6 +:10820000653A20307825780042616E6B203120631A +:108210006F64653A203078253032783A2053697A95 +:10822000653A20307825780000100600B0E6060098 +:1082300000400600706173733A2025642E00000030 +:1082400063616368655F616464726573733A20306B +:108250007825782E0000000063616368655F746FA5 +:108260006F5F736D616C6C3A2025732E0000000007 +:108270006B6565705F6669726D776172653A20251E +:10828000732E000064656C6574655F6D6F72653A8E +:108290002025732E0000000041626F7274696E67C2 +:1082A0002E2043616E6E6F7420666974206E657750 +:1082B000206669726D77617265206F6E20646576E5 +:1082C00069636500496E76616C69646174696E67A3 +:1082D00020536F66744465766963652E0000000064 +:1082E000496E76616C69646174696E672061707053 +:1082F0002E00000070B50C46050004D121494FF452 +:108300009970FDF70AFE24B91E4940F23310FDF7BB +:1083100004FE1D481D4B2978C01A0422C00802EB38 +:108320000040092927D2DFE801F02605260B152693 +:108330001B260F0021462846BDE8704002F056BEBD +:1083400013A102F001F911E021462846BDE8704072 +:1083500002F0EEBE21462846BDE8704002F086BE1F +:1083600014A102F0F1F84FF40070E0602046BDE87F +:108370007040FEF74BB8BDE8704002494FF4A97059 +:10838000FDF7CBBD10E50600CCEF0600BCEF060004 +:1083900048616E646C65204E52465F4446555F4F9F +:1083A000505F4352435F4745542028636F6D6D61B2 +:1083B0006E64290048616E646C65204E52465F44CD +:1083C00046555F4F505F4F424A4543545F53454CBB +:1083D0004543542028636F6D6D616E642900000071 +:1083E00070B50E46040004D11B4940F24F20FDF742 +:1083F00094FD26B918494FF41470FDF78EFD2078CE +:108400000125092820D2DFE800F01F051F0F141FE7 +:108410001A1F0A003146204602F01AFF19E03146C1 +:10842000204603F06BF914E03146204602F0D2FEFC +:108430000FE03146204603F015F8054609E03146C5 +:10844000204603F00FF904E0034940F27120FDF7E4 +:1084500064FD284670BD000010E506002DE9F843D4 +:10846000134C07460D46206800901248124990466A +:10847000401AC608042000EB06402B463A460FA1DE +:1084800002F075F843462A4639461C4801F0F8FBCD +:10849000050009D0022000EB06402A4618A102F090 +:1084A00057F82846BDE8F8832068401C2060F8E7AC +:1084B00048000020C4EF0600BCEF06006E72665F45 +:1084C0006673746F726167655F6572617365286159 +:1084D0006464723D307825702C206C656E3D256497 +:1084E000207061676573292C20717565756520752D +:1084F000736167653A2025640000000020010020B8 +:108500006E72665F6673746F726167655F657261D4 +:1085100073652829206661696C65642077697468D1 +:10852000206572726F7220307825782E000000006E +:108530000848094910B5401AC008042101EB004061 +:1085400006A102F001F8BDE810400E4900220E48D5 +:1085500001F0F6BBC4EF0600BCEF0600496E69747B +:1085600069616C697A696E67206E72665F667374A2 +:108570006F726167655F6E766D63206261636B65C4 +:108580006E642E0094DF0600200100202DE9FC47D8 +:10859000154C80460F4620681549CDE90020134848 +:1085A0009946401AC6081546042000EB06403B4693 +:1085B0004246104901F0E4FF2B463A4641460E4838 +:1085C000CDF8009001F018FC050009D0022000EB66 +:1085D00006402A4609A101F0BBFF2846BDE8FC87FA +:1085E0002068401C2060F8E748000020C4EF060027 +:1085F000BCEF060058E40600200100206E72665FA2 +:108600006673746F726167655F7772697465282934 +:10861000206661696C656420776974682065727290 +:108620006F7220307825782E0000000070B5114957 +:10863000086011481149401AC508032000EB0540A5 +:108640000FA101F081FF0020FEF73AF9114800F078 +:10865000F3FC040008D0012000EB054022460EA1E7 +:1086600001F076FF204670BDBDE87040094800F07B +:10867000ABB800004400002014F00600BCEF060078 +:10868000456E746572696E6720444655206D6F644F +:10869000652E0000C1680600436F756C64206E6F24 +:1086A0007420696E6974616C697A6520444655204E +:1086B0007472616E73706F72743A2030782530383E +:1086C000780000000648074910B5401AC008042188 +:1086D00001EB004004A101F037FF002010BD0000B5 +:1086E00014F00600BCEF0600696E207765616B2010 +:1086F0006E72665F6466755F696E69745F757365D7 +:10870000720000001FB58908002201AB009283E8C7 +:108710000700684618DF04B010BD00001FB5094A05 +:108720004FF480541069D2E90612CDE90004CDE976 +:108730000212684618DF072802D160040460002096 +:1087400004B010BD00DF060070B50E460178134C72 +:10875000062901D0012901D1017C21702178012550 +:10876000012911D0022913D00D480E49401AC00822 +:10877000012101EB00400CA101F0E6FE0020207079 +:1087800005207070284670BD3146FFF7B3FDF9E74C +:108790003146FFF725FE0546F4E7000050000020B3 +:1087A000CCEF0600BCEF0600496E76616C69642070 +:1087B0006F626A656374207479706520696E2072D7 +:1087C0006571756573742E0010B5040011D000201A +:1087D000FFF7AEFE00280BD100F09CFD00F07CFE00 +:1087E00048B10949081F00F005FE012803D0032005 +:1087F00010BD072010BD04480838C4600020FEF7F3 +:1088000021F9002010BD00005800002010B581683B +:1088100089B10A4A1821FDF753FA040009D0084823 +:108820000849401AC008022101EB004006A101F0EE +:108830008BFE204610BD072010BD00006588060095 +:10884000CCEF0600BCEF06005363686564756C6589 +:10885000722072616E206F7574206F662073706174 +:1088600063652100AFF3008070B50546806886B06F +:1088700020B9414940F2A920FDF74FFB18223F499A +:108880006846FBF75FFD28788DF800003C483D4BBB +:108890002A78181A0421C0083B4E01EB00440D2A27 +:1088A0004ED2DFE802F007463946464D46314629AA +:1088B0000D243E00204635A101F046FE012020E0B7 +:1088C00020463BA101F040FE4FF08050D0F800114F +:1088D0000191D0F804110291D0F80C118902049191 +:1088E000D0F81011890203910069059031E06946C2 +:1088F000284602F0D9FF2CE0204636A101F024FEE4 +:10890000287C8DF8040024E0204638A101F01CFEEC +:10891000288AADF804001CE020463BA101F014FEBB +:1089200017E0204641A101F00FFEF16807208847BB +:108930000FE069462846FFF707FF50B906B070BD43 +:10894000032101EB00403FA101F002FE02208DF85F +:1089500001009DF80120204642A101F0F9FDD5E972 +:108960000112684690479DF801000128E6D0F168A1 +:1089700005208847E2E7000010E5060038DF060022 +:10898000BCEF0600CCEF06005000002048616E648A +:108990006C65204E52465F4446555F4F505F5052C3 +:1089A0004F544F434F4C5F56455253494F4E000072 +:1089B00048616E646C65204E52465F4446555F4F79 +:1089C000505F48415244574152455F5645525349C2 +:1089D0004F4E000048616E646C65204E52465F4405 +:1089E00046555F4F505F50494E47000048616E64E6 +:1089F0006C65204E52465F4446555F4F505F4D5464 +:108A0000555F47455400000048616E646C65204E18 +:108A100052465F4446555F4F505F5245434549506B +:108A2000545F4E4F5449465F5345540048616E644D +:108A30006C65204E52465F4446555F4F505F414241 +:108A40004F525400496E76616C6964206F70636F99 +:108A500064652072656365697665643A20307825BF +:108A6000782E0000526571756573742068616E64BC +:108A70006C696E6720636F6D706C6574652E205233 +:108A80006573756C743A203078257800F0B5521E05 +:108A900087B00F4605464C1C96B218222B496846F3 +:108AA000FBF750FC2A482B4A3978801AC008042268 +:108AB0008DF8001002EB004001950C2933D2DFE85D +:108AC00001F032150A323232122C2640320620785A +:108AD0008DF8100027E02A881FA101F039FD2088B9 +:108AE000288068801FE0207804901CE02888688037 +:108AF000207804902179D4F8010061F31F6005907B +:108B0000049801280FD1686900F038FA0BE004944A +:108B1000ADF81460A868039008E017A101F014FDF7 +:108B2000A889ADF81000A968204688476846FFF775 +:108B30006DFE002803D01549EA20FDF7EEF907B0D5 +:108B4000F0BD227812A101F003FDC0E704E20600A7 +:108B50001CF00600BCEF0600536574207265636567 +:108B6000697074206E6F74696620746172676574D1 +:108B70003A202564000000005265636569766564EB +:108B80002073657269616C206D747500B0ED06002C +:108B900052656365697665642070696E6720256437 +:108BA000000000000648074910B5401AC00802211D +:108BB00001EB004004A101F0C7FC002010BD000043 +:108BC000DCEF0600BCEF06004E6F20616464697440 +:108BD000696F6E616C206461746120657261736598 +:108BE00064000000014904F00BB8000000F0070029 +:108BF00070B5054612481349401AC408042000EB1A +:108C0000044011A101F0A0FC2846FFF791FC0200EE +:108C10004FF0010000EB044402D0204613A108E00D +:108C200000F06CF8002000F051F9020005D0204659 +:108C300019A101F08DFC032070BD002070BD000063 +:108C4000DCEF0600BCEF060043616C6C696E6720C8 +:108C50006E72665F6466755F73657474696E677360 +:108C60005F696E697428292E2E2E00006E72665F71 +:108C70006466755F666C6173685F696E69742829E4 +:108C8000206661696C65642077697468206572721A +:108C90006F723A20257800006E72665F6466755FB9 +:108CA00073657474696E67735F77726974655F6109 +:108CB0006E645F6261636B75702829206661696C00 +:108CC00065642077697468206572726F723A202536 +:108CD0007800000010B5FF224FF400710648FBF742 +:108CE00043FB054820212438FBF745FB02490020BF +:108CF0005C39086310BD0000980E00202DE9F05F7C +:108D00004048FDF7B3FB404E074634682046FDF768 +:108D1000ADFB4FF0000A58B16068012806D020462C +:108D2000FDF7B8F9D4F85C12884201D1012400E0C3 +:108D3000002436483649DFF8DC80401AC008032199 +:108D40004FF002094FF4607B01EB0045F7B10421BD +:108D500001EB0040074630A101F0F6FB5A462949D5 +:108D60004046FBF7EFFADCB1384631A101F0ECFBED +:108D7000366844465422311D201DFBF7E3FA40F2C9 +:108D8000C72206F15C0104F15C0007E06CB32846E1 +:108D9000324901F0D9FB5A461E483168FBF7D2FA36 +:108DA000D8F80400444601281DD128462CA101F022 +:108DB000CBFB3649402201F2C710FBF7C3FA334917 +:108DC0001C22403101F2C710FBF7BCFA84F860A204 +:108DD000012184F8A1122E4884F8E2A2E169C0F8CA +:108DE0002210C4F80490BDE8F09F4C4609EB004007 +:108DF000284901F0A9FB59460648FBF7BCFAC8F818 +:108E00000440F0E700F0070080000020DCEF0600DF +:108E1000BCEF06003C0E00205573696E6720736539 +:108E20007474696E677320706167652E00000000BE +:108E3000436F7079696E6720666F726269646465FA +:108E40006E2070617274732066726F6D2062616350 +:108E50006B757020706167652E000000C0E506002C +:108E60004F6C642073657474696E677320706167FA +:108E7000652064657465637465642E20557067723F +:108E80006164696E6720696E666F2E00980F00201E +:108E9000BC1000205CE5060070B50546094803F0EB +:108EA0001BFF084C20602046FDF7F4F8C4F85C0274 +:108EB000A4F5E0632A462146BDE87040024803F06D +:108EC00011BF00003C0E002000F0070070B5054601 +:108ED0000020FFF7E1FF040003D10349284603F017 +:108EE0008FFE204670BD00003C0E002010B54FF4F0 +:108EF00040541249606888421ED100230422104960 +:108F0000201DFFF743FB58B10E480F49BDE8104044 +:108F1000401AC008012101EB00400CA101F014BB74 +:108F20001348016A012901D1002101628169A26807 +:108F30001144A1F58051816110BD0000DBE5B15104 +:108F400070DF060014F00600BCEF0600436F756C7E +:108F500064206E6F7420696E76616C6964617465FB +:108F600020536F66744465766963652E00000000C7 +:108F70003C0E00204FF48050704700002DE9F04770 +:108F80001449DFF854808146A1EB0800C708134854 +:108F900013490026401AC108042000EB0140054691 +:108FA0003A4610A101F0D4FA00240EE008EBC40008 +:108FB000416848468847060006D028463346224680 +:108FC00012A101F0CCFA02E0641CBC42EED33046A0 +:108FD000BDE8F087ACEF0600A4EF060014F0060031 +:108FE000BCEF06005368757474696E6720646F7710 +:108FF0006E207472616E73706F7274732028666F66 +:10900000756E643A20256429000000004661696C91 +:10901000656420746F2073687574646F776E207454 +:1090200072616E73706F72742025642C2065727289 +:109030006F722025640000002DE9F0471449DFF825 +:1090400054808146A1EB0800C70813481349002645 +:10905000401AC108042000EB014005463A4610A121 +:1090600001F076FA00240DE058F83410484688479D +:10907000060006D028463346224612A101F06FFAB8 +:1090800002E0641CBC42EFD33046BDE8F08700002C +:10909000ACEF0600A4EF060014F00600BCEF0600DB +:1090A000496E697469616C697A696E67207472616E +:1090B0006E73706F7274732028666F756E643A20D9 +:1090C000256429004661696C656420746F20696EAF +:1090D000697469616C697A65207472616E73706F0E +:1090E00072742025642C206572726F7220256400D2 +:1090F000012203F00BB9000038B5144602780B4684 +:10910000FAB1012A09D0022A1DD0032A23D0174917 +:1091100040F2B330FCF701FF25E0D0F80150002207 +:1091200021461846FDF784F9A8420AD01048114993 +:109130000122401AC008042101EB00400EA101F0F9 +:1091400007FA012038BD01B02246BDE830400023B7 +:10915000401C00F023B8411C40220020009400F085 +:1091600017FA0128EED0002038BD0000ACE8060058 +:10917000E4EF0600BCEF06004352432063686563DA +:109180006B206F6620617070206661696C65642E6B +:109190002052657475726E20256400002DE9F0433D +:1091A000A9B007462020894628901C4690460125F4 +:1091B000782102A8FBF7DFF8FDF768F92CB120222F +:1091C000394620A8FEF738FE20AF244824494346FC +:1091D000401AC608042000EB064004464A4621A176 +:1091E00001F0BDF928A92C48CDE9000143464A46C3 +:1091F0002A4902A8FEF760FD020006D0012000EB1C +:10920000064027A101F0A4F922E020223946224895 +:10921000FBF7C3F8E8B1022000EB06402DA101F0F6 +:1092200093F9204632A101F08FF9204620223946D9 +:1092300001F034F9204633A101F086F920462022BE +:10924000154901F02BF900BF01F00EF80028FBD101 +:10925000002529B02846BDE8F0830000E4EF0600B1 +:10926000BCEF0600486173682076657269666963C1 +:109270006174696F6E2E207374617274206164640E +:10928000726573733A20307825782C2073697A657B +:109290003A203078257800009015002028DD06005F +:1092A000436F756C64206E6F742072756E206861F8 +:1092B000736820766572696669636174696F6E2090 +:1092C000286572725F636F64652030782578292E77 +:1092D0000000000048617368207665726966696302 +:1092E0006174696F6E206661696C65642E000000B0 +:1092F00045787065637465642046572068617368BB +:109300003A00000041637475616C20465720686123 +:1093100073683A0010B50648064C806B20B104F023 +:1093200017F808B1012000E00020207010BD0000F7 +:109330003C0E0020840000202DE9F041144C07462B +:109340000D46E06BA26B0126411991420BD91148E1 +:109350001149401AC008012101EB00400FA101F0A2 +:10936000F3F8032610E00A492A465C3108443946DE +:10937000FAF7E8FFE06B064A2844E06340322946EA +:109380003846FDF755F820643046BDE8F08100000E +:109390003C0E0020E4EF0600BCEF0600496E697445 +:1093A00020636F6D6D616E64206C61726765722001 +:1093B0007468616E2065787065637465642E000062 +:1093C00070B504004FF0010504D0B4F5007F03D957 +:1093D000042508E0032506E0044900200870FFF793 +:1093E00079FC03488463284670BD00008400002097 +:1093F0003C0E00202DE9F041064624480F46254B3F +:10940000D0E90E1222484FF00108C01AC00808EB3C +:1094100000448A4205D020461FA101F095F8082497 +:1094200030E0244D287840B1FEF78AFD306039469F +:10943000E86804F067FB044624E003F089FFE0B12C +:1094400000F050F80446002030603860012C0ED146 +:109450003946E86804F056FB0446012807D1324635 +:109460003968E86804F008FB0446012802D0FFF7D9 +:1094700031FC07E085F8008004E020460EA101F0F1 +:1094800063F805242046BDE8F08100003C0E002072 +:10949000E4EF0600BCEF060045786563757465204F +:1094A00077697468206661756C7479206F6666737D +:1094B00065740000840000204661696C6564207456 +:1094C0006F206465636F646520696E6974207061E4 +:1094D000636B65740000000001480078704700006D +:1094E00084000020F8B51C48041D002690F86C315B +:1094F000314632463BB190F8D862B0F8DA2200F536 +:10950000B87400F53771154DA868009030466B6847 +:1095100000F03EF80646012805D1201D00F042F972 +:109520000646012816D00E480E49401AC4080220EB +:1095300000EB04400CA101F007F8042000EB044408 +:109540000FA1204601F000F82889696882B2204600 +:1095500000F0A4FF3046F8BDBC11002084000020BC +:10956000E4EF0600BCEF060050726576616C69643A +:109570006174696F6E206661696C65642E0000001D +:10958000496E697420636F6D6D616E643A0000000E +:109590002DE9F047A2B080462020DDF8A8900F46C4 +:1095A00020909A461646782102A8FAF7E4FE002099 +:1095B0002190FCF76BFF40484049401AC508032042 +:1095C00000EB054004463EA100F0BEFF57B1B8F1E4 +:1095D000000F20460ED044A100F0B6FF162022B0A6 +:1095E000BDE8F087022000EB054045A100F0ACFF8C +:1095F0001320F4E74A4647A100F0AAFF20A94C48EF +:10960000CDE900014B4652464A4902A8FEF754FBF9 +:1096100008B9402E01D00A20E1E7454832463946D4 +:109620004038FAF78FFE204643A100F08DFF4048F6 +:1096300020214038FEF7D1FB3D4840214038CDE99C +:109640000001A0F148013A4A21A8209BFEF70EFB39 +:1096500002002BD0012000EB05403CA100F078FF78 +:10966000042000EB054442A1204600F06DFF304984 +:1096700020464022403900F011FF20463FA100F073 +:1096800063FF20982A4982B2204600F007FF204657 +:109690003CA100F059FF204640223D4900F0FEFE6B +:1096A00000F0E2FD0028FBD1052098E7204639A113 +:1096B00000F04AFF012092E7E4EF0600BCEF06004D +:1096C0005369676E61747572652072657175697230 +:1096D00065642E20436865636B696E6720736967F4 +:1096E0006E61747572652E00496E76616C696420D6 +:1096F0007369676E617475726520747970650000B6 +:109700004E6F207369676E617475726520666F7540 +:109710006E642E0043616C63756C6174696E6720C2 +:109720006861736820286C656E3A20256429000002 +:109730007015002028DD0600566572696679207371 +:1097400069676E6174757265000000005369676E29 +:109750006174757265206661696C65642028657244 +:10976000725F636F64653A203078257829000000C5 +:109770005369676E61747572653A00004861736879 +:109780003A0000005075626C6963204B65793A00BD +:10979000C8DC0600496D6167652076657269666997 +:1097A000656400002DE9F04104004FF0010603D18B +:1097B00033499E20FCF7B1FB3248334A94F85410E9 +:1097C000801AC008012202EB004541B194F855000F +:1097D00040B1012806D0022804D0032802D0284630 +:1097E0002AA147E01CB926497D20FCF796FB94F896 +:1097F0006E00032805D028462AA100F0A5FE1426F5 +:109800003BE094F8920018B194F89300002834D10A +:10981000207A78B11C4A1B4B02209A1AD208E168C0 +:1098200000EB0247342908D0384623A100F08CFE13 +:10983000112622E0284625A11CE0204603F07EF9EF +:1098400030B1207880B12046FDF724F930B114E022 +:10985000384622A100F078FE12260EE0384623A1F9 +:1098600000F072FE102608E094F85500012804D09C +:10987000284623A100F068FE0F263046BDE8F0819F +:10988000F4E80600ECEF0600BCEF0600496E7661D6 +:109890006C6964206669726D776172652074797095 +:1098A000652E0000496E76616C696420686173689A +:1098B00020747970652E00004661756C74792048BB +:1098C000572076657273696F6E2E00004E6F2048C8 +:1098D000572076657273696F6E2E000053442072B4 +:1098E0006571206E6F74206D65742E00465720766A +:1098F000657273696F6E20746F6F206C6F772E00C6 +:1099000046572076657273696F6E206D697373694F +:109910006E672E0070B5064604780C4888B0154670 +:1099200040F82420094A0869121D42F82400202228 +:109930006846FAF707FD04940DB1054A00E00022DD +:109940006946301D01F010F908B070BD9400002088 +:1099500061D80600001D01F05FB900000FB438B5F2 +:10996000040003D110A11C20FCF7D7FA606918B9D4 +:109970000DA11D20FCF7D1FA206818B90AA11E20FC +:10998000FCF7CBFA606818B907A11F20FCF7C5FAED +:109990000599002905D006A800906A46204600F0E7 +:1099A00045F838BC5DF814FB2E2E5C2E2E5C2E2E56 +:1099B0005C2E2E5C2E2E5C65787465726E616C5C1C +:1099C000667072696E74665C6E72665F66707269EC +:1099D0006E74662E6300000010B5040003D107A169 +:1099E0000B20FCF79AFAA268002A05D0D4E90403F8 +:1099F000216898470020A06010BD00002E2E5C2E2C +:109A00002E5C2E2E5C2E2E5C2E2E5C65787465727C +:109A10006E616C5C667072696E74665C6E72665FB5 +:109A2000667072696E74662E630000002DE9FC4753 +:109A300091460C465FEA000804D183A140F252200F +:109A4000FCF76BFAD8F8140020B97FA14FF4157019 +:109A5000FCF763FAD8F8000020B97BA140F255204A +:109A6000FCF75BFAD8F8040020B977A140F2562041 +:109A7000FCF753FA002C76D014F8011B39B12529D4 +:109A80000ED04046FCF79EFC20780028F4D198F8D0 +:109A90000C00002867D04046BDE8FC47FFF79CBF9C +:109AA0000020012221782B291BD02D2902D030291A +:109AB00008D102E040F0010001E040F00200641C27 +:109AC000002AEFD100252A290ED02178A1F13002F9 +:109AD0000A2A11D205EB850201EB4205641C303DD8 +:109AE000F1E740F00400EAE7D9F800100B1DC9F8CF +:109AF00000300968641C0D44217800232E290BD105 +:109B000014F8011FA1F130020A2A05D203EB8302E7 +:109B100001EB4203303BF3E76C290DD068290BD0F1 +:109B2000692921D00BDC252918D0582931D0632987 +:109B30000ED0642915D117E014F8011FECE7702945 +:109B400069D0732932D075291BD0782909D120E03A +:109B5000D9F80000011DC9F8001001784046FCF753 +:109B600031FC641C90E76CE0D9F800100A1DC9F8BC +:109B700000200968CDE900500A224046FDF78CF824 +:109B8000EFE7D9F800100A1DC9F8002009680A2279 +:109B900006E0D9F800100A1DC9F800200968102253 +:109BA000CDE90050404603F00DFFDAE7D9F8001088 +:109BB00000270A1DC9F800200E68C00705D112E071 +:109BC0004046761C7F1CFCF7FDFB31780029F7D15D +:109BD00004E0202140466D1EFCF7F4FBBD42C0D9D5 +:109BE000002DF6D1BDE74EB13046FAF7CFFB074660 +:109BF00004E0202140466D1EFCF7E4FBBD4206D97F +:109C0000002DF6D103E04046761CFCF7DBFB3178F3 +:109C10000029F8D1A5E7D9F80000011DC9F8001006 +:109C2000056830214046FCF7CDFB78214046FCF723 +:109C3000C9FB08200021CDE9000103461022294676 +:109C4000B0E7BDE8FC8700002E2E5C2E2E5C2E2E89 +:109C50005C2E2E5C2E2E5C65787465726E616C5C79 +:109C6000667072696E74665C6E72665F6670726949 +:109C70006E74665F666F726D61742E630000000023 +:109C80002DE9F0411E4615460F46040003D11DA1E3 +:109C90007820FCF742F9206818B91AA17920FCF75E +:109CA0003CF91DB917A17A20FCF737F9394620464F +:109CB000FBF780FE40B939462046FBF77BFE18B91A +:109CC00010A17D20FCF729F960683946026820461A +:109CD0006A43FBF778FE58B9606839460268204647 +:109CE0006A43FBF770FE18B906A17F20FCF715F94F +:109CF000206833462A46D0F810C039462046BDE8D1 +:109D0000F04160472E2E5C2E2E5C2E2E5C2E2E5C9B +:109D10002E2E5C636F6D706F6E656E74735C6C6914 +:109D2000627261726965735C6673746F7261676594 +:109D30005C6E72665F6673746F726167652E630036 +:109D400070B516460C46050003D108A12F20FCF77C +:109D5000E4F81CB905A13020FCF7DFF82C6031468F +:109D600028462268BDE87040104700002E2E5C2E69 +:109D70002E5C2E2E5C2E2E5C2E2E5C636F6D706F13 +:109D80006E656E74735C6C69627261726965735C36 +:109D90006673746F726167655C6E72665F6673741A +:109DA0006F726167652E63002DE9F04128B101688B +:109DB00019B1C969BDE8F04108470D4D0D480024AF +:109DC000461B14270DE000BF04EB840005EB800068 +:109DD000016829B1C969884710B10120BDE8F08147 +:109DE000641CB6FBF7F0A042EED80020F6E70000B6 +:109DF00020010020340100202DE9F8431D46089F72 +:109E000016468846040003D12AA16220FCF785F893 +:109E10001EB928A16320FCF780F8206818B925A195 +:109E20006420FCF77AF81DB922A16520FCF775F8CB +:109E300060684068B5FBF0F100FB115141B1B5FB22 +:109E4000F0F100FB115018B11AA16820FCF765F879 +:109E50004046FBF7A9FD38B94046FBF7A5FD18B908 +:109E600014A16B20FCF759F83046FBF79DFD38B97B +:109E70003046FBF799FD18B90EA16C20FCF74DF8A0 +:109E80002A4641462046FBF79EFD48B92A464146F0 +:109E90002046FBF798FD18B906A16D20FCF73DF8A8 +:109EA000009720682B463246C76841462046B8478F +:109EB000BDE8F8832E2E5C2E2E5C2E2E5C2E2E5CA2 +:109EC0002E2E5C636F6D706F6E656E74735C6C6963 +:109ED000627261726965735C6673746F72616765E3 +:109EE0005C6E72665F6673746F726167652E630085 +:109EF0002DE9FF411C46DDE90A7815460E46684605 +:109F000000F044F846EA450141EA840141EA0722AB +:109F100042EA0841009A00EB8200C0F80017BDE851 +:109F2000FF812DE9FF411C46DDE90A7815460E4602 +:109F3000684600F083F846EA450141EA840141EAB7 +:109F4000072242EA0841009A00EB8200C0F800179D +:109F5000BDE8FF811CB5002100910B460122019153 +:109F6000FFF7DFFF1CBD1CB500220B460092114617 +:109F70000192FFF7D6FF1CBD1CB5002100910B46D6 +:109F8000012201911146FFF7CCFF1CBD10B50168FD +:109F90004FF000004A0900D1401E01F01F020121CC +:109FA0009140014204D104A14FF4E370FBF7B5FFE7 +:109FB0004FF0A04010BD00002E2E5C2E2E5C2E2EE9 +:109FC0005C2E2E5C2E2E5C6D6F64756C65735C6E02 +:109FD0007266785C68616C5C6E72665F6770696FF0 +:109FE0002E68000010B501684FF000004A0900D14A +:109FF000401E01F01F0201219140014204D104A141 +:10A000004FF4E370FBF789FF4FF0A04010BD000054 +:10A010002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6D3B +:10A020006F64756C65735C6E7266785C68616C5C9D +:10A030006E72665F6770696F2E68000010B5016808 +:10A040004FF000004A0900D1401E01F01F0201211B +:10A050009140014204D104A14FF4E370FBF75DFF8E +:10A060004FF0A04010BD00002E2E5C2E2E5C2E2E38 +:10A070005C2E2E5C2E2E5C6D6F64756C65735C6E51 +:10A080007266785C68616C2F6E72665F6770696F6C +:10A090002E68000001B56846FFF7D0FF009A012145 +:10A0A0009140C0F8081508BD38B5012400906846F5 +:10A0B00031B1FFF76BFF00998C40C0F8084538BDFF +:10A0C000FFF764FF00998C40C0F80C4538BD0000D4 +:10A0D00030B5134B014600201C6922460AE0D268C5 +:10A0E0001579854205D1401C0A28F6DB4FF0FF3078 +:10A0F00030BD1268002AF2D1421CF9D0CA68107132 +:10A100001A693AB1D268CC68126822601A69D268BA +:10A11000116030BD1961C96800220A6030BD0000BD +:10A120006C2700207047FBF7CBB9704708B5034A8E +:10A1300000924023024A00F005F808BDB1CB0600AA +:10A14000D4150020F0B595B01C4615460F460846BC +:10A150001A9E00F06BFB182109A8FAF70CF90E966D +:10A16000CDE909540023082203A9384600F074FB06 +:10A1700005980690BDF81000ADF81C00BDF812005F +:10A18000ADF81E0000208DF821000398082600F08D +:10A190000300012802D0022818D032E00398334689 +:10A1A000850AC0F3C2008DF8200003980FA9C0F300 +:10A1B0008314A200384600F04FFB09A8009006ABBC +:10A1C00022460FA9284600F08DFA1AE00398840D64 +:10A1D000C0F3C2008DF82000082C01D2254600E013 +:10A1E000082533462A460FA9384600F035FB2E4491 +:10A1F000641B09AB06AA29460FA800F0D9F9002C68 +:10A20000EAD1384600F018FB15B0F0BD0A4A012922 +:10A2100002EBC00007D0022907D0032907D0042988 +:10A2200007D0002070470220704704207047007953 +:10A230007047407970470000BCEF060010B5FFF78B +:10A2400072FF04210648FFF743FF002803DA05499F +:10A250001B20FBF762FE02490120C968487110BD4E +:10A26000ACEF060000ED06002DE9F04F8DB0FCF7D5 +:10A27000C1F818B100200DB0BDE8F08F7C4E002071 +:10A28000B061BFF34F8FA6F580547A49A068029061 +:10A290000D684FF00009284004EB80000AE0B06927 +:10A2A00070B961680298814201D8A160E2E7284054 +:10A2B00004EB80000C3002A9FCF7A2FD0028EED1CF +:10A2C000002003AAA046029901EA050308EB8303D4 +:10A2D000491CDB6842F82030401C02910228F2D36E +:10A2E000039800F00300022802D001284ED0A6E017 +:10A2F0000398810D024650208A46B0EB925F00D849 +:10A3000050210C46104664F39F50039008315A4880 +:10A3100000F043FA070075D000F088FA4B46082297 +:10A3200003A9384600F0C4FA029909F1080B294044 +:10A33000681A8000001D844221D9504D30B1C2B24C +:10A3400008EB8101201A91460C3104E02946E2B263 +:10A35000002591462846C4B25B46384600F0A8FA6C +:10A360000BEB090325B122462946384600F0A0FA36 +:10A3700002990AF1030001EB900002903BE008EB28 +:10A3800081015B46224638460C31EFE70398C0F363 +:10A390008310062800D30620039960F38911C1F3C6 +:10A3A0008310801C03918100334800F0F6F9070008 +:10A3B00045D000F03BFA4B46082203A9384600F08E +:10A3C00077FA09F1080900240FE002984B4600EAE9 +:10A3D0000501401C08EB81010290042238460C3133 +:10A3E00000F066FA09F10409641C0398C0F38310B5 +:10A3F000A042EAD837B13469B06978B1384600F084 +:10A400001BFA30E01BE0E0684079012804D12268A3 +:10A410002046394612689047E0680468002CF2D163 +:10A42000384600F009FA0020FBF7CEFCB06910B9FD +:10A430000299C8F808100020FBF7F4FC13E0346917 +:10A4400005E02168204689688847E0680468002C98 +:10A45000F7D10B480B49401AC008022101EB00401C +:10A4600009A100F071F8FBF7C5FF80F0010002E7D9 +:10A470006C270020C800002038F006007817002064 +:10A4800014F00600BCEF06004261636B656E6473F6 +:10A4900020666C7573686564000000002DE9F84F54 +:10A4A0008146274FD01C15468A46800800226946FF +:10A4B0003E68FBF731FFDFF88C80B0B3009CA01C36 +:10A4C000009039683040091A8F003F1DBD4208EBEB +:10A4D000800002D82A46514608E03A4651460C30E0 +:10A4E000F9F730FF1748EA1B0AEB07010C30F9F7C0 +:10A4F00029FF4FEA1947FCF74DFA47EA0042601C72 +:10A50000304008EB8000344008EB8401C260C8682A +:10A510004FF6C07269F3C500904365F39F5020F079 +:10A520000300801C20F00400C86098F8000001E0DF +:10A53000FFF79AFE0028FBD1FCF705FDBDE8F88F78 +:10A54000C80000206C17002000231A4602F0CABE83 +:10A5500008B5012300926A4602F0C4FE08BD1CB58E +:10A56000CDE9002302236A4602F0BCFE1CBD3EB5C5 +:10A57000069C8DE81C0003236A4602F0B3FE3EBD34 +:10A580007FB5DDE908458DE83C0004236A4602F00A +:10A59000A9FE7FBD70B586B00DF1280C9CE8700057 +:10A5A0008DE87C0005236A4602F09CFE06B070BD73 +:10A5B0002DE9F0470E4680461C469246082940D8B1 +:10A5C00094F80C90002020731946104601F0E8FF23 +:10A5D0000025B54206D218F805201BA12046FFF73A +:10A5E000BDF903E01AA12046FFF7B8F96D1C082D4C +:10A5F000EFD318A12046FFF7B1F90025B54212D2DA +:10A6000018F805707E2F08D8F9F798FE0068C05D2D +:10A6100010F03E0F01D03A4600E02E220EA1204657 +:10A62000FFF79CF903E00DA12046FFF797F96D1C99 +:10A63000082DE3D301222146504601F049FE84F85B +:10A640000C90BDE8F0870000202530327800000033 +:10A65000202020007C000000256300002000000076 +:10A66000064910B500200870054800F0E3F80028FE +:10A6700003D1044800F09AF9002010BD6C170020A7 +:10A6800038F00600F8E1060002480349401AC00805 +:10A690007047000024F00600BCEF060013B56846C2 +:10A6A000FCF790FD08B100201CBD0248009950F84D +:10A6B00031001CBDBCEF060070B5094801250469D6 +:10A6C000A0F58050057007E0E068457121682046DC +:10A6D00049688847E0680468002CF5D170BD000027 +:10A6E0006C2700202DE9FF4781460C9D00200C4679 +:10A6F0002F7B2873984616462946184601F050FFCE +:10A70000072E42D2DFE806F004090F161F2A360092 +:10A7100049462846FFF722F937E04946284622688D +:10A72000FFF71CF931E0D4E9002349462846FFF73A +:10A7300015F92AE0A0680090D4E90023494628468C +:10A74000FFF70CF921E0D4E90201CDE90001D4E9D9 +:10A75000002349462846FFF701F916E004F10800F6 +:10A7600007C88DE80700D4E9002349462846FFF7CB +:10A77000F5F80AE004F108000FC88DE80F00D4E9ED +:10A78000002349462846FFF7E9F8002229464046BB +:10A7900001F09EFD2F73BDE8FF872DE9F041058A8A +:10A7A00080462D1F4819C01CB0FBF5F0C6B24046CC +:10A7B000FCF754FD041E19D00020207101206071A7 +:10A7C000E58000272546761EC4F800800BE0404651 +:10A7D000FCF744FD60B16179491C61712860054650 +:10A7E0007F1CC0F80080B742F1D32046BDE8F0815D +:10A7F000204600F002F80020F8E72DE9F041457905 +:10A8000001466B1E002201E00968521C9A42FBD3EC +:10A810000F680146002605E038460C68FCF780FD0D +:10A820002146761CAE42F7D3BDE8F0810121001D20 +:10A83000FCF7ECBCFCF7B8BD10B504460121001DC7 +:10A84000FCF705FD10F0FF0F04D12046BDE81040D5 +:10A85000FFF7D3BF10BD00001CB514460122CDE99F +:10A86000002401AAFCF740FC0198A04203D002A1F9 +:10A87000DA20FBF752FB1CBD2E2E5C2E2E5C2E2EFA +:10A880005C2E2E5C2E2E5C636F6D706F6E656E7429 +:10A89000735C6C69627261726965735C6D656D6F22 +:10A8A000626A5C6E72665F6D656D6F626A2E6300D0 +:10A8B0001CB514460022CDE9002401AAFCF714FCC3 +:10A8C0000198A04203D002A1D020FBF726FB1CBDBB +:10A8D0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C637D +:10A8E0006F6D706F6E656E74735C6C6962726172AD +:10A8F0006965735C6D656D6F626A5C6E72665F6DD3 +:10A90000656D6F626A2E6300094902220A60BFF317 +:10A910006F8FBFF34F8F0A1D106006480268002A30 +:10A92000FCD000200860BFF36F8FBFF34F8F7047DC +:10A9300004E5014000E40140094A01231360BFF32C +:10A940006F8FBFF34F8F0160064801680029FCD06C +:10A9500000201060BFF36F8FBFF34F8F7047000070 +:10A9600004E5014000E4014070B50E4C0123236072 +:10A97000BFF36F8FBFF34F8F00230B4D08E000BF75 +:10A9800051F8236040F823602E68002EFCD05B1C39 +:10A990009342F5D300202060BFF36F8FBFF34F8F3A +:10A9A00070BD000004E5014000E401408268002120 +:10A9B000916082681161826851618268D1608268A9 +:10A9C000516080680160704708B5002242504058CD +:10A9D000009008BD0C4A10B502F58C730EE0991A70 +:10A9E000C91001EBD171491002EBC1010C6884421E +:10A9F00001D90B4602E005D201F108029A42EED3DA +:10AA0000002010BD486810BDC8DF060000B5FFF784 +:10AA1000E1FF002800D1014800BD0000B4DF0600BE +:10AA200010B5144612680830202A02D248F2145099 +:10AA300010BD002202F0EEF90028F9D1202020609C +:10AA4000002010BD083002F06DBA083002F02ABBB9 +:10AA50004058002800D00120704708B5002242501D +:10AA60004058009008BD000002480068002800D04F +:10AA700001207047000401400121B1EB507F01D15A +:10AA8000012070470020704770B50D46040003D1C7 +:10AA90000DA15120FBF741FA204601F0DBFD040037 +:10AAA0000FD00020FBF790F9207920B10020FBF7B0 +:10AAB000B9F9112070BD0120256020710020FBF73D +:10AAC000B1F9002070BD00002E2E5C2E2E5C2E2EC3 +:10AAD0005C2E2E5C2E2E5C6D6F64756C65735C6EE7 +:10AAE0007266785C647269766572735C7372635CBB +:10AAF0007072735C6E7266785F7072732E630000A2 +:10AB000010B5040003D106A17520FBF706FA204614 +:10AB100001F0A0FD002802D000210160017110BDEC +:10AB20002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6D20 +:10AB30006F64756C65735C6E7266785C647269765E +:10AB40006572735C7372635C7072735C6E7266784C +:10AB50005F7072732E6300000149024802F098BED4 +:10AB6000B0150020002000402DE9F04117460D00EF +:10AB7000064603D118A1A920FBF7CFF93079244A62 +:10AB800000EBC00102EB810494F8201011B1082001 +:10AB9000BDE8F0811F4951F820103068FFF774FFBD +:10ABA00008B11120F4E729463046FBF77BF96760CE +:10ABB000286920601FB1297F3046FCF7C1F8306852 +:10ABC0000821C0F800150020A061E061606101214A +:10ABD00084F82010DCE700002E2E5C2E2E5C2E2E3A +:10ABE0005C2E2E5C2E2E5C6D6F64756C65735C6ED6 +:10ABF0007266785C647269766572735C7372635CAA +:10AC00006E7266785F75617274652E630000000075 +:10AC1000B015002074DF06002DE9F05F04460079CE +:10AC20000F46DFF830A100EBC0010AEB81051646A4 +:10AC300095F82000012804D047A14FF4C070FBF71D +:10AC40006CF927B944A140F28110FBF766F926B9E7 +:10AC500041A14FF4C170FBF760F9207908B9FF2ECC +:10AC600004D93DA140F28310FBF757F93846FFF7AE +:10AC700003FFB0B168684FF000084FF4047910B1D9 +:10AC80002168C1F80893A8694FF0000B80B1E8690A +:10AC900048B1686810B12068C0F804931120BDE87D +:10ACA000F09F1020FBE72F614FF00108EE6102E0FA +:10ACB000EF60C5E9066B00254FF488712068FFF747 +:10ACC000CCFE4FF4A2712068FFF7C7FE2068C0F8E1 +:10ACD0003475C0F838652068B8F1000F12D0D0F88C +:10ACE000001241F02001C0F800122079D04600EB9C +:10ACF000C0010AEB8100406838B12168C1F80493B3 +:10AD00002846CCE701210160EFE74FF4887A4FF441 +:10AD1000A27951462068FFF79BFE07464946206806 +:10AD2000FFF796FE06464FF492712068FFF790FEFB +:10AD3000014647EA06000843EBD0227902EBC20342 +:10AD400008EB8302C2F818B001B10325002ED7D05A +:10AD50000F25D5E7B01500202E2E5C2E2E5C2E2E52 +:10AD60005C2E2E5C2E2E5C6D6F64756C65735C6E54 +:10AD70007266785C647269766572735C7372635C28 +:10AD80006E7266785F75617274652E6300000000F4 +:10AD90002DE9F04704460F460079364900EBC00024 +:10ADA00001EB8005164695F82000012804D032A159 +:10ADB00040F22D10FBF7B1F827B92FA14FF497708F +:10ADC000FBF7ABF826B92CA140F22F10FBF7A5F842 +:10ADD000207908B9FF2E04D927A14FF49870FBF70A +:10ADE0009CF83846FFF748FE30B1204600F060F886 +:10ADF00020B11120BDE8F0871020FBE76E61AF6045 +:10AE00004FF490774FF0000839462068FFF725FE91 +:10AE10004FF4AC7631462068FFF71FFE2068AA6821 +:10AE20006969C0F84425C0F8481520684FF0010949 +:10AE3000C0F808906868D0B9BA4651462068FFF754 +:10AE400007FE074631462068FFF702FE0743F4D0AD +:10AE500010B14FF00F0808E02068C0F80C903146A0 +:10AE60002068FFF7F5FD0028F9D000206861404612 +:10AE7000C0E70000B01500202E2E5C2E2E5C2E2E7A +:10AE80005C2E2E5C2E2E5C6D6F64756C65735C6E33 +:10AE90007266785C647269766572735C7372635C07 +:10AEA0006E7266785F75617274652E6300000000D3 +:10AEB0000079054900EBC00001EB800040690028E3 +:10AEC00000D0012070470000B01500202DE9F047A8 +:10AED000064600793D4900EBC00001EB800534686F +:10AEE00068680127A8B13A49C4F80813306840F3EC +:10AEF000073000280DDB00F01F0107FA01F14009BF +:10AF0000800000F1E020C0F88011BFF34F8FBFF345 +:10AF10006F8FD4F8000220F02000C4F80002A86966 +:10AF20004FF4A27820B141462046FFF796FD6760B6 +:10AF30004FF4AC7949462046FFF78FFDE76047465E +:10AF400049462046FFF784FD0028F9D0A86928B1BA +:10AF500039462046FFF77CFD0028F1D04FF0000A6B +:10AF6000C4F800A53068D0F80C25D0F81495D0F8B6 +:10AF70000885D0F810754FF0FF31C0F80C15C0F8F7 +:10AF800014153068C0F80815C0F81015501C02D010 +:10AF90001046FEF7DFFFB9F1FF3F02D04846FEF74B +:10AFA000D9FF781C02D03846FEF7D4FFB8F1FF3F36 +:10AFB00002D04046FEF7CEFF2046FFF7A1FD85F800 +:10AFC00020A0C5F804A0BDE8F0870000B01500205F +:10AFD0001003420003490860034801680029FCD0BF +:10AFE0007047000004E5014000E4014070B50C46E4 +:10AFF000050003D10E49DE20FAF78FFF1CB90C497A +:10B00000DF20FAF78AFF0B480B49401AC0080421D9 +:10B0100001EB004009A1FFF797FA13490320C96823 +:10B0200088476869FEF7CCF9FBF7FDFC607070BDDE +:10B0300010E50600CCEF0600BCEF060048616E6428 +:10B040006C65204E52465F4446555F4F505F4F42FD +:10B050004A4543545F4352454154452028636F6D30 +:10B060006D616E64290000005000002070B50D462F +:10B0700020B916494FF48370FAF74FFF25B91349E9 +:10B0800040F20710FAF749FF11481249401AC10867 +:10B09000042000EB014004460FA1FFF755FA1949BF +:10B0A000081FFEF7A7F9FBF7BEFC6870012805D161 +:10B0B0000020FDF70BFF10B10A20687070BD20461C +:10B0C000BDE8704010A1FFF73FBA000010E5060090 +:10B0D000CCEF0600BCEF060048616E646C65204E44 +:10B0E00052465F4446555F4F505F4F424A45435476 +:10B0F0005F455845435554452028636F6D6D616E1B +:10B10000642900005800002057726974696E672036 +:10B1100076616C696420696E697420636F6D6D611E +:10B120006E6420746F20666C6173682E00000000EE +:10B1300070B50D46040003D11849EC20FAF7EDFE76 +:10B14000206918B91549ED20FAF7E7FEA08A18B969 +:10B150001249EE20FAF7E1FE1DB91049EF20FAF787 +:10B16000DCFE0F480F49401AC008042101EB0040E3 +:10B170000DA1FFF7E9F9A18A2069FEF7DDF8FBF7D9 +:10B1800052FC68702846FBF741F9E168002903D0BA +:10B190002069BDE87040084770BD000010E506005A +:10B1A000CCEF0600BCEF060048616E646C65204E73 +:10B1B00052465F4446555F4F505F4F424A454354A5 +:10B1C0005F57524954452028636F6D6D616E642945 +:10B1D0000000000070B50E460B480C49401AC1082B +:10B1E000042000EB01440AA12046FFF7ADF9114D00 +:10B1F000204611A1AB6C2A6DFFF7B1F9A86CB060C5 +:10B20000286D706070BD0000CCEF0600BCEF06003A +:10B2100048616E646C65204E52465F4446555F4FF0 +:10B22000505F4352435F474554202864617461294D +:10B23000000000003C0E00204F66667365743A25DE +:10B24000642C204352433A3078253038780000008F +:10B250002DE9F84F0D460746374838494FF00409A5 +:10B26000401AC40809EB0440064635A1FFF76CF903 +:10B27000FEF732F9012101EB04444FF0080AA8B1AE +:10B280007A694FF00308B2B137493848130515D031 +:10B29000436DD1F808C0134463450FD0204634A154 +:10B2A000FFF752F985F80180BDE8F88F204639A1F3 +:10B2B000FFF74AF919E0204644A1F1E7B2F5805FB3 +:10B2C00006D9204648A1FFF73FF985F80190EBE742 +:10B2D000436DD1F808C003EB0208E04508D92046C9 +:10B2E0004A49CDF800C0FFF742F985F801A0DBE735 +:10B2F0004264C26C036503638046826478690022FD +:10B3000000F6FF70070B486839461844FDF7A6F8A9 +:10B3100030B120463EA1FFF717F905206870C3E75A +:10B32000D8F84810009130463FA1D8F85030D8F8EE +:10B330004420FFF71CF9B7E7CCEF0600BCEF06008E +:10B3400048616E646C65204E52465F4446555F4FBF +:10B35000505F4F424A4543545F4352454154452054 +:10B360002864617461290000500000203C0E002018 +:10B370004F626A6563742073697A65206D757374B2 +:10B38000206265207061676520616C69676E656425 +:10B390000000000043616E6E6F742063726561741B +:10B3A000652064617461206F626A656374207769E7 +:10B3B00074686F75742076616C696420696E697455 +:10B3C00020636F6D6D616E64000000004F626A65FE +:10B3D00063742073697A652063616E6E6F74206296 +:10B3E0006520302E00000000496E76616C69642093 +:10B3F00073697A6520666F72206F626A6563742074 +:10B4000028746F6F206C6172676529009CE40600E8 +:10B410004572617365206F7065726174696F6E202B +:10B420006661696C656400004372656174696E678A +:10B43000206F626A65637420776974682073697A23 +:10B44000653A2025642E204F66667365743A203075 +:10B4500078253038782C204352433A2030782530F4 +:10B46000387800002DE9F0410E4607461548164988 +:10B47000401AC508042000EB054014A1FFF764F84A +:10B480001C4CD4E91401626C431A9A420AD0012080 +:10B4900000EB054018A1FFF762F80820707001204A +:10B4A000BDE8F08100216164A16CE1646065002168 +:10B4B000384600F035F819490420C968884700204B +:10B4C000EEE70000CCEF0600BCEF060048616E64BA +:10B4D0006C65204E52465F4446555F4F505F4F4269 +:10B4E0004A4543545F4558454355544520286461B7 +:10B4F000746129003C0E0020496E76616C696420FD +:10B50000646174612E2065787065637465643A20A7 +:10B5100025642C20676F743A2025640050000020B9 +:10B52000F0B5044687B00020FEF73EFC0100254838 +:10B53000254A4FF00107A0EB02004FEAD0050AD0E0 +:10B54000224A18212046FAF7BBFB020037D007EB4E +:10B5500005401FA131E0182228496846F8F7F2FE9D +:10B560002748284E184B174D016DEB1A0420DB08B5 +:10B57000B26800EB0345914215D1284622A1FEF79F +:10B58000E3FFD6E90101FDF7B3FD8DF80100FBF7FC +:10B590004AFA8DF80100D4E901126846904726481E +:10B5A000FDF794FC05E08DF80170D4E901126846BE +:10B5B00090479DF80120284620A1FEF7C9FF07B05B +:10B5C000F0BD0000CCEF0600BCEF060021B5060080 +:10B5D0004661696C656420746F2073636865647587 +:10B5E0006C65206F626A6563742065786563757445 +:10B5F000653A20307825782E0000000020DF060014 +:10B600003C0E00205000002057686F6C6520666972 +:10B61000726D7761726520696D616765207265631F +:10B6200065697665642E20506F737476616C696409 +:10B630006174696E672E0000F5B70600526571757A +:10B640006573742068616E646C696E6720636F6DEA +:10B65000706C6574652E20526573756C743A203079 +:10B660007825780038B50D460C480D49401AC108B8 +:10B67000042000EB014004460AA1FEF765FF1348D1 +:10B6800013A1826CAA60036D4FF480506B60E86078 +:10B6900000902046FEF76BFF38BD0000CCEF06009F +:10B6A000BCEF060048616E646C65204E52465F44F4 +:10B6B00046555F4F505F4F424A4543545F53454C98 +:10B6C0004543542028646174612900003C0E002029 +:10B6D000637263203D20307825782C206F66667376 +:10B6E0006574203D20307825782C206D61785F735B +:10B6F000697A65203D203078257800002DE9F041F9 +:10B700000E46044626482749401AC708042000EB85 +:10B71000074025A1FEF718FFFDF7DEFE90B12C4D86 +:10B72000D5E91401401AA18A6A6C084490420BD9E9 +:10B73000012000EB074027A1FEF706FF03207070F1 +:10B74000BDE8F0810820FAE7284A286B526800EB30 +:10B7500002081F4A20694832FAF76AFE0746E06885 +:10B7600020B923494FF4E570FAF7D7FBD4E9033148 +:10B77000A28A4046FCF70AFF20B1D4E90310BDE8D5 +:10B78000F0410847A18A286B08442863A18A286DE4 +:10B79000AF6408442865B760286D7060D0E700008A +:10B7A000CCEF0600BCEF060048616E646C65204E6D +:10B7B00052465F4446555F4F505F4F424A4543549F +:10B7C0005F57524954452028646174612900000084 +:10B7D0003C0E00205772697465207265717565733F +:10B7E0007420746F6F206C6F6E6700005000002033 +:10B7F00010E506000848094910B5401AC0080421A0 +:10B8000001EB004006A1FEF79FFE12490620C96821 +:10B81000BDE8104008470000CCEF0600BCEF060072 +:10B82000416C6C20666C617368206F706572617426 +:10B83000696F6E73206861766520636F6D706C65EB +:10B840007465642E2044465520636F6D706C65747A +:10B8500065642E0050000020FEF72EFFFEF704FD69 +:10B860000028FBD10D4E64254FF47A47741C3846EE +:10B87000A0476D1EFAD10A480068C00700D000BE7C +:10B88000BFF34F8F0648E4380168064A01F4E061CF +:10B8900011430160BFF34F8F00BFFDE710DD0600CD +:10B8A000F0ED00E00400FA052DE9F0410C460646F3 +:10B8B0002C482D49401AC108042000EB01452BA15A +:10B8C0002846FEF741FE327C284631A1FEF740FEB5 +:10B8D0004FF44050364B426801214FF0020E9A421D +:10B8E00000D10221334F3A6A012A00D1491C4FF09E +:10B8F000010C84F801C0327C1AB10026012A09D05B +:10B900001BE084F804E0F868A0602B48E060C0F514 +:10B91000FC200FE0D0F804E09E450ED1267101789E +:10B92000142901D9416900E00021A1604FF4805140 +:10B93000E16080682061BDE8F0818A4208D284F825 +:10B9400004C0B868A060FCF7E5FAE060B869F1E708 +:10B9500028461AA1FEF7F8FDFF202071A660E660D8 +:10B960002661E8E7CCEF0600BCEF060048616E6494 +:10B970006C65204E52465F4446555F4F505F4649C6 +:10B98000524D574152455F56455253494F4E000064 +:10B990004669726D7761726520696D6167652072B5 +:10B9A00065717565737465643A2025640000000054 +:10B9B000DBE5B1513C0E0020004006004E6F2073C5 +:10B9C000756368206669726D7761726520696D6163 +:10B9D0006765000070B505460D2422B10978194845 +:10B9E00001F08AFB04461849012201F10800FDF725 +:10B9F000B1FF002C1CD1134C2846D4E90112FDF7ED +:10BA000045F81248FBF72AFC050011481149A0EB44 +:10BA100001004FEAD0010CD0032000EB01402A4680 +:10BA20000DA1FEF795FD0020ED1CC4E9015020702A +:10BA300070BDBDE87040012000EB01400BA1FEF796 +:10BA400083BD0000F80600206000002024F00600FE +:10BA5000D4EF0600BCEF0600416C6C6F6361746547 +:10BA60006420627566666572202578004661696C9F +:10BA7000656420746F20616C6C6F63617465206213 +:10BA80007566666572000000011F0148FBF748BC3F +:10BA900024F00600F8B50D4614460646694600F047 +:10BAA00057FA00280FD0009BB3F5803F0AD2981CAC +:10BAB000834207D8A9780222B2EB911F02D02989CC +:10BAC000814201D20020F8BD2380A11C3046009A9B +:10BAD00000F094FBF8BD114600F0D6B8114600F016 +:10BAE000E3B8F8B50C4615460646694600F030FA4C +:10BAF00000280CD0009A501C904207D3A178022352 +:10BB0000B3EB911F02D02189814201D20020F8BD00 +:10BB10002946304600F072FB009A0021A954F8BD76 +:10BB20002DE9FF410C46CE6817460546694600F0F0 +:10BB300037FB00280ED0E06800280BD0A0783A46EA +:10BB4000C0F3011002283146684606D000F0DAF84A +:10BB50000199696004B0BDE8F08100F086F8F7E76C +:10BB60007CB50D461446694600F08FF9002820D0B8 +:10BB70002889082806D0042809D002280AD00128DC +:10BB80000CD015E0DDE90001C4E900010AE00098ED +:10BB9000206006E0009800B2208002E0009840B2E9 +:10BBA0002070C117DDE9002350405940084301D0FF +:10BBB00000207CBD01207CBD7CB50D461446694645 +:10BBC00000F0A1F9002820D02889082807D00021FA +:10BBD000042809D002280AD001280CD014E0DDE99D +:10BBE0000001C4E9000109E00098206006E0009827 +:10BBF00080B2208002E00098C0B22070DDE900230E +:10BC000050405940084301D000207CBD01207CBD3C +:10BC10007CB50D461446694600F075F9002821D020 +:10BC20002989082908D00098C21704290BD00229B5 +:10BC30000DD001290ED014E0DDE90002C4E90002B4 +:10BC40000146134609E0C3170146206005E001B232 +:10BC5000218001E041B22170CB174140534019438C +:10BC600001D000207CBD01207CBD70B50D4606468C +:10BC700014461146284600F0AEFA224629463046C0 +:10BC8000BDE8704000F03EB838B50C460422694665 +:10BC900000F0B4FA002806D09DF80310009861F374 +:10BCA0001F602060012038BD1CB50C460822694683 +:10BCB00000F0A4FA002824D09DF801109DF800207F +:10BCC0009DF80230080E42EA012242EA034240EAAD +:10BCD00013409DF803309DF8041040EA13200843F8 +:10BCE0009DF8051042EA036240EA01209DF8061023 +:10BCF00040EA01409DF8071040EA0160C4E90020D5 +:10BD000001201CBD2DE9F04F04469DB0002000909D +:10BD1000064601904FF0FF3A0AA800F07DF94FF077 +:10BD2000010BE94682E012AB05AA06A9204600F005 +:10BD3000C9F850B10AA8059900F07FF960B10B98D5 +:10BD4000807810F0300F53D060E09DF84800002854 +:10BD500070D11DB0BDE8F08F0598B04242D30B9D65 +:10BD60000AAE0B98807800F00F00082812D03046F9 +:10BD700000F07AF90B98A842F3D156460599B142E2 +:10BD800030D3D4F8088009919DF8181008910E99C5 +:10BD90000D6820E00B980688F0E729680F682FB13E +:10BDA000DDE9083229462046B84711E01194896838 +:10BDB000DDE90872098891420CD1294617A8FBF7E2 +:10BDC000ABF885F80CB017AA39461198FAF7C9FBF9 +:10BDD0000028BED0AD6815B1A1684145DDD0A1688D +:10BDE000414523D19DF81810204600F043FA1BE08E +:10BDF0000C9840280AD200F01F010BFA01F00C99B0 +:10BE00004A0959F82230034349F82230E5682DB138 +:10BE10000AAB9DF8182020460599A8470AAA9DF864 +:10BE200018102046FAF79DFB002892D0A068002841 +:10BE30007FF479AFDDE90B0485780AA800F014F9E6 +:10BE40000028F7D115F0300F03D10B98008800B10E +:10BE5000641CC4B10020494605E000BF51F8202011 +:10BE6000521C0ED1401CB0EB541FF7D3600959F897 +:10BE7000201004F01F00C0F120022AFA02F08142D3 +:10BE800001D0002065E7012063E71CB50C46694638 +:10BE900000F039F8002814D0DDE90002C10709D00C +:10BEA00051084FEA30006FEA00026FEA0100C4E96E +:10BEB000002004E051084FEA3000C4E900014FF0CF +:10BEC00001001CBDF8B507460020187008700E462A +:10BED00010601C4615466946384600F039F80100E6 +:10BEE0004FF0010009D0009959B1C80828600098A6 +:10BEF00000F0070030700120F8BDB96809B10020DA +:10BF0000F8BD2070FBE72DE9F843002688468146FE +:10BF10003446354604E0402E02D30020BDE8F883C5 +:10BF20006946484600F096F90028F7D09DF8007061 +:10BF3000324607F07F00C10FF8F7F0F929430443B8 +:10BF4000F61D0D463806E6D4C8E900410120E5E7B4 +:10BF5000F8B50E460746694600F07CF900280AD07D +:10BF60009DF80040200616D5072504F07F0403E065 +:10BF7000202D01D30020F8BD6946384600F06AF94B +:10BF80000028F8D09DF8001001F07F00A84004437D +:10BF9000ED1D0806ECD401203460F8BD30B45968BA +:10BFA000114AC968914208D1D0E901120F48D0E97D +:10BFB0000134234303D00021817030BC704711F855 +:10BFC000013BA2F101021B06F9D4C0E901120121D3 +:10BFD00081700748074930BC401AC008042101EBB2 +:10BFE000004005A1FEF7B4BAB0DD060084000020D1 +:10BFF000E4EF0600BCEF060050423A20496E697437 +:10C00000207061636B65742064617461206C656E7F +:10C010003A20256400000000C26000230160C0E9EE +:10C0200001138B881A440261B1F906301A44426147 +:10C030000888002800D00120704770B545680E467A +:10C04000044660680188B14206D1807800F00F0094 +:10C05000082801D0012070BD204600F005F8606876 +:10C06000A842EED1002070BD30B541680A885AB1AF +:10C0700001F1100343600A8A42B18C780A89C4F343 +:10C080000115032D07D00BE0002030BDC268016808 +:10C09000FFF7C2FFF8E79D78C5F30115032D06D021 +:10C0A0000225B5EB141F08D14C89624309E08D8845 +:10C0B00004690022641B046103E0B5EB941F00D106 +:10C0C0000422897811F0300F02D18168491C816007 +:10C0D0009C880169214411440161B3F9062011448F +:10C0E0004161012030BD30B54168002487B08978B6 +:10C0F00001F00F02082A11D08A091ED00222B2EBE9 +:10C10000911F09D10269C1F301110229146001D004 +:10C11000032901D14069048007B030BD006905687A +:10C1200008E02C7329466846FAF7F6FE6846FFF7E2 +:10C13000DAFFAD68002DF4D1EEE7C1F3011101295A +:10C1400012D00229E6D00329E4D04268917801F0A8 +:10C150000F0107290BD0D16881B11289006907B09E +:10C16000BDE83040F8F7EEB841690C70EDE70169C1 +:10C17000D06807B0BDE8304000F02DB811890069E3 +:10C1800007B0BDE83040F8F7F6B8000010B5034B33 +:10C19000002408C080E8160010BD0000A963060056 +:10C1A00038B50D4604466946FFF7D2FE00280BD08D +:10C1B000D4E90002D4E90213C5E90002C5E902137B +:10C1C0000098814201D2002038BDA860A168081AF9 +:10C1D000A060012038BD00B50A4687B00146684618 +:10C1E000FFF71AFF002807D06846FFF77CFF684674 +:10C1F000FFF73AFF0028F7D107B000BD7FB514461E +:10C200000546A9B9124A2868904208D110E01022C8 +:10C2100069462846FFF7F2FF002807D0103C102C93 +:10C22000F5D8224669462846FFF7E8FF04B070BDFE +:10C23000A868A04201D20020F8E72B6822462846D1 +:10C2400098470028F2D0A868001BA8600120EDE7FD +:10C25000A963060010B504468068002809D0236849 +:10C26000012220469847002803D0A068401EA06005 +:10C27000012010BD38B5002439B1012912D002299E +:10C2800012D005291DD0002038BD0546012269467F +:10C290002846FFF7B3FF90B19DF800000006F5D4E3 +:10C2A000012038BD08220DE005466946FFF750FE23 +:10C2B00028B100212846009AFFF7A0FF38BD20468C +:10C2C00038BD0422BDE838400021FFF797BF0000C9 +:10C2D00010B50C46017A052908D0407A38B10848D3 +:10C2E00008A102682046FDF739FB00E01AB106A15B +:10C2F0002046FDF733FB2046BDE81040FDF76CBB40 +:10C30000F8000020257300000D0A00002DE9FC470D +:10C310000646284815460F46C0680A46012481464D +:10C320003146FAF7A1FB78B199F8550070B100F0E9 +:10C330000101CDE90075C0F3400288463346484606 +:10C3400000F09AF858B114E0172412E02B463A4650 +:10C350003146484600F032F858B9052409E0052472 +:10C3600015EA080F05D0FCF705FEB04201D1FCF735 +:10C37000BDFDDFF8448065B1012C13D008F1240025 +:10C38000FBF7EEFDFCF7A6FCC8F848602046BDE8C8 +:10C39000FC87012C02D0FCF79DFCF7E70120C8F8D0 +:10C3A0001400F3E7002239463046FAF741F8C8E9AD +:10C3B0000970E7E7840000203C0E00202DE9F041E1 +:10C3C000044690F8550094B01D461746884620B1A3 +:10C3D0001A4940F20130F9F7A0FD0126CDE90076B7 +:10C3E00043460022214602A8F9F75AFE002822D02F +:10C3F00005B3412202A91248F7F7A4FF12481349D6 +:10C40000104D401AC008042101EB004010A1EE625B +:10C41000FEF79AF800202862204601F0DFFB08B9F9 +:10C42000FCF764FD94F8920010B194F8930008B9F9 +:10C430006068A860012014B0BDE8F081ACE8060097 +:10C44000DD1000203C0E0020E4EF0600BCEF0600EB +:10C45000496E76616C69646174696E67206F6C64A3 +:10C46000206170706C69636174696F6E20696E2001 +:10C4700062616E6B20302E002DE9F04FA5B088462A +:10C48000DDE92E6B04469A461746442113A8F7F7B8 +:10C4900072FF442102A8F7F76EFFD14658EA070061 +:10C4A00004D1384940F23B30F9F737FD3648374A76 +:10C4B000801AC008022202EB0045B8F1000F1CD020 +:10C4C0005046A16D00F07AFE002857D05046FAF78A +:10C4D000B9FC18B128462E49FEF736F80121A06DA7 +:10C4E000CDE9000153460022214613A8F9F7D8FDF3 +:10C4F000002843D0A06D8144361A8FB10020CDE9C9 +:10C5000000604B464246214602A8F9F7C9FD0028C3 +:10C5100034D09DF8080018B128461E49FEF714F8DB +:10C52000BBF1000F29D01C4DB8F1000F14D05046BC +:10C53000FAF788FC18B105F11800FBF711FD41224C +:10C5400013A91648F7F7FEFE0FB1AC2000E0A520B6 +:10C55000E862A06D686301E0AA20E8626FB10F484D +:10C56000412202A98230F7F7EDFE94F8920010B153 +:10C5700094F8930008B96068E860012025B0BDE830 +:10C58000F08F0000ACE80600E4EF0600BCEF060008 +:10C5900068E8060064E706003C0E00209C100020BE +:10C5A00038B5C3880D46044633B114A0009015A2D7 +:10C5B00016A12846FDF7D2F9217A05291CD0607A08 +:10C5C00048B1A088FDF722FE164951F8202016A197 +:10C5D0002846FDF7C3F9A0880021FEF75FF803465F +:10C5E0001049207A143951F8202001B02846BDE8BE +:10C5F00030400EA1FDF7B2B938BD00001B5B306DB5 +:10C60000000000001B5B313B33316D0025734C6F24 +:10C6100067732064726F7070656420282564292513 +:10C62000730D0A00F8000020257300003C25733EBE +:10C630002025733A20000000EFF30580C005C00DEF +:10C6400001D001207047EFF3148040F30000401C3C +:10C65000704700000349884201D103487047002019 +:10C6600070470000002000409C00002010B51046DC +:10C670001A46F7F767FE002010BD2DE9F0411E684D +:10C680001C461546074621B1012918D0052923D19A +:10C6900019E000202060401C2060B0421CD801221C +:10C6A00029463846FFF7AAFD002806D015F8010BE9 +:10C6B000000601D52068EEE70120BDE8F0810820E2 +:10C6C0000246186002E004200246186029463846F7 +:10C6D000BDE8F041FFF792BD0020EEE72DE9F04103 +:10C6E0000D4680464B780A78046947484749401A06 +:10C6F000C708042000EB074045A1FDF730FF60208C +:10C700002070287860706878A0706878012103260E +:10C7100001EB0747012802D00B286BD057E028789F +:10C720000C284ED2DFE800F0064D4D354D4D3B60F4 +:10C730004D0609242879E07062E0E11C686801F088 +:10C7400030F9C01CC6B2A119A86801F02AF930441A +:10C75000C6B2A119E86801F024F93044C6B2A119A3 +:10C76000286901F01EF93044C6B2A119686924E0B5 +:10C770002879E070211DA86801F013F9001DC6B2E8 +:10C78000A119E86801F00DF93044C6B2A119286971 +:10C7900013E0E11C686801F004F9C01C0AE0E11C28 +:10C7A000E86801F0FEF8C01CC6B2A119686801F083 +:10C7B000F8F83044C6B2A119A86801F0F2F8304484 +:10C7C000C6B2182E03D938461AA1FDF7BDFED8F817 +:10C7D0000420314620469047002813D03846BDE853 +:10C7E000F0411DA1FDF7B0BEA988E170090A2171D1 +:10C7F0000526ECE7FAF71EF9E0700020FAF722F9B7 +:10C800000426E4E7BDE8F0811CF00600BCEF06005A +:10C8100053656E64696E6720526573706F6E7365E1 +:10C820003A205B3078253031782C20307825303133 +:10C83000785D00004D657373616765206973206CD6 +:10C840006172676572207468616E206578706563D7 +:10C850007465642E000000004661696C6564207494 +:10C860006F2073656E642064617461206F766572F9 +:10C870002073657269616C20696E746572666163AC +:10C88000652100000846704708B50A4601466B4618 +:10C89000044800F068FC009A03480249D2B2FEF74F +:10C8A00077FA08BD080700206C0000201FB501239F +:10C8B0008DF80030CDE90121D0E90012684690479B +:10C8C0001FBD00002DE9F047FCF754FBDFF8C480E2 +:10C8D000D8F83020D8F8347000EB020AB81A411E9C +:10C8E000C1F30B01401A00F6FF792B492B48D8F809 +:10C8F0004860081AC508042000EB0540044628A13A +:10C90000FDF722FE42F204002F4A8159012000EB7C +:10C910000545914206D028462CA1FDF715FE0320BF +:10C92000BDE8F087D8F830000644B84205D120466B +:10C9300033A1FDF709FE0020F2E7C0B906F500506B +:10C940000178142901D9416900E000213148B1FB87 +:10C95000F0F34FF440510A78142A01D9496900E0F4 +:10C960000021B1FBF0F220462BA1FDF7F8FD0823D2 +:10C970004A4631465046FAF7B1F8040005D0284639 +:10C9800030A1FDF7E1FD2046CAE7BDE8F0470020F1 +:10C99000FCF79CBA3C0E002014F00600BCEF060029 +:10C9A000456E746572206E72665F626F6F746C6F35 +:10C9B000616465725F6466755F73645F636F6E74F4 +:10C9C000696E756500000000DBE5B151536F75724B +:10C9D0006365206164647265737320646F6573209E +:10C9E0006E6F7420636F6E7461696E206120766172 +:10C9F0006C696420536F66744465766963652E00C4 +:10CA0000534420616C726561647920636F7069655D +:10CA10006400000040420F005570646174696E67E5 +:10CA20002053442E204F6C64205344207665723A84 +:10CA30002025642C204E6577207665723A20256487 +:10CA4000000000004661696C656420746F20636FAC +:10CA50007079206669726D776172652E0000000042 +:10CA600070B50F480F49401AC408042000EB044079 +:10CA70000DA1FDF769FDFFF725FF05004FF001004F +:10CA800000EB044402D020460FA105E0F9F750FA6C +:10CA9000050004D0204612A1FDF756FD284670BDC2 +:10CAA00014F00600BCEF0600456E746572206E72CD +:10CAB000665F6466755F73645F626C5F636F6E74FC +:10CAC000696E75650000000053442B424C3A2053B8 +:10CAD0004420636F7079206661696C6564000000B2 +:10CAE00053442B424C3A20424C20636F70792066AD +:10CAF00061696C6564000000F0B5054600200346DE +:10CB00004FF440540C4E4FF6FE7712E0D4F804C0B8 +:10CB1000B44505D155F823C0B4F80CE0F44504D071 +:10CB20002AB155F823C0BC4501D10120F0BD5B1CE2 +:10CB3000DBB28B42EAD3F0BDDBE5B15110B50400A6 +:10CB400003D119492D20F9F7E8F94FF4405017495E +:10CB5000406888421FD1218A59B1626904F11400EA +:10CB6000002A94F8552008D0042A04D00022C9B223 +:10CB70000BE0002010BD0122F9E712B1012A08D113 +:10CB8000F7E7012905D9C9B20022BDE81040FFF737 +:10CB9000B3BF012010BD208A10B160690028E8D120 +:10CBA00020780028F5D110BDF4E80600DBE5B1518E +:10CBB0002DE9F0411400884618D000250E4F0326B9 +:10CBC00008EB050122460020F8F77CFC0544241AF6 +:10CBD00040B93878002809D008494FF47A4088478E +:10CBE000761E05D001203870002CE9D1BDE8F08117 +:10CBF00000203870FAE70000BC000020F1E10600D8 +:10CC00002DE9F0410E46074613481449144D401AC9 +:10CC1000C408032000EB044012A12A68FDF798FC29 +:10CC20003046F9F723FC20B919494FF4AE70F9F7F3 +:10CC300074F9184B3A463146286800F053F8020060 +:10CC400007D0012000EB0440BDE8F04112A1FDF740 +:10CC50007FBCBDE8F0810000DCEF0600BCEF060001 +:10CC6000800000204261636B696E672075702073DD +:10CC7000657474696E6773207061676520746F20D6 +:10CC80006164647265737320307825782E0000002B +:10CC900068E60600BC0A0020436F756C64206E6F66 +:10CCA0007420706572666F726D206261636B75705F +:10CCB000206F6620626F6F746C6F616465722073A1 +:10CCC000657474696E677321204572726F723A20C1 +:10CCD000307825780000000000225821001DF9F767 +:10CCE000A7BB00002DE9F04715464FF460771E46BC +:10CCF000894680463A46F7F750FB224A224B0421E8 +:10CD0000D21AD20801EB02440028204617D01FA1F6 +:10CD1000FDF71AFC2046424621A1FDF719FC00222E +:10CD200001214046FBF79AFB174A164B01219A1A3C +:10CD3000D20801EB024458B1204621A11DE0294947 +:10CD4000FDF702FC0DB10020A8470020BDE8F087E8 +:10CD500026B9254940F23710F9F7DFF83A46494637 +:10CD60003046F7F7EFFA2B463A4631464046FBF796 +:10CD70000DFC0028EAD020461CA1FDF7E5FB0320AE +:10CD8000E4E70000DCEF0600BCEF060057726974B0 +:10CD9000696E672073657474696E67732E2E2E003A +:10CDA00045726173696E67206F6C6420736574747B +:10CDB000696E67732061743A2030782530387800C6 +:10CDC000436F756C64206E6F7420657261736520AB +:10CDD0007468652073657474696E67732070616729 +:10CDE000652100001CE6060068E60600436F756CCE +:10CDF00064206E6F74207772697465207468652092 +:10CE00004446552073657474696E6773207061675A +:10CE10006521000070B516460D46040007D035B1F7 +:10CE2000206C802200213828225403D307E00E20F2 +:10CE300070BD2154401C3828FBD30BE02154401C0A +:10CE40004028FBD32146084600F096F838212046BA +:10CE5000F7F791FA216CD4E912304A0FC90038343F +:10CE600059185041C4E90410227CE2710A0A42EACE +:10CE70000062A2710A0C42EA00426271020242EAB6 +:10CE8000116020716069E070010AA170010C61708D +:10CE9000000E04F838092146084600F06DF84FF0FE +:10CEA0000002EEB1E06ED100C840A854A36ECB40A2 +:10CEB000A8180371636ECB400372236ECB400373DB +:10CEC000E36DCB400374A36DCB400375636DCB4022 +:10CED0000376236DCB40521C0377042AE2D31FE074 +:10CEE00018235042216D03EBC000C140A954666D68 +:10CEF000C640A9180E71A66DC6400E72E66DC640FA +:10CF00000E73266EC6400E74666EC6400E75A66E13 +:10CF1000C6400E76E66EC640521C0E77042AE0D359 +:10CF2000002070BDA8B100210164C0E912110A49B6 +:10CF300001650A4941650A4981650A49C1650A498D +:10CF400001660A4941660A4981660A49C1660020AC +:10CF500070470E207047000067E6096A85AE67BB20 +:10CF600072F36E3C3AF54FA57F520E518C68059BCB +:10CF7000ABD9831F19CDE05B2DE9F04FC8B000227B +:10CF800013466F46CC181B1D2568E4782DBA25F092 +:10CF9000FF05254347F82250521C102AF2D31BE00C +:10CFA00007EB820151F8083C4FEA734484EAF344EA +:10CFB00084EA932451F83C3C4FEAF31585EAB345E3 +:10CFC00085EAD303234451F81C4C51F8401C2144FA +:10CFD000194447F82210521C402AE1D3036D4793AD +:10CFE000416D4691846D4594C26D44929246026EA5 +:10CFF0004392456E4295A946856E4195C66E409610 +:10D00000B34600264FEAB21787EAF22787EA726C26 +:10D0100002EA090725EA020887EA0807BC44204F0C +:10D0200057F8268008EB0B07BC445DF82670AB462A +:10D030000CEB070E4FEAB30787EA733787EAB35C56 +:10D0400081EA04074D4601EA040891461F400AEBB5 +:10D050000E02A24687EA08070C46BC441946761C15 +:10D060000EEB0C03402ECDD3479E33440365469B05 +:10D070001944416545992144816544995144C165EC +:10D0800043991144016642994944416641992944B2 +:10D09000816640995944C16648B0BDE8F08F0000F0 +:10D0A000E0E006002DE9F04116460F46040004D0EA +:10D0B00006B317B10025A8461AE00E20BDE8F0819E +:10D0C000216C785D6054206C401C206440280ED197 +:10D0D00021460846FFF750FFD4E912014FF40072D1 +:10D0E000801841F10001C4F84080C4E912016D1CB0 +:10D0F000B542E5D30020E1E730B528B1D0E90223FD +:10D100009A4203D1042030BD0E2030BD04782CB1EA +:10D110000023012C10D0022C23D11EE0C02906D000 +:10D12000DB2906D04468531C8360A15419E0002019 +:10D1300030BD0121017014E0DC2905D0DD2905D0C6 +:10D14000022101700B2030BDC02400E0DB244568C3 +:10D15000511C8160AC54037003E0C02901D10370FD +:10D160008360112030BDF0B528B121B11BB100247E +:10D17000DB261C6019E00E20F0BD0F5DC02F02D031 +:10D18000DB2F0BD105E01D686F1C1F604655DC27A7 +:10D1900004E01D686F1C1F604655DD271D68641C78 +:10D1A00005F1010CC3F800C047559442E5D3196856 +:10D1B000C0244A1C1A6044540020F0BD2DE9F041FF +:10D1C00000F500521A481B4F0123C01B174CC00822 +:10D1D000556803EB0040A54201D017491FE04D1EE2 +:10D1E000C5F30B05491B41F6FF75966829448E422D +:10D1F00001D2124913E04FF440514D68A54211D1BC +:10D200000C78102C01D9096900E000211478102C49 +:10D2100001D9126900E00022914203D00849FDF7CC +:10D2200093F900231846BDE8F0810000DBE5B15119 +:10D23000E4EF0600BCEF060014E80600A8E70600CD +:10D24000F4E606002DE9F0471E469246894605465B +:10D25000040C089FF9F79EFB8046FDF715FAA042E3 +:10D2600004D80FA140F28310F8F757FE44EA0841B2 +:10D27000741C1B483C4000EB84023E4000EB8600DF +:10D28000D160C16865F3C5016AF3891169F39F2113 +:10D2900021F00301491C21F00401C160BDE8F087C1 +:10D2A0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6383 +:10D2B0006F6D706F6E656E74735C6C6962726172B3 +:10D2C0006965735C6C6F675C7372635C6E72665FDA +:10D2D0006C6F675F66726F6E74656E642E630000BC +:10D2E0006C1700202DE9FC478146174817468846F1 +:10D2F00005681C46012201A91846F9F70DF8134EDE +:10D30000B8B101998B1C00200AE000BF57F820201B +:10D3100003EA050C06EB8C0C401C5B1CCCF80C20C3 +:10D32000A042F3D30B462246414648460095FFF7FC +:10D3300089FF307802E000BFFCF796FF0028FBD1A0 +:10D34000F9F701FEBDE8FC87C80000206C1700203B +:10D350002DE9FF41324800F15C01826B6846FEF71F +:10D3600015FF304F9DE8070007F11C032F4C83E8A1 +:10D37000070019462C48C8600020A0706060A060BB +:10D380004FF44771A7F54070F6F7F5FFA7F5407227 +:10D39000274902F54770FEF768FC2649264A891A94 +:10D3A000C908012202EB014578B1A07838B1A7F590 +:10D3B000407090F86C110029017826D041B12846C0 +:10D3C0001EA100BFFDF7C0F828E0284623A1F9E719 +:10D3D00090F8720110B3D4E901122C4E6846FEF7A2 +:10D3E000D5FE9DE80F001C3787E80F004FF4B2719F +:10D3F0003046F6F7C0FF3246254906F5D470FEF7F1 +:10D4000034FC30B9284623A1DCE739B1807928B152 +:10D410002F4E0120E66004B0BDE8F0810020FAE75D +:10D420003C0E0020BC1400209DBF0600840000209C +:10D43000D0DE0600E4EF0600BCEF060048616E6433 +:10D440006C65723A20496E76616C696420696E6918 +:10D450007420636F6D6D616E642E000048616E64B0 +:10D460006C65723A20496E76616C69642070726FE7 +:10D47000746F636F6C20627566666572206D5F7095 +:10D48000625F73747265616D0000000030130020EC +:10D49000B0DD060048616E646C65723A20496E76B4 +:10D4A000616C69642070726F746F636F6C20627559 +:10D4B00066666572206D5F70625F73747265616D20 +:10D4C0002028696E697420636F6D6D616E64290038 +:10D4D000C41100202DE9F0410F4605462348244998 +:10D4E0002A46401AC008042101EB004021A1FDF7A3 +:10D4F0002FF8B7F1807F03D324496920F8F70DFD99 +:10D50000962F03D221496A20F8F707FD6FF07F407C +:10D51000874200D238461E4ED6F804150144381A08 +:10D5200021F07F44411E6860952902D29630963CD6 +:10D5300068602D7B042D03D314495120F8F7EDFCCE +:10D5400006EB8500C0F8404512494FF4F860884763 +:10D550004FF4A07000EB85013046FDF735FA4FF42B +:10D560008030A840C6F80403BDE8F08114F006003E +:10D57000BCEF060074696D65725F61637469766102 +:10D5800074652028307825782900000018E306000B +:10D590000040024021DD060070B5174E30780028AB +:10D5A00029D1164800680125C0F3004008B9144885 +:10D5B0000560144C4FF480712046FDF705FA4FF4D6 +:10D5C000A0712046FDF700FA4FF4A2712046FDF746 +:10D5D000FBF90D49A02081F800040B4910202039E7 +:10D5E000C1F800010020C4F80805A56025600220EC +:10D5F000C4F80403357070BD10000020180400400A +:10D60000080000400040024024E000E070B51546EC +:10D610000E460446FFF7C0FF314620462560BDE8B0 +:10D620007040FFF757BF000010B5044609480A498B +:10D630002246401AC008042101EB004007A1FCF774 +:10D6400087FF217B4FF4803088400949C1F80803E7 +:10D6500010BD000014F00600BCEF060074696D6593 +:10D66000725F73746F70202830782578290000006D +:10D67000004002401FB500228DF800200291816811 +:10D6800001914261D0E90012684690471FBD000039 +:10D6900010B5074C617841B10649884205D004F1C4 +:10D6A0000C00FDF713FC00206070002010BD00008E +:10D6B00060000020A4EF06002DE9F041384C05463B +:10D6C0000020617888B0002966D136483649401A72 +:10D6D000C108042000EB0140064634A1FCF734FFEA +:10D6E00039486560F9F760FE002855D13648F9F7EA +:10D6F000B5FDC11C35480022344DC0E9011283211B +:10D70000C1600270183D324868603248C5E90201C4 +:10D7100005F1410028613048686120222F496846A0 +:10D72000F6F710FE062000900820019007200290D6 +:10D7300005204FF0010803908DF81480284A6946AF +:10D7400004F108000495FCF7E5F8070016481549B0 +:10D75000A1EB00004FEAD000414601EB004504D0A8 +:10D76000284620A1FCF7F0FE15E00D49012201F149 +:10D770000800FCF7EFF8070003D0284620A1FCF7CB +:10D78000E3FE304624A1FCF7DFFE84F801806168E7 +:10D7900009B101208847384608B0BDE8F081000093 +:10D7A00060000020D4EF0600BCEF060073657269CC +:10D7B000616C5F6466755F7472616E73706F7274B2 +:10D7C0005F696E697428290024F00600F8060020BD +:10D7D00089C8060089BA0600A4EF060050DF0600DB +:10D7E00041D806004661696C656420696E69746998 +:10D7F000616C697A696E672075617274000000005F +:10D800004661696C656420696E697469616C697AE6 +:10D81000696E67207278000073657269616C5F647D +:10D8200066755F7472616E73706F72745F696E6932 +:10D8300074282920636F6D706C6574656400000046 +:10D840000B460178012904D0022907D1C068F8F7F6 +:10D850007BB9027A41681846FEF7BCB870470000F1 +:10D860001FB50A4601788DF8001041680191017AD0 +:10D870008DF80810C0680390044850F82210001F6B +:10D8800050F82220684690471FBD000098000020F5 +:10D890002DE9FF410C464FF4927705463946FDF7D6 +:10D8A000D7F80026B8B139462846FDF7D6F8022049 +:10D8B0008DF80000D5F88004C5F880040390D5F8F1 +:10D8C0003C050290E0680190A661E661D4E900128F +:10D8D0006846904723E04FF4887739462846FDF79D +:10D8E000B7F8E0B139462846FDF7B7F8D5F83C154A +:10D8F000A069884213D1E06960B1E268D5F80002FE +:10D9000020F02000C5F80002E069A0612069E6610E +:10D91000E06001E0A661E2682046FEF7C7FF4FF431 +:10D92000A27739462846FDF793F868B1394628466C +:10D93000FDF793F8A06938B1A661E661D5F83C150A +:10D940002046E268FEF7B2FF4FF490763146284653 +:10D95000FDF77EF860B131462846FDF77EF80120DC +:10D96000E860606920B1D5F84C152046FFF782FECB +:10D970004FF4AC7631462846FDF76AF800280ED001 +:10D9800031462846FDF769F86069002807D0D5F8C8 +:10D990004C1504B02046BDE8F041FFF76BBEBDE872 +:10D9A000FF810870020A4A70020C8A70000EC8706B +:10D9B0000420704710B50248F9F71CFC002010BD88 +:10D9C000B80000202DE9F05F8346DDE90A4A994658 +:10D9D00090460D460846012703E000BFB0FBF8F073 +:10D9E0007F1C4045FAD2B94500D94F465FEACA705C +:10D9F00012D18CB15FEA8A7002D5B9F1000F01D063 +:10DA0000202607E0302605E031465846641EF8F728 +:10DA1000D9FC0CB1A742F7D35FF00106B9F1010FB1 +:10DA200002D9A9F1010903E0B5FBF6F0404502D3A4 +:10DA300006FB08F6F2E7DFF83C9000BFB5FBF6F016 +:10DA400000FB165519F800105846F8F7BBFCB6FB5A +:10DA5000F8F6002EF2D15FEACA7009D0002C07D088 +:10DA6000A74205D220215846641EF8F7ABFCF5E723 +:10DA7000BDE8F09F78DF060070B515460E4601241C +:10DA800000F0ACF8034600210A463046FAF772FA75 +:10DA90000C490D4A891ACE0838B1012000EB064026 +:10DAA0000AA1FCF751FD042409E0FAF749FA0246FD +:10DAB0002860042000EB06400BA1FCF749FD20463E +:10DAC00070BD0000E4EF0600BCEF060043616E2766 +:10DAD000742066696E6420726F6F6D20666F7220AD +:10DAE00075706461746500005772697465206164C3 +:10DAF00064726573732073657420746F20307825A9 +:10DB0000303878002DE9F0411C4B1D4F0F260024C2 +:10DB10000125DB1B90F85520DB0805EB03450AB116 +:10DB2000042A03D190F86430012B06D0D30707D024 +:10DB300090F85630012B02D002E0846E0DE0846D27 +:10DB400092070AD590F85C20012A06D1026E0D4892 +:10DB5000C0F5FC239A4204D814443CB101260C6061 +:10DB600008E0284608A1FCF7FAFC042628460EA186 +:10DB7000FCF7EAFC3046BDE8F0810000E4EF060067 +:10DB8000BCEF060000400600424C2073697A652015 +:10DB900028256429206F766572206C696D69742070 +:10DBA0002825642900000000496E697420706163B3 +:10DBB0006B657420646F6573206E6F7420636F6E85 +:10DBC0007461696E2076616C6964206669726D7734 +:10DBD0006172652073697A6500000000018A19B1DD +:10DBE000406908B1012070470020704730B10068DB +:10DBF0000549884205D048F20250704748F201506A +:10DC000070470020704700006E52464870B5FCF720 +:10DC10002BFF002811D00020084A094B094C012194 +:10DC2000166801FA00F52E4203D004EB8005C5F812 +:10DC30000036401CC0B20728F2D370BD0805014071 +:10DC40003546526E000001400748084910B5401A99 +:10DC5000C008032101EB004005A1FCF775FCBDE8FD +:10DC60001040FFF7D3BF0000BCEF0600BCEF06007A +:10DC7000496E7465726E616C2066656564000000B3 +:10DC8000002070472DE9FC4180461C4617460E4691 +:10DC90000C48089DF9F7B7FA10B11120BDE8FC81D6 +:10DCA000A20839463046FCF75FFE0648F9F7A2FAAB +:10DCB00033463A4601214046CDE90045F8F798FE43 +:10DCC0000020EBE7B800002084B7AC5DBA001CCDA3 +:10DCD000BE4928F7CBD974445DA08494DB12A36DB0 +:10DCE000B24A17A13D05B938DBA4214542101BBF3C +:10DCF000EB09B53367AB91146DF5F17DD69D1788AF +:10DD000020DFCFEC866407C10000000000000000A7 +:10DD10000338FDD87047111213140D0E0F100000B8 +:10DD20000338FDD87047000045AA06004BAA06003C +:10DD300021AA06002000000078000000000000007A +:10DD40004800280000204000454706000000000071 +:10DD500001000100000000000100000000000000C0 +:10DD60000200050001000000220000000000000089 +:10DD700000000000000000000000000000000000A3 +:10DD80000100010000000000010000000000000090 +:10DD90000200050001000000420000000000000039 +:10DDA0000000000000000000000000000000000073 +:10DDB000010011000400FCFF04000000000000004E +:10DDC000020011000400FCFF04000000000000003D +:10DDD000030021000400FCFF04001000000000000C +:10DDE000040011000100FFFF01000000000000001E +:10DDF000050011000200FEFF04000000000000000A +:10DE0000060011000400FCFF0400000000000000F8 +:10DE1000070011000400FCFF0400000000000000E7 +:10DE2000080017000200FEFF2400000050DD06007D +:10DE3000090010000100FFFF010000004CDD06009A +:10DE40000A0027000200FEFF4400030080DD0600F8 +:10DE500000000000000000000000000000000000C2 +:10DE6000010011000100FFFF0100000000000000A0 +:10DE7000020017000200FEFF64010000B0DD060092 +:10DE80000000000000000000000000000000000092 +:10DE900001000700000000006801000060DE0600CD +:10DEA000020001000000000001000000000000006E +:10DEB0000300050001000000420000000000000017 +:10DEC0000000000000000000000000000000000052 +:10DED000010017000400FCFF6801000060DE06007E +:10DEE000020017000400FCFFAC01000090DE0600F9 +:10DEF0000000000000000000000000000000000022 +:10DF0000020000000000000000000000000000000F +:10DF100006000000000000000000000000000000FB +:10DF200004000000000000000000000000000000ED +:10DF300000000000000000000001000000000000E0 +:10DF400000000000000000000000000000000000D1 +:10DF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10DF600000000000000000000000D60106000000D4 +:10DF70000000000059AB06003031323334353637FB +:10DF80003839414243444546001000000400000077 +:10DF9000010000008D6C0600B5D906006DC60600B4 +:10DFA00085DC0600A969060085C8060081DC06003C +:10DFB000356E0600556E6B6E6F776E206572726FF0 +:10DFC0007220636F6465000000000000A4EC06008E +:10DFD0000100000064EB06000200000058E90600A2 +:10DFE00003000000D8EB0600040000002CEC060043 +:10DFF000050000000CEB060006000000A8EA060081 +:10E000000700000014EC06000800000020EB0600EA +:10E010000900000084EB06000A0000008CEC0600FA +:10E020000B00000040E906000C00000038EB060081 +:10E030000D000000DCEC06000E00000004EC060001 +:10E040000F00000040EC06001000000074EC060019 +:10E0500011000000F0EC060080000000C0EA06009D +:10E0600081000000FCE9060082000000BCE9060017 +:10E07000830000009CE9060084000000D8E9060047 +:10E0800085000000E4EA060086000000ECEB0600D4 +:10E090009000000088EA0600910000007CE906007C +:10E0A000920000004CEB06000082000054EC0600D9 +:10E0B00001820000A0EB060002820000BCEB06001B +:10E0C0000084000018EA060001840000B0EC06009D +:10E0D0000284000060EA0600038400003CEA0600B7 +:10E0E000982F8A4291443771CFFBC0B5A5DBB5E9C3 +:10E0F0005BC25639F111F159A4823F92D55E1CAB37 +:10E1000098AA07D8015B8312BE853124C37D0C55C4 +:10E11000745DBE72FEB1DE80A706DC9B74F19BC10C +:10E12000C1699BE48647BEEFC69DC10FCCA10C24FC +:10E130006F2CE92DAA84744ADCA9B05CDA88F976E0 +:10E1400052513E986DC631A8C82703B0C77F59BF4A +:10E15000F30BE0C64791A7D55163CA066729291476 +:10E16000850AB72738211B2EFC6D2C4D130D385313 +:10E1700054730A65BB0A6A762EC9C281852C7292D5 +:10E18000A1E8BFA24B661AA8708B4BC2A3516CC703 +:10E1900019E892D1240699D685350EF470A06A103C +:10E1A00016C1A419086C371E4C774827B5BCB0348B +:10E1B000B30C1C394AAAD84E4FCA9C5BF36F2E6829 +:10E1C000EE828F746F63A5781478C8840802C78CB8 +:10E1D000FAFFBE90EB6C50A4F7A3F9BEF27871C6BB +:10E1E0002DA106002BA1060025A1060000000000BD +:10E1F0000338FDD870470000D41600207F000000CF +:10E20000541700200000000000000000E96806002C +:10E2100000000000000000000000000011BC06002B +:10E22000B9BB060061BB0600D7BA0600DDBA06001E +:10E2300095BA0600E3BA060021BB06000000000004 +:10E240000040404040404040404041414141414009 +:10E2500040404040404040404040404040404040BE +:10E26000400502020202020202020202020202024D +:10E270000220202020202020202020020202020252 +:10E2800002029090909090901010101010101010AA +:10E2900010101010101010101010101002020202B6 +:10E2A00002028888888888880808080808080808FA +:10E2B00008080808080808080808080802020202F6 +:10E2C0004000000041E206002E2E5C2E2E5C2E2E19 +:10E2D0005C2E2E5C2E2E5C636F6D706F6E656E749F +:10E2E000735C6C69627261726965735C626F6F7492 +:10E2F0006C6F616465725C6E72665F626F6F746C86 +:10E300006F616465725F6170705F73746172745F76 +:10E3100066696E616C2E63002E2E5C2E2E5C2E2E96 +:10E320005C2E2E5C2E2E5C636F6D706F6E656E744E +:10E33000735C6C69627261726965735C626F6F7441 +:10E340006C6F616465725C6E72665F626F6F746C35 +:10E350006F616465725F6466755F74696D65727321 +:10E360002E6300002E2E5C2E2E5C2E2E5C2E2E5C3C +:10E370002E2E5C636F6D706F6E656E74735C6C696E +:10E38000627261726965735C626F6F746C6F6164F5 +:10E3900065725C6E72665F626F6F746C6F616465EC +:10E3A000725F66775F61637469766174696F6E2E00 +:10E3B0006300000043524320636F6D707574617495 +:10E3C000696F6E206661696C656420666F72206398 +:10E3D0006F70696564206170703A207372632063A6 +:10E3E00072633A203078253038782C20726573209B +:10E3F0006372633A20307825303878004120536FBB +:10E40000667444657669636520686173206A757314 +:10E4100074206265656E20616374697661746564F9 +:10E420002E2049742773206C696B656C79207468A1 +:10E43000617420616E206170706C69636174696FD2 +:10E440006E2077696C6C20636F6D6520696D6D65FA +:10E4500064696174656C79006E72665F6673746F6F +:10E46000726167655F777269746528616464723D83 +:10E4700025702C207372633D25702C206C656E3DD9 +:10E480002564206279746573292C20717565756522 +:10E490002075736167653A202564000043726561E9 +:10E4A00074696E6720746865206F626A65637420A2 +:10E4B000776974682073697A6520307825303878F8 +:10E4C00020776F756C64206F766572666C6F77204D +:10E4D0006669726D776172652073697A652E204F67 +:10E4E000666673657420697320307825303878202B +:10E4F000616E64206669726D776172652073697AF6 +:10E5000065206973203078253038782E00000000AF +:10E510002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6300 +:10E520006F6D706F6E656E74735C6C696272617230 +:10E530006965735C626F6F746C6F616465725C6453 +:10E5400066755C6E72665F6466755F7265715F6842 +:10E55000616E646C65722E63000000005265736525 +:10E560007474696E6720626F6F746C6F616465723A +:10E570002073657474696E67732073696E636520B8 +:10E580006E6569746865722074686520736574745B +:10E59000696E67732070616765206E6F72207468A2 +:10E5A00065206261636B7570206172652076616CB5 +:10E5B00069642028435243206572726F72292E00CD +:10E5C000526573746F72696E672073657474696ED7 +:10E5D00067732066726F6D206261636B7570207364 +:10E5E000696E6365207468652073657474696E670D +:10E5F00073207061676520636F6E74656E7473203D +:10E6000061726520696E76616C69642028435243AB +:10E61000206572726F72292E0000000044657374C9 +:10E62000696E6174696F6E2073657474696E677367 +:10E6300020617265206964656E746963616C207421 +:10E640006F20736F757263652C2077726974652013 +:10E650006E6F74206E65656465642E20536B6970FF +:10E6600070696E672E0000002E2E5C2E2E5C2E2E02 +:10E670005C2E2E5C2E2E5C636F6D706F6E656E74FB +:10E68000735C6C69627261726965735C626F6F74EE +:10E690006C6F616465725C6466755C6E72665F6403 +:10E6A00066755F73657474696E67732E630000002E +:10E6B0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C635F +:10E6C0006F6D706F6E656E74735C6C69627261728F +:10E6D0006965735C626F6F746C6F616465725C64B2 +:10E6E00066755C6E72665F6466755F7574696C737F +:10E6F0002E630000546865206E657720536F667442 +:10E70000446576696365206973206F6620612064C3 +:10E710006966666572656E742066616D696C7920E4 +:10E720007468616E207468652070726573656E74BC +:10E7300020536F66744465766963652E20436F6D60 +:10E740007061746962696C6974792063616E6E6F5F +:10E75000742062652067756172616E746565642EF0 +:10E7600000000000426F6F742076616C6964617410 +:10E77000696F6E206F6620626F6F746C6F61646585 +:10E7800072206973206E6F7420737570706F72746D +:10E79000656420616E642077696C6C206265206915 +:10E7A000676E6F7265642E0054686520536F6674DF +:10E7B0004465766963652073697A6520696E2074A3 +:10E7C000686520696E666F20737472756374206962 +:10E7D0007320746F6F20736D616C6C20636F6D704C +:10E7E0006172656420776974682074686520736954 +:10E7F0007A65207265706F7274656420696E20742A +:10E80000686520696E697420636F6D6D616E642E3A +:10E810000000000054686520536F66744465766993 +:10E82000636520646F6573206E6F7420636F6E7410 +:10E8300061696E20746865206D61676963206E751B +:10E840006D626572206964656E74696679696E6768 +:10E85000206974206173206120536F66744465766B +:10E860006963652E00000000496E76616C69646121 +:10E8700074696E672061707020626563617573658D +:10E8800020697420697320696E636F6D70617469AB +:10E89000626C6520776974682074686520536F66C0 +:10E8A000744465766963652E000000002E2E5C2E90 +:10E8B0002E5C2E2E5C2E2E5C2E2E5C636F6D706F88 +:10E8C0006E656E74735C6C69627261726965735CAB +:10E8D000626F6F746C6F616465725C6466755C6EA8 +:10E8E00072665F6466755F76616C69646174696F96 +:10E8F0006E2E63002E2E5C2E2E5C2E2E5C2E2E5C39 +:10E900002E2E5C636F6D706F6E656E74735C6C69D8 +:10E91000627261726965735C626F6F746C6F61645F +:10E9200065725C6466755C6E72665F6466755F7660 +:10E9300065725F76616C69646174696F6E2E6300E5 +:10E940004E52465F4552524F525F494E56414C49D6 +:10E95000445F4441544100004E52465F4552524F7D +:10E96000525F534F46544445564943455F4E4F54BA +:10E970005F454E41424C4544000000004E52465F08 +:10E980004552524F525F464541545552455F4E4F96 +:10E99000545F454E41424C45440000004E52465F94 +:10E9A0004552524F525F4D555445585F554E4C4F4E +:10E9B000434B5F4641494C45440000004E52465F80 +:10E9C0004552524F525F4D555445585F4C4F434B43 +:10E9D0005F4641494C4544004E52465F4552524FB6 +:10E9E000525F4D555445585F434F4E445F494E4921 +:10E9F000545F4641494C4544000000004E52465F7A +:10EA00004552524F525F4D555445585F494E4954F7 +:10EA10005F4641494C4544004E52465F4552524F75 +:10EA2000525F424C455F495053505F52585F504BC4 +:10EA3000545F5452554E4341544544004E52465F34 +:10EA40004552524F525F424C455F495053505F50C0 +:10EA50004545525F52454A45435445440000000035 +:10EA60004E52465F4552524F525F424C455F4950AD +:10EA700053505F4C494E4B5F444953434F4E4E45B4 +:10EA800043544544000000004E52465F4552524FE9 +:10EA9000525F4150495F4E4F545F494D504C454D78 +:10EAA000454E5445440000004E52465F4552524F79 +:10EAB000525F4E4F545F535550504F52544544008F +:10EAC0004E52465F4552524F525F4D4F44554C4552 +:10EAD0005F4E4F545F494E495449414C495A454451 +:10EAE000000000004E52465F4552524F525F4D4F5C +:10EAF00044554C455F414C52454144595F494E494C +:10EB00005449414C495A4544000000004E52465F6A +:10EB10004552524F525F4E4F545F464F554E440040 +:10EB20004E52465F4552524F525F494E56414C49F4 +:10EB3000445F5354415445004E52465F4552524F34 +:10EB4000525F444154415F53495A45004E52465F1B +:10EB50004552524F525F494F5F50454E44494E47D0 +:10EB6000000000004E52465F4552524F525F5356CE +:10EB7000435F48414E444C45525F4D495353494EC3 +:10EB8000470000004E52465F4552524F525F494E79 +:10EB900056414C49445F4C454E47544800000000E4 +:10EBA0004E52465F4552524F525F4452565F545741 +:10EBB000495F4552525F414E41434B004E52465FC2 +:10EBC0004552524F525F4452565F5457495F455227 +:10EBD000525F444E41434B004E52465F4552524FA6 +:10EBE000525F494E5445524E414C00004E52465FD2 +:10EBF0004552524F525F53544F524147455F46551D +:10EC00004C4C00004E52465F4552524F525F4E559B +:10EC10004C4C00004E52465F4552524F525F494E97 +:10EC200056414C49445F504152414D004E52465F5F +:10EC30004552524F525F4E4F5F4D454D0000000010 +:10EC40004E52465F4552524F525F464F52424944E0 +:10EC500044454E004E52465F4552524F525F445219 +:10EC6000565F5457495F4552525F4F564552525571 +:10EC70004E0000004E52465F4552524F525F494E81 +:10EC800056414C49445F4144445200004E52465F55 +:10EC90004552524F525F494E56414C49445F464C93 +:10ECA000414753004E52465F53554343455353002B +:10ECB0004E52465F4552524F525F424C455F49505B +:10ECC00053505F4348414E4E454C5F414C52454185 +:10ECD00044595F4558495354530000004E52465F13 +:10ECE0004552524F525F54494D454F555400000014 +:10ECF0004E52465F4552524F525F425553590000A3 +:10ED00002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6308 +:10ED10006F6D706F6E656E74735C6C696272617238 +:10ED20006965735C6C6F675C7372635C6E72665F5F +:10ED30006C6F675F64656661756C745F6261636B5D +:10ED4000656E64732E6300007761726E696E670092 +:10ED500064656275670000001B5B313B33306D00FA +:10ED60001B5B306D000000001B5B313B33316D00DD +:10ED70001B5B313B33326D001B5B313B33336D002A +:10ED80001B5B313B33346D001B5B313B33356D0016 +:10ED90001B5B313B33366D001B5B313B33376D0002 +:10EDA000696E666F000000006572726F720000008D +:10EDB0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6358 +:10EDC0006F6D706F6E656E74735C6C696272617288 +:10EDD0006965735C626F6F746C6F616465725C739C +:10EDE000657269616C5F6466755C6E72665F6466AD +:10EDF000755F73657269616C2E6300006E72665F89 +:10EE0000626F6F746C6F616465725F776474000029 +:10EE10006E72665F6466755F666C617368000000A1 +:10EE20006E72665F6466755F7265715F68616E645D +:10EE30006C6572006E72665F6466755F7365726999 +:10EE4000616C5F75617274006E72665F6466755F97 +:10EE500073657474696E6773000000006E72665F9C +:10EE60006466755F76616C69646174696F6E0000D9 +:10EE70006E72665F6466755F7665725F76616C69F7 +:10EE8000646174696F6E00005052530055415254D2 +:10EE9000450000006D656D5F6D6E677200000000DB +:10EEA0006E72665F6673746F726167650000000062 +:10EEB0007274745F6C6F675F6261636B656E640030 +:10EEC000617070006E72665F6466755F736572690B +:10EED000616C000008200001FFFFFFFFFFFFFFFF44 +:10EEE000FFFFFFFF00000000000000000000000026 +:10EEF00001000000FFFFFFFF512563FCC2CAB9F308 +:10EF0000849E17A7ADFAE6BCFFFFFFFFFFFFFFFFE0 +:10EF100000000000FFFFFFFF96C298D84539A1F41A +:10EF2000A033EB2D817D0377F240A463E5E6BCF8C6 +:10EF300047422CE1F2D1176BF551BF376840B6CB91 +:10EF4000CE5E316B5733CE2B169E0F7C4AEBE78E8D +:10EF50009B7F1AFEE242E34F4B60D2273E3CCE3B02 +:10EF6000F6B053CCB0061D65BC86987655BDEBB3A4 +:10EF7000E7933AAAD835C65AF1450600BD530600B4 +:10EF8000D55106004CF00600080000202C010000BE +:10EF9000EC430600A0F0060034010020E446000027 +:10EFA0009A590600B9D6060091D60600E0E106009F +:10EFB00000000000B0EE0600C0000020FCED0600DE +:10EFC0000000040410EE06000000040420EE060019 +:10EFD0000000040434EE06000000040448EE0600BD +:10EFE000000004045CEE06000000040470EE06005D +:10EFF0000000040488EE0600000000008CEE06000D +:10F000000000000094EE060000000000A0EE0600E4 +:10F0100000000404C0EE060000000404C4EE060074 +:10F020000000040478000020740000207700002015 +:10F030005405002084000000D4000020CC000020F3 +:10F04000D40000201416002018000000C11A20036C +:10F050003A3007011E0A2501149959021140034153 +:10F06000E0072AFF04021E0314A8ED061A48041A3A +:10F07000A0041A50041A60041A58041A68041A707A +:10F08000041A78041A80041A88041A90041A98043E +:10F09000117B90D0561B51671042101208000000DF +:020000041000EA +:081014000040060000E00700A7 +:00000001FF diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..c79818a --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x64000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x64000; +define symbol __ICFEDIT_region_ROM_end__ = 0x7dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000008; +define symbol __ICFEDIT_region_RAM_end__ = 0x2000ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x0007F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0007E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/iar/secure_bootloader_uart_mbr_pca10040_debug.ewd b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/iar/secure_bootloader_uart_mbr_pca10040_debug.ewd new file mode 100644 index 0000000..7c48726 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/iar/secure_bootloader_uart_mbr_pca10040_debug.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52832_xxaa_mbr + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/iar/secure_bootloader_uart_mbr_pca10040_debug.ewp b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/iar/secure_bootloader_uart_mbr_pca10040_debug.ewp new file mode 100644 index 0000000..9e67d5d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/iar/secure_bootloader_uart_mbr_pca10040_debug.ewp @@ -0,0 +1,1173 @@ + + + + + 2 + nrf52832_xxaa_mbr + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_uart.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\slip\slip.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52hf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_Serial_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + nRF_Segger_RTT + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_IAR.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/ses/flash_placement.xml new file mode 100644 index 0000000..371a414 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/ses/flash_placement.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/ses/secure_bootloader_uart_mbr_pca10040_debug.emProject b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/ses/secure_bootloader_uart_mbr_pca10040_debug.emProject new file mode 100644 index 0000000..f42853a --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/ses/secure_bootloader_uart_mbr_pca10040_debug.emProject @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/ses/secure_bootloader_uart_mbr_pca10040_debug.emSession b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/ses/secure_bootloader_uart_mbr_pca10040_debug.emSession new file mode 100644 index 0000000..fd0fd89 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040_uart_debug/ses/secure_bootloader_uart_mbr_pca10040_debug.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10040e.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10040e.uvoptx new file mode 100644 index 0000000..c3a7982 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10040e.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52810_xxaa_s112 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52810_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52810_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52810_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s112_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52810_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52810_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52810_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10040e.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10040e.uvprojx new file mode 100644 index 0000000..dd2186b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10040e.uvprojx @@ -0,0 +1,6703 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52810_xxaa_s112 + 0x4 + ARM-ADS + + nRF52810_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x30000) IRAM(0x20000000,0x6000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52810.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52810_xxaa_s112 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x6000 + + + 1 + 0x0 + 0x30000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x28000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200022c8 + 0x3d38 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52832 FLOAT_ABI_SOFT NRF52810_XXAA NRF52_PAN_74 NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 __STACK_SIZE=2048 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s112\headers;..\..\..\..\..\components\softdevice\s112\headers\nrf52;..\..;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10040,-DCONFIG_GPIO_AS_PINRESET,-DDEVELOP_IN_NRF52832,-DFLOAT_ABI_SOFT,-DNRF52810_XXAA,-DNRF52_PAN_74,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS112,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-D__STACK_SIZE=2048,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BLE_STACK_SUPPORT_REQD BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52832 FLOAT_ABI_SOFT NRF52810_XXAA NRF52_PAN_74 NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 __STACK_SIZE=2048 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s112\headers;..\..\..\..\..\components\softdevice\s112\headers\nrf52;..\..;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s112_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52810_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x30000) IRAM(0x20000000,0x6000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s112\hex\ + s112_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x6000 + + + 1 + 0x0 + 0x30000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x28000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200022c8 + 0x3d38 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 __STACK_SIZE=2048 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0,-D__STACK_SIZE=2048 + __HEAP_SIZE=0 __STACK_SIZE=2048 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/armgcc/Makefile new file mode 100644 index 0000000..1cc8c63 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/armgcc/Makefile @@ -0,0 +1,259 @@ +PROJECT_NAME := secure_bootloader_ble_s112_pca10040e +TARGETS := nrf52810_xxaa_s112 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52810_xxaa_s112.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52810.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52810.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/softdevice/s112/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/softdevice/s112/headers \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/soft-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52nf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10040 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEVELOP_IN_NRF52832 +CFLAGS += -DFLOAT_ABI_SOFT +CFLAGS += -DNRF52810_XXAA +CFLAGS += -DNRF52_PAN_74 +CFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS112 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=soft +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=soft +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10040 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEVELOP_IN_NRF52832 +ASMFLAGS += -DFLOAT_ABI_SOFT +ASMFLAGS += -DNRF52810_XXAA +ASMFLAGS += -DNRF52_PAN_74 +ASMFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS112 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52810_xxaa_s112: CFLAGS += -D__HEAP_SIZE=0 +nrf52810_xxaa_s112: CFLAGS += -D__STACK_SIZE=2048 +nrf52810_xxaa_s112: ASMFLAGS += -D__HEAP_SIZE=0 +nrf52810_xxaa_s112: ASMFLAGS += -D__STACK_SIZE=2048 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52810_xxaa_s112 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52810_xxaa_s112 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52810_xxaa_s112.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52810_xxaa_s112.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s112_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s112/hex/s112_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..0812816 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,150 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x28000, LENGTH = 0x6000 + RAM (rwx) : ORIGIN = 0x200022c8, LENGTH = 0x3d38 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0002E000, LENGTH = 0x1000 + bootloader_settings_page (r) : ORIGIN = 0x0002F000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/config/sdk_config.h new file mode 100644 index 0000000..adffd05 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/config/sdk_config.h @@ -0,0 +1,5344 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 16 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 8192 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 0 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/iar/secure_bootloader_ble_s112_pca10040e.ewd b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/iar/secure_bootloader_ble_s112_pca10040e.ewd new file mode 100644 index 0000000..ad4ab63 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/iar/secure_bootloader_ble_s112_pca10040e.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52810_xxaa_s112 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/iar/secure_bootloader_ble_s112_pca10040e.ewp b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/iar/secure_bootloader_ble_s112_pca10040e.ewp new file mode 100644 index 0000000..f48cb0e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/iar/secure_bootloader_ble_s112_pca10040e.ewp @@ -0,0 +1,1168 @@ + + + + + 2 + nrf52810_xxaa_s112 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52nf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52810.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52810.c + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..b91aaf4 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x28000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x28000; +define symbol __ICFEDIT_region_ROM_end__ = 0x2dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x200022c8; +define symbol __ICFEDIT_region_RAM_end__ = 0x20005fff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0002E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; +define symbol __region_bootloader_settings_page_start = 0x0002F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/ses/flash_placement.xml new file mode 100644 index 0000000..b75ca41 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/ses/flash_placement.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/ses/secure_bootloader_ble_s112_pca10040e.emProject b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/ses/secure_bootloader_ble_s112_pca10040e.emProject new file mode 100644 index 0000000..06c7a53 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/ses/secure_bootloader_ble_s112_pca10040e.emProject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/ses/secure_bootloader_ble_s112_pca10040e.emSession b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/ses/secure_bootloader_ble_s112_pca10040e.emSession new file mode 100644 index 0000000..403d1ea --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble/ses/secure_bootloader_ble_s112_pca10040e.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10040e_debug.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10040e_debug.uvoptx new file mode 100644 index 0000000..c3a7982 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10040e_debug.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52810_xxaa_s112 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52810_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52810_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52810_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s112_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52810_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52810_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52810_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10040e_debug.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10040e_debug.uvprojx new file mode 100644 index 0000000..3c45326 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10040e_debug.uvprojx @@ -0,0 +1,7661 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52810_xxaa_s112 + 0x4 + ARM-ADS + + nRF52810_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x30000) IRAM(0x20000000,0x6000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52810.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52810_xxaa_s112 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x6000 + + + 1 + 0x0 + 0x30000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x22000 + 0xc000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200022c8 + 0x3d38 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEBUG_NRF DEVELOP_IN_NRF52832 FLOAT_ABI_SOFT NRF52810_XXAA NRF52_PAN_74 NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s112\headers;..\..\..\..\..\components\softdevice\s112\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10040,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DDEVELOP_IN_NRF52832,-DFLOAT_ABI_SOFT,-DNRF52810_XXAA,-DNRF52_PAN_74,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS112,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BLE_STACK_SUPPORT_REQD BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEBUG_NRF DEVELOP_IN_NRF52832 FLOAT_ABI_SOFT NRF52810_XXAA NRF52_PAN_74 NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s112\headers;..\..\..\..\..\components\softdevice\s112\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s112_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52810_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x30000) IRAM(0x20000000,0x6000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s112\hex\ + s112_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x6000 + + + 1 + 0x0 + 0x30000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x22000 + 0xc000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200022c8 + 0x3d38 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0 + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/armgcc/Makefile new file mode 100644 index 0000000..43aeef5 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/armgcc/Makefile @@ -0,0 +1,274 @@ +PROJECT_NAME := secure_bootloader_ble_s112_pca10040e_debug +TARGETS := nrf52810_xxaa_s112 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52810_xxaa_s112.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52810.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52810.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/softdevice/s112/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/softdevice/s112/headers \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/soft-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52nf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10040 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DDEVELOP_IN_NRF52832 +CFLAGS += -DFLOAT_ABI_SOFT +CFLAGS += -DNRF52810_XXAA +CFLAGS += -DNRF52_PAN_74 +CFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS112 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=soft +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=soft +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10040 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DDEVELOP_IN_NRF52832 +ASMFLAGS += -DFLOAT_ABI_SOFT +ASMFLAGS += -DNRF52810_XXAA +ASMFLAGS += -DNRF52_PAN_74 +ASMFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS112 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52810_xxaa_s112: CFLAGS += -D__HEAP_SIZE=0 +nrf52810_xxaa_s112: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52810_xxaa_s112 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52810_xxaa_s112 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52810_xxaa_s112.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52810_xxaa_s112.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s112_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s112/hex/s112_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..128e108 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,156 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x22000, LENGTH = 0xc000 + RAM (rwx) : ORIGIN = 0x200022c8, LENGTH = 0x3d38 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0002E000, LENGTH = 0x1000 + bootloader_settings_page (r) : ORIGIN = 0x0002F000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/config/sdk_config.h new file mode 100644 index 0000000..3be969f --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/config/sdk_config.h @@ -0,0 +1,5461 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 16 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 8192 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 512 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 4 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 512 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10040e_debug.ewd b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10040e_debug.ewd new file mode 100644 index 0000000..ad4ab63 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10040e_debug.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52810_xxaa_s112 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10040e_debug.ewp b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10040e_debug.ewp new file mode 100644 index 0000000..99b9053 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10040e_debug.ewp @@ -0,0 +1,1189 @@ + + + + + 2 + nrf52810_xxaa_s112 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52nf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_Segger_RTT + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_IAR.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52810.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52810.c + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..691046f --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x22000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x22000; +define symbol __ICFEDIT_region_ROM_end__ = 0x2dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x200022c8; +define symbol __ICFEDIT_region_RAM_end__ = 0x20005fff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0002E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; +define symbol __region_bootloader_settings_page_start = 0x0002F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/ses/flash_placement.xml new file mode 100644 index 0000000..1cfb83a --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/ses/flash_placement.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10040e_debug.emProject b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10040e_debug.emProject new file mode 100644 index 0000000..3fbd8ea --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10040e_debug.emProject @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10040e_debug.emSession b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10040e_debug.emSession new file mode 100644 index 0000000..789e3f8 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10040e_debug.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040e.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040e.uvoptx new file mode 100644 index 0000000..8be7df4 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040e.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52810_xxaa_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52810_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52810_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52810_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52810_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52810_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52810_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040e.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040e.uvprojx new file mode 100644 index 0000000..9d1e9dd --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10040e.uvprojx @@ -0,0 +1,1349 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52810_xxaa_mbr + 0x4 + ARM-ADS + + nRF52810_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x30000) IRAM(0x20000000,0x6000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52810.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52810_xxaa_mbr + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x6000 + + + 1 + 0x0 + 0x30000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x28000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x5ff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52832 FLOAT_ABI_SOFT MBR_PRESENT NRF52810_XXAA NRF52_PAN_74 NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10040,-DCONFIG_GPIO_AS_PINRESET,-DDEVELOP_IN_NRF52832,-DFLOAT_ABI_SOFT,-DMBR_PRESENT,-DNRF52810_XXAA,-DNRF52_PAN_74,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52832 FLOAT_ABI_SOFT MBR_PRESENT NRF52810_XXAA NRF52_PAN_74 NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_serial_uart.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + + flash_mbr + 0x4 + ARM-ADS + + nRF52810_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x30000) IRAM(0x20000000,0x6000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52810.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\mbr\hex\ + mbr_nrf52_2.4.1_mbr.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x6000 + + + 1 + 0x0 + 0x30000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x28000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x5ff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52832 FLOAT_ABI_SOFT MBR_PRESENT NRF52810_XXAA NRF52_PAN_74 NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10040,-DCONFIG_GPIO_AS_PINRESET,-DDEVELOP_IN_NRF52832,-DFLOAT_ABI_SOFT,-DMBR_PRESENT,-DNRF52810_XXAA,-DNRF52_PAN_74,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BOARD_PCA10040 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52832 FLOAT_ABI_SOFT MBR_PRESENT NRF52810_XXAA NRF52_PAN_74 NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_serial_uart.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_uart/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/armgcc/Makefile new file mode 100644 index 0000000..757c0a3 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/armgcc/Makefile @@ -0,0 +1,251 @@ +PROJECT_NAME := secure_bootloader_uart_mbr_pca10040e +TARGETS := nrf52810_xxaa_mbr +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52810_xxaa_mbr.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52810.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52810.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/slip/slip.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_uart.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_nvic.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_soc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/prs/nrfx_prs.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uart.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uarte.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial_uart.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/mbr/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/libraries/slip \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/soft-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52nf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBOARD_PCA10040 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEVELOP_IN_NRF52832 +CFLAGS += -DFLOAT_ABI_SOFT +CFLAGS += -DMBR_PRESENT +CFLAGS += -DNRF52810_XXAA +CFLAGS += -DNRF52_PAN_74 +CFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=soft +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=soft +ASMFLAGS += -DBOARD_PCA10040 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEVELOP_IN_NRF52832 +ASMFLAGS += -DFLOAT_ABI_SOFT +ASMFLAGS += -DMBR_PRESENT +ASMFLAGS += -DNRF52810_XXAA +ASMFLAGS += -DNRF52_PAN_74 +ASMFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52810_xxaa_mbr: CFLAGS += -D__HEAP_SIZE=0 +nrf52810_xxaa_mbr: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52810_xxaa_mbr + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52810_xxaa_mbr + @echo flash_mbr + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_mbr erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52810_xxaa_mbr.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52810_xxaa_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_mbr: + @echo Flashing: mbr_nrf52_2.4.1_mbr.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/mbr/hex/mbr_nrf52_2.4.1_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_uart/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..1ebbe81 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,120 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x28000, LENGTH = 0x6000 + RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x5ff8 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0002E000, LENGTH = 0x1000 + bootloader_settings_page (r) : ORIGIN = 0x0002F000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_uart/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/config/sdk_config.h new file mode 100644 index 0000000..e001c4c --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/config/sdk_config.h @@ -0,0 +1,5130 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 16 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 0 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 0 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 8192 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nrf_dfu_serial_uart - UART DFU transport + +//========================================================== +// NRF_DFU_SERIAL_UART_USES_HWFC - HWFC configuration + + +#ifndef NRF_DFU_SERIAL_UART_USES_HWFC +#define NRF_DFU_SERIAL_UART_USES_HWFC 1 +#endif + +// NRF_DFU_SERIAL_UART_RX_BUFFERS - Number of RX buffers. +// Number of buffers depends on flash access vs. +// transport throughtput. If value is too low it may lead +// to received packets being dropped. + +#ifndef NRF_DFU_SERIAL_UART_RX_BUFFERS +#define NRF_DFU_SERIAL_UART_RX_BUFFERS 3 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// NRFX_PRS_ENABLED - nrfx_prs - Peripheral Resource Sharing module +//========================================================== +#ifndef NRFX_PRS_ENABLED +#define NRFX_PRS_ENABLED 1 +#endif +// NRFX_PRS_BOX_0_ENABLED - Enables box 0 in the module. + + +#ifndef NRFX_PRS_BOX_0_ENABLED +#define NRFX_PRS_BOX_0_ENABLED 0 +#endif + +// NRFX_PRS_BOX_1_ENABLED - Enables box 1 in the module. + + +#ifndef NRFX_PRS_BOX_1_ENABLED +#define NRFX_PRS_BOX_1_ENABLED 0 +#endif + +// NRFX_PRS_BOX_2_ENABLED - Enables box 2 in the module. + + +#ifndef NRFX_PRS_BOX_2_ENABLED +#define NRFX_PRS_BOX_2_ENABLED 1 +#endif + +// NRFX_PRS_BOX_3_ENABLED - Enables box 3 in the module. + + +#ifndef NRFX_PRS_BOX_3_ENABLED +#define NRFX_PRS_BOX_3_ENABLED 0 +#endif + +// NRFX_PRS_BOX_4_ENABLED - Enables box 4 in the module. + + +#ifndef NRFX_PRS_BOX_4_ENABLED +#define NRFX_PRS_BOX_4_ENABLED 1 +#endif + +// NRFX_PRS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PRS_CONFIG_LOG_ENABLED +#define NRFX_PRS_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PRS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PRS_CONFIG_LOG_LEVEL +#define NRFX_PRS_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PRS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_INFO_COLOR +#define NRFX_PRS_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PRS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_DEBUG_COLOR +#define NRFX_PRS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UARTE_ENABLED - nrfx_uarte - UARTE peripheral driver +//========================================================== +#ifndef NRFX_UARTE_ENABLED +#define NRFX_UARTE_ENABLED 1 +#endif +// NRFX_UARTE0_ENABLED - Enable UARTE0 instance +#ifndef NRFX_UARTE0_ENABLED +#define NRFX_UARTE0_ENABLED 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_HWFC +#define NRFX_UARTE_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_PARITY +#define NRFX_UARTE_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <8388608=> 31250 baud +// <10289152=> 38400 baud +// <15007744=> 56000 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UARTE_CONFIG_LOG_ENABLED +#define NRFX_UARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UARTE_CONFIG_LOG_LEVEL +#define NRFX_UARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_INFO_COLOR +#define NRFX_UARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_DEBUG_COLOR +#define NRFX_UARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UART_ENABLED - nrfx_uart - UART peripheral driver +//========================================================== +#ifndef NRFX_UART_ENABLED +#define NRFX_UART_ENABLED 1 +#endif +// NRFX_UART0_ENABLED - Enable UART0 instance +#ifndef NRFX_UART0_ENABLED +#define NRFX_UART0_ENABLED 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UART_DEFAULT_CONFIG_HWFC +#define NRFX_UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UART_DEFAULT_CONFIG_PARITY +#define NRFX_UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3866624=> 14400 baud +// <5152768=> 19200 baud +// <7729152=> 28800 baud +// <8388608=> 31250 baud +// <10309632=> 38400 baud +// <15007744=> 56000 baud +// <15462400=> 57600 baud +// <20615168=> 76800 baud +// <30924800=> 115200 baud +// <61845504=> 230400 baud +// <67108864=> 250000 baud +// <123695104=> 460800 baud +// <247386112=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UART_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UART_DEFAULT_CONFIG_BAUDRATE 30924800 +#endif + +// NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UART_CONFIG_LOG_ENABLED +#define NRFX_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UART_CONFIG_LOG_LEVEL +#define NRFX_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_INFO_COLOR +#define NRFX_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_DEBUG_COLOR +#define NRFX_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver - legacy layer +//========================================================== +#ifndef UART_ENABLED +#define UART_ENABLED 1 +#endif +// UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef UART_DEFAULT_CONFIG_HWFC +#define UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef UART_DEFAULT_CONFIG_PARITY +#define UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef UART_DEFAULT_CONFIG_BAUDRATE +#define UART_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// UART_EASY_DMA_SUPPORT - Driver supporting EasyDMA + + +#ifndef UART_EASY_DMA_SUPPORT +#define UART_EASY_DMA_SUPPORT 1 +#endif + +// UART_LEGACY_SUPPORT - Driver supporting Legacy mode + + +#ifndef UART_LEGACY_SUPPORT +#define UART_LEGACY_SUPPORT 0 +#endif + +// UART0_ENABLED - Enable UART0 instance +//========================================================== +#ifndef UART0_ENABLED +#define UART0_ENABLED 1 +#endif +// UART0_CONFIG_USE_EASY_DMA - Default setting for using EasyDMA + + +#ifndef UART0_CONFIG_USE_EASY_DMA +#define UART0_CONFIG_USE_EASY_DMA 1 +#endif + +// + +// + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// SLIP_ENABLED - slip - SLIP encoding and decoding + + +#ifndef SLIP_ENABLED +#define SLIP_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 0 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 0 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 0 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_uart/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..0da973b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x28000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x28000; +define symbol __ICFEDIT_region_ROM_end__ = 0x2dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000008; +define symbol __ICFEDIT_region_RAM_end__ = 0x20005fff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0002E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; +define symbol __region_bootloader_settings_page_start = 0x0002F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_uart/iar/secure_bootloader_uart_mbr_pca10040e.ewd b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/iar/secure_bootloader_uart_mbr_pca10040e.ewd new file mode 100644 index 0000000..79702ac --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/iar/secure_bootloader_uart_mbr_pca10040e.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52810_xxaa_mbr + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_uart/iar/secure_bootloader_uart_mbr_pca10040e.ewp b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/iar/secure_bootloader_uart_mbr_pca10040e.ewp new file mode 100644 index 0000000..f7b918d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/iar/secure_bootloader_uart_mbr_pca10040e.ewp @@ -0,0 +1,1161 @@ + + + + + 2 + nrf52810_xxaa_mbr + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\slip\slip.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52nf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52810.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52810.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_Serial_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_uart/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/ses/flash_placement.xml new file mode 100644 index 0000000..2ecd4b4 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/ses/flash_placement.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_uart/ses/secure_bootloader_uart_mbr_pca10040e.emProject b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/ses/secure_bootloader_uart_mbr_pca10040e.emProject new file mode 100644 index 0000000..9a1d9ab --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/ses/secure_bootloader_uart_mbr_pca10040e.emProject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10040e_uart/ses/secure_bootloader_uart_mbr_pca10040e.emSession b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/ses/secure_bootloader_uart_mbr_pca10040e.emSession new file mode 100644 index 0000000..9ffaf60 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10040e_uart/ses/secure_bootloader_uart_mbr_pca10040e.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10056.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10056.uvoptx new file mode 100644 index 0000000..41eb89b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10056.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52840_xxaa_s140 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52840_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s140_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52840_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10056.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10056.uvprojx new file mode 100644 index 0000000..1c8863d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10056.uvprojx @@ -0,0 +1,7133 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52840_xxaa_s140 + 0x4 + ARM-ADS + + nRF52840_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x100000) IRAM(0x20000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52840.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52840_xxaa_s140 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x40000 + + + 1 + 0x0 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0xf8000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20005978 + 0x3a688 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD NRF52840_XXAA NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S140 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s140\headers;..\..\..\..\..\components\softdevice\s140\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DFLOAT_ABI_HARD,-DNRF52840_XXAA,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS140,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0 + BLE_STACK_SUPPORT_REQD BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD NRF52840_XXAA NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S140 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s140\headers;..\..\..\..\..\components\softdevice\s140\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend CC310_BL + + cc310_bl_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nrf_cc310_bl + + nrf_cc310_bl_0.9.13.lib + 4 + ..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\nrf_cc310_bl_0.9.13.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s140_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52840_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x100000) IRAM(0x20000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s140\hex\ + s140_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x40000 + + + 1 + 0x0 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0xf8000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20005978 + 0x3a688 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0 + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend CC310_BL + + cc310_bl_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nrf_cc310_bl + + nrf_cc310_bl_0.9.13.lib + 4 + ..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\nrf_cc310_bl_0.9.13.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/armgcc/Makefile new file mode 100644 index 0000000..e0a09aa --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/armgcc/Makefile @@ -0,0 +1,249 @@ +PROJECT_NAME := secure_bootloader_ble_s140_pca10056 +TARGETS := nrf52840_xxaa_s140 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52840_xxaa_s140.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52840.S \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52840.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_init.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_shared.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/softdevice/s140/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/external/nrf_cc310/include \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/s140/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/external/nrf_cc310_bl/include \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/mutex \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/nrf_cc310_bl/lib/cortex-m4/hard-float/libnrf_cc310_bl_0.9.13.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10056 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52840_XXAA +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS140 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10056 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52840_XXAA +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS140 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52840_xxaa_s140: CFLAGS += -D__HEAP_SIZE=0 +nrf52840_xxaa_s140: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52840_xxaa_s140 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52840_xxaa_s140 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52840_xxaa_s140.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52840_xxaa_s140.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s140_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s140/hex/s140_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..57e2673 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,156 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0xf8000, LENGTH = 0x6000 + RAM (rwx) : ORIGIN = 0x20005978, LENGTH = 0x3a688 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x000FF000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x000FE000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/config/sdk_config.h new file mode 100644 index 0000000..f7fac8c --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/config/sdk_config.h @@ -0,0 +1,5394 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <32=> 32 (P1.0) +// <33=> 33 (P1.1) +// <34=> 34 (P1.2) +// <35=> 35 (P1.3) +// <36=> 36 (P1.4) +// <37=> 37 (P1.5) +// <38=> 38 (P1.6) +// <39=> 39 (P1.7) +// <40=> 40 (P1.8) +// <41=> 41 (P1.9) +// <42=> 42 (P1.10) +// <43=> 43 (P1.11) +// <44=> 44 (P1.12) +// <45=> 45 (P1.13) +// <46=> 46 (P1.14) +// <47=> 47 (P1.15) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/iar/secure_bootloader_ble_s140_pca10056.ewd b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/iar/secure_bootloader_ble_s140_pca10056.ewd new file mode 100644 index 0000000..485fb2b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/iar/secure_bootloader_ble_s140_pca10056.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52840_xxaa_s140 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/iar/secure_bootloader_ble_s140_pca10056.ewp b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/iar/secure_bootloader_ble_s140_pca10056.ewp new file mode 100644 index 0000000..57777b0 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/iar/secure_bootloader_ble_s140_pca10056.ewp @@ -0,0 +1,1161 @@ + + + + + 2 + nrf52840_xxaa_s140 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + nRF_Crypto backend CC310_BL + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52840.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52840.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nrf_cc310_bl + $PROJ_DIR$\..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\libnrf_cc310_bl_0.9.13.a + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..215adcc --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0xf8000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0xf8000; +define symbol __ICFEDIT_region_ROM_end__ = 0xfdfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20005978; +define symbol __ICFEDIT_region_RAM_end__ = 0x2003ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x000FF000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x000FE000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/ses/flash_placement.xml new file mode 100644 index 0000000..76d9fbe --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/ses/flash_placement.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/ses/secure_bootloader_ble_s140_pca10056.emProject b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/ses/secure_bootloader_ble_s140_pca10056.emProject new file mode 100644 index 0000000..5c72250 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/ses/secure_bootloader_ble_s140_pca10056.emProject @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/ses/secure_bootloader_ble_s140_pca10056.emSession b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/ses/secure_bootloader_ble_s140_pca10056.emSession new file mode 100644 index 0000000..ec1a94f --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble/ses/secure_bootloader_ble_s140_pca10056.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10056_debug.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10056_debug.uvoptx new file mode 100644 index 0000000..41eb89b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10056_debug.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52840_xxaa_s140 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52840_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s140_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52840_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10056_debug.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10056_debug.uvprojx new file mode 100644 index 0000000..c51b5c2 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10056_debug.uvprojx @@ -0,0 +1,7655 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52840_xxaa_s140 + 0x4 + ARM-ADS + + nRF52840_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x100000) IRAM(0x20000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52840.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52840_xxaa_s140 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x40000 + + + 1 + 0x0 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0xf1000 + 0xd000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20005978 + 0x3a688 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD NRF52840_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S140 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s140\headers;..\..\..\..\..\components\softdevice\s140\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DFLOAT_ABI_HARD,-DNRF52840_XXAA,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS140,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0 + BLE_STACK_SUPPORT_REQD BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD NRF52840_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S140 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s140\headers;..\..\..\..\..\components\softdevice\s140\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend CC310_BL + + cc310_bl_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nrf_cc310_bl + + nrf_cc310_bl_0.9.13.lib + 4 + ..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\nrf_cc310_bl_0.9.13.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s140_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52840_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x100000) IRAM(0x20000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s140\hex\ + s140_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x40000 + + + 1 + 0x0 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0xf1000 + 0xd000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20005978 + 0x3a688 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0 + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend CC310_BL + + cc310_bl_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + cc310_bl_backend_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nrf_cc310_bl + + nrf_cc310_bl_0.9.13.lib + 4 + ..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\nrf_cc310_bl_0.9.13.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/armgcc/Makefile new file mode 100644 index 0000000..b7e2e12 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/armgcc/Makefile @@ -0,0 +1,260 @@ +PROJECT_NAME := secure_bootloader_ble_s140_pca10056_debug +TARGETS := nrf52840_xxaa_s140 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52840_xxaa_s140.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52840.S \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52840.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_init.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_shared.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/softdevice/s140/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/external/nrf_cc310/include \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/s140/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/external/nrf_cc310_bl/include \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/mutex \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/nrf_cc310_bl/lib/cortex-m4/hard-float/libnrf_cc310_bl_0.9.13.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10056 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52840_XXAA +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS140 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10056 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52840_XXAA +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS140 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52840_xxaa_s140: CFLAGS += -D__HEAP_SIZE=0 +nrf52840_xxaa_s140: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52840_xxaa_s140 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52840_xxaa_s140 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52840_xxaa_s140.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52840_xxaa_s140.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s140_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s140/hex/s140_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..50b6b0b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,156 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0xf1000, LENGTH = 0xd000 + RAM (rwx) : ORIGIN = 0x20005978, LENGTH = 0x3a688 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x000FF000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x000FE000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/config/sdk_config.h new file mode 100644 index 0000000..0a75e23 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/config/sdk_config.h @@ -0,0 +1,5477 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <32=> 32 (P1.0) +// <33=> 33 (P1.1) +// <34=> 34 (P1.2) +// <35=> 35 (P1.3) +// <36=> 36 (P1.4) +// <37=> 37 (P1.5) +// <38=> 38 (P1.6) +// <39=> 39 (P1.7) +// <40=> 40 (P1.8) +// <41=> 41 (P1.9) +// <42=> 42 (P1.10) +// <43=> 43 (P1.11) +// <44=> 44 (P1.12) +// <45=> 45 (P1.13) +// <46=> 46 (P1.14) +// <47=> 47 (P1.15) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 4096 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 4 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 4096 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/hex/license.txt b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/hex/license.txt new file mode 100644 index 0000000..cd3f7e3 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/hex/license.txt @@ -0,0 +1,3 @@ +The provided HEX files were compiled using the projects located in the folders for the respective boards (pca10xxx). + +For license and copyright information, see the individual .c and .h files that are included in the projects. diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/hex/secure_bootloader_ble_s140_pca10056_debug.hex b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/hex/secure_bootloader_ble_s140_pca10056_debug.hex new file mode 100644 index 0000000..36aef8f --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/hex/secure_bootloader_ble_s140_pca10056_debug.hex @@ -0,0 +1,12852 @@ +:020000040000FA +:1000000000040020810A000015070000610A0000BA +:100010001F07000029070000330700000000000050 +:10002000000000000000000000000000A50A000021 +:100030003D070000000000004707000051070000D6 +:100040005B070000650700006F07000079070000EC +:10005000830700008D07000097070000A10700003C +:10006000AB070000B5070000BF070000C90700008C +:10007000D3070000DD070000E7070000F1070000DC +:10008000FB070000050800000F0800001908000029 +:10009000230800002D080000370800004108000078 +:1000A0004B080000550800005F08000069080000C8 +:1000B000730800007D080000870800009108000018 +:1000C0009B080000A5080000AF080000B908000068 +:1000D000C3080000CD080000D7080000E1080000B8 +:1000E000EB080000F5080000FF0800000909000007 +:1000F000130900001D090000270900003109000054 +:100100003B0900001FB500F003F88DE80F001FBD8C +:1001100000F0ACBC40F6FC7108684FF01022401CA7 +:1001200008D00868401C09D00868401C04D0086842 +:1001300000F037BA9069F5E79069F9E7704770B554 +:100140000B46010B184400F6FF70040B4FF0805073 +:100150000022090303692403406943431D1B104621 +:1001600000F048FA29462046BDE8704000F042BA47 +:10017000F0B54FF6FF734FF4B4751A466E1E11E0DA +:10018000A94201D3344600E00C46091B30F8027B3B +:10019000641E3B441A44F9D19CB204EB134394B25D +:1001A00004EB12420029EBD198B200EB134002EBB2 +:1001B000124140EA0140F0BDF34992B00446D1E952 +:1001C0000001CDE91001FF224021684600F0F4FB58 +:1001D00094E80F008DE80F00684610A902E004C8FB +:1001E00041F8042D8842FAD110216846FFF7C0FF7C +:1001F0001090AA208DF8440000F099F9FFF78AFFCB +:1002000040F6FC7420684FF01025401C0FD0206889 +:1002100010226946803000F078F92068401C08D030 +:100220002068082210A900F070F900F061F9A869AF +:10023000EEE7A869F5E74FF080500369406940F6A2 +:10024000FC71434308684FF01022401C06D0086838 +:1002500000F58050834203D2092070479069F7E788 +:100260000868401C04D00868401C03D00020704778 +:100270009069F9E70420704770B504460068C34DE3 +:10028000072876D2DFE800F033041929631E250021 +:10029000D4E9026564682946304600F062F92A46CE +:1002A0002146304600F031F9AA002146304600F0E0 +:1002B00057FB002800D0032070BD00F009FC4FF46C +:1002C000805007E0201D00F040F90028F4D100F034 +:1002D000FFFB60682860002070BD241D94E80700C3 +:1002E000920000F03DFB0028F6D00E2070BDFFF715 +:1002F000A2FF0028FAD1D4E901034FF0805100EBAE +:10030000830208694D69684382420ED840F6F8704E +:1003100005684FF010226D1C09D0056805EB8305B8 +:100320000B6949694B439D4203D9092070BD55694A +:10033000F4E70168491C03D00068401C02D003E0C8 +:100340005069FAE70F2070BD2046FFF735FFFFF731 +:1003500072FF0028F7D1201D00F0F7F80028F2D135 +:1003600060680028F0D100F0E2F8FFF7D3FE00F05B +:10037000BFF8072070BD10B50C46182802D0012028 +:10038000086010BD2068FFF777FF206010BD41684E +:10039000054609B1012700E0002740F6F8742068FF +:1003A0004FF01026401C2BD02068AA68920000F065 +:1003B000D7FA38B3A86881002068401C27D020688D +:1003C000FFF7BDFED7B12068401C22D026684FF051 +:1003D0008050AC686D68016942695143A9420DD9EA +:1003E000016940694143A14208D92146304600F0E5 +:1003F000B8F822462946304600F087F800F078F831 +:100400007069D2E700F093F8FFF784FEF6E77069B1 +:10041000D6E77669DBE740F6FC7420684FF01026DB +:10042000401C23D02068401C0CD02068401C1FD0EA +:100430002568206805F18005401C1BD027683879A5 +:10044000AA2819D040F6F8700168491C42D001680A +:10045000491C45D00168491C3ED001680968491C07 +:100460003ED00168491C39D000683EE0B069DAE747 +:10047000B569DEE7B769E2E710212846FFF778FEA5 +:100480003968814222D12068401C05D0D4F8001080 +:1004900001F18002C03107E0B169F9E730B108CA63 +:1004A00051F8040D984201D1012000E000208A4259 +:1004B000F4D158B1286810B1042803D0FEE72846CB +:1004C000FFF765FF3149686808600EE0FFF722FE1C +:1004D00000F00EF87169BBE77169BFE7706904E06D +:1004E0004FF480500168491C01D000F0CBFAFEE7C0 +:1004F000BFF34F8F26480168264A01F4E06111439B +:100500000160BFF34F8F00BFFDE72DE9F0411746B3 +:100510000D460646002406E03046296800F054F8EF +:10052000641C2D1D361DBC42F6D3BDE8F08140F69B +:10053000FC700168491C04D0D0F800004FF48051D1 +:10054000FDE54FF010208069F8E74FF080510A690F +:10055000496900684A43824201D810207047002050 +:10056000704770B50C4605464FF4806608E0284693 +:1005700000F017F8B44205D3A4F5806405F5805562 +:10058000002CF4D170BD0000F40A0000000000202F +:100590000CED00E00400FA05144801680029FCD0C5 +:1005A0007047134A0221116010490B68002BFCD0E0 +:1005B0000F4B1B1D186008680028FCD0002010603D +:1005C00008680028FCD07047094B10B501221A605A +:1005D000064A1468002CFCD0016010680028FCD08A +:1005E0000020186010680028FCD010BD00E4014015 +:1005F00004E5014070B50C46054600F073F810B9EB +:1006000000F07EF828B121462846BDE8704000F091 +:1006100007B821462846BDE8704000F037B8000012 +:100620007FB5002200920192029203920A0B000B06 +:100630006946012302440AE0440900F01F0651F80C +:10064000245003FA06F6354341F82450401C8242F8 +:10065000F2D80D490868009A10430860081D016827 +:10066000019A1143016000F03DF800280AD00649C4 +:1006700010310868029A10430860091D0868039A3F +:10068000104308607FBD00000006004030B50F4CED +:10069000002200BF04EB0213D3F800582DB9D3F8A1 +:1006A000045815B9D3F808581DB1521C082AF1D3C3 +:1006B00030BD082AFCD204EB0212C2F80008C3F8CD +:1006C00004180220C3F8080830BD000000E0014013 +:1006D0004FF08050D0F83001082801D0002070473A +:1006E000012070474FF08050D0F83011062905D016 +:1006F000D0F83001401C01D0002070470120704725 +:100700004FF08050D0F830010A2801D00020704707 +:100710000120704708208F490968095808471020B0 +:100720008C4909680958084714208A4909680958FA +:100730000847182087490968095808473020854923 +:100740000968095808473820824909680958084744 +:100750003C20804909680958084740207D490968BC +:100760000958084744207B49096809580847482028 +:1007700078490968095808474C207649096809589A +:10078000084750207349096809580847542071499F +:1007900009680958084758206E49096809580847E8 +:1007A0005C206C4909680958084760206949096854 +:1007B00009580847642067490968095808476820AC +:1007C00064490968095808476C2062490968095852 +:1007D000084770205F4909680958084774205D4937 +:1007E00009680958084778205A490968095808478C +:1007F0007C205849096809580847802055490968EC +:10080000095808478420534909680958084788202F +:1008100050490968095808478C204E490968095809 +:10082000084790204B4909680958084794204949CE +:10083000096809580847982046490968095808472F +:100840009C204449096809580847A0204149096883 +:1008500009580847A4203F49096809580847A820B3 +:100860003C49096809580847AC203A4909680958C1 +:100870000847B0203749096809580847B420354966 +:10088000096809580847B8203249096809580847D3 +:10089000BC203049096809580847C0202D4909681B +:1008A00009580847C4202B49096809580847C82037 +:1008B0002849096809580847CC2026490968095879 +:1008C0000847D0202349096809580847D4202149FE +:1008D000096809580847D8201E4909680958084777 +:1008E000DC201C49096809580847E02019490968B3 +:1008F00009580847E4201749096809580847E820BB +:100900001449096809580847EC2012490968095830 +:100910000847F0200F49096809580847F4200D4995 +:10092000096809580847F8200A490968095808471A +:10093000FC2008490968095808475FF48070054998 +:10094000096809580847000003480449024A034B54 +:100950007047000000000020000B0000000B0000AA +:1009600040EA010310B59B070FD1042A0DD310C82C +:1009700008C9121F9C42F8D020BA19BA884201D97E +:10098000012010BD4FF0FF3010BD1AB1D30703D0C6 +:10099000521C07E0002010BD10F8013B11F8014B7C +:1009A0001B1B07D110F8013B11F8014B1B1B01D198 +:1009B000921EF1D1184610BD02F0FF0343EA032254 +:1009C00042EA024200F005B87047704770474FF0A6 +:1009D00000020429C0F0128010F0030C00F01B800C +:1009E000CCF1040CBCF1020F18BF00F8012BA8BF1A +:1009F00020F8022BA1EB0C0100F00DB85FEAC17CDE +:100A000024BF00F8012B00F8012B48BF00F8012B90 +:100A100070474FF0000200B51346944696462039C1 +:100A200022BFA0E80C50A0E80C50B1F12001BFF4A7 +:100A3000F7AF090728BFA0E80C5048BF0CC05DF80D +:100A400004EB890028BF40F8042B08BF704748BF5B +:100A500020F8022B11F0804F18BF00F8012B7047CF +:100A6000014B1B68DB6818470000002009480A4951 +:100A70007047FFF7FBFFFFF745FB00BD20BFFDE719 +:100A8000064B1847064A1060016881F308884068E1 +:100A900000470000000B0000000B000017040000DE +:100AA000000000201EF0040F0CBFEFF30881EFF3ED +:100AB0000981886902380078182803D100E0000015 +:100AC000074A1047074A12682C3212681047000084 +:100AD00000B5054B1B68054A9B58984700BD0000B0 +:100AE0007703000000000020F00A0000040000006E +:100AF000001000000000000000FFFFFF0090D00386 +:10100000C0130020E15F0200A1C10000475F0200A1 +:10101000A1C10000A1C10000A1C1000000000000AA +:101020000000000000000000000000006D600200F1 +:10103000A1C1000000000000A1C10000A1C100008A +:10104000D5600200DB600200A1C10000A1C1000068 +:10105000A1C10000A1C10000A1C10000A1C1000008 +:10106000E1600200A1C10000A1C10000E760020030 +:10107000A1C10000ED600200F3600200F96002000F +:10108000A1C10000A1C10000A1C10000A1C10000D8 +:10109000A1C10000A1C10000A1C10000A1C10000C8 +:1010A000A1C10000FF600200A1C10000A1C10000B9 +:1010B000A1C10000A1C10000A1C10000A1C10000A8 +:1010C00005610200A1C10000A1C10000A1C1000092 +:1010D000A1C10000A1C10000A1C10000A1C1000088 +:1010E000A1C10000A1C10000A1C10000A1C1000078 +:1010F000A1C10000A1C10000A1C10000A1C1000068 +:10110000A1C10000A1C1000000F002F824F057FFC7 +:101110000AA090E8000C82448344AAF10107DA4552 +:1011200001D124F04CFFAFF2090EBAE80F0013F022 +:10113000010F18BFFB1A43F001031847B454020013 +:10114000D45402000A444FF0000C10F8013B13F095 +:10115000070408BF10F8014B1D1108BF10F8015B10 +:10116000641E05D010F8016B641E01F8016BF9D103 +:1011700013F0080F1EBF10F8014BAD1C0C1B09D15A +:101180006D1E58BF01F801CBFAD505E014F8016BCC +:1011900001F8016B6D1EF9D59142D6D3704700005E +:1011A0000023002400250026103A28BF78C1FBD870 +:1011B000520728BF30C148BF0B6070471FB500F011 +:1011C00003F88DE80F001FBD24F0F6BE70B51A4C71 +:1011D00005460A202070A01C00F0D5F85920A080F8 +:1011E00029462046BDE8704008F0A4B908F0ADB922 +:1011F00070B50C461149097829B1A0F160015E294A +:1012000008D3012013E0602804D0692802D043F2FB +:1012100001000CE020CC0A4E94E80E0006EB8000A2 +:10122000A0F58050241FD0F8806E2846B04720607B +:1012300070BD012070470000080000201C00002045 +:10124000486102003249884201D2012070470020E3 +:10125000704770B50446A0F500002E4EB0F1786FCF +:1012600002D23444A4F500042948844201D2012565 +:1012700000E0002500F043F848B125B9B44204D39A +:101280002548006808E0012070BD002070BD002DD9 +:10129000F9D1B442F9D321488442F6D2F3E710B52C +:1012A0000446A0F50000B0F1786F03D21948044459 +:1012B000A4F5000400F023F84FF0804130B1164847 +:1012C000006804E08C4204D2012003E01348844209 +:1012D000F8D2002080F0010010BD10B520B1FFF75A +:1012E000DEFF08B1012010BD002010BD10B520B1F7 +:1012F000FFF7AFFF08B1012010BD002010BD084866 +:1013000008490068884201D10120704700207047D9 +:1013100000700200000000202000002008000020D3 +:101320005C000020BEBAFECA10B5044600210120B0 +:1013300000F042F800210B2000F03EF800210820C8 +:1013400000F03AF80421192000F036F804210D20AD +:1013500000F032F804210E2000F02EF804210F20B6 +:1013600000F02AF80421C84300F026F806211620D0 +:1013700000F022F80621152000F01EF82046FFF7A5 +:1013800025FF002010BD4FF4807101807047FFF7EA +:101390002DBF1148704710487047104A10B51468A7 +:1013A0000E4B0F4A08331A60FFF722FF0B48001D4F +:1013B000046010BD704770474907090E002804DB20 +:1013C00000F1E02080F80014704700F00F0000F1F9 +:1013D000E02080F8141D704703F900421005024018 +:1013E00001000001FD48002101604160018170475A +:1013F0002DE9FF4F93B09B46209F160004460DD069 +:101400001046FFF726FF18B1102017B0BDE8F08F87 +:101410003146012001F0D3FE0028F6D101258DF8D8 +:1014200042504FF4C050ADF84000002210A92846A9 +:1014300006F0E2FC0028E8D18DF84250A8464FF4AF +:1014400028500025ADF840001C2229466846079523 +:101450000DF02BF89DF81C000DF11C0A20F00F0078 +:10146000401C20F0F00010308DF81C0020788DF822 +:101470001D0061789DF81E000DF1400961F34200E6 +:1014800040F001008DF81E009DF8000008AA40F011 +:1014900002008DF800002089ADF83000ADF8325020 +:1014A0006089ADF83400CDF82CA060680E900AA9D0 +:1014B000CDF82890684606F094FA0028A5D1606817 +:1014C000FFF70BFF40B16068FFF710FF20B96078AD +:1014D00000F00300022801D0012000E00020BF4CF2 +:1014E00008AA0AA92072BDF8200020808DF8428049 +:1014F00042F60120ADF840009DF81E0020F00600E5 +:10150000801C20F001008DF81E000220ADF8300094 +:10151000ADF8340014A80E90684606F062FA002870 +:1015200089D1BDF82000608036B1211D304600F021 +:101530005FF90028C2D109E0BBF1000F05D00CF023 +:101540002FFDE8BB0CF02CFDD0BBA58017B1012FFF +:1015500043D04AE08DF8428042F6A620ADF8400024 +:1015600046461C220021684607950CF09EFF9DF818 +:101570001C00ADF8346020F00F00401C20F0F0009B +:1015800010308DF81C009DF81D0020F0FF008DF834 +:101590001D009DF81E0020F0060040F00100801C98 +:1015A0008DF81E009DF800008DF8446040F00200A8 +:1015B0008DF80000CDE90A9AADF8306011A800E07E +:1015C00011E00E9008AA0AA9684606F00AFA002857 +:1015D000A6D1BDF82000E08008E00CF0E1FC10B9D5 +:1015E0000CF0DEFC08B103200FE7E58000200CE7DB +:1015F0003EB50446794D0820ADF80000A88828B112 +:101600002046FFF726FE18B110203EBD06203EBD45 +:101610002146012001F0D3FD0028F8D12088ADF843 +:1016200004006088ADF80600A088ADF80800E088E6 +:10163000ADF80A00A88801AB6A46002106F0D8FD83 +:10164000BDF800100829E2D003203EBD7FB5634DF0 +:101650000446A88868B1002002900820ADF8080070 +:10166000CDF80CD02046FFF7F4FD20B1102004B0D7 +:1016700070BD0620FBE7A98802AA4FF6FF7006F0AE +:10168000F9FF0028F3D1BDF80810082901D0032084 +:10169000EDE7BDF800102180BDF802106180BDF8B3 +:1016A0000410A180BDF80610E180E0E701B582B02A +:1016B0000220ADF80000494802AB6A46408800218C +:1016C00006F096FDBDF80010022900D003200EBDE3 +:1016D0001CB5002100910221ADF800100190FFF728 +:1016E000DEFD08B110201CBD3C486A4641884FF61B +:1016F000FF7006F0BFFFBDF800100229F3D00320F1 +:101700001CBDFEB5354C06461546207A0F46C0076F +:1017100005D00846FFF79DFD18B11020FEBD0F2033 +:10172000FEBDF82D01D90C20FEBD3046FFF791FD1E +:1017300018BB208801A905F056FE0028F4D13078A6 +:101740008DF80500208801A906F030FD0028EBD1B6 +:1017500000909DF800009DF8051040F002008DF803 +:101760000000090703D040F008008DF80000208831 +:10177000694606F0B8FC0028D6D1ADF8085020889C +:101780003B4602AA002106F033FDBDF80810A9422D +:10179000CAD00320FEBD7CB5054600200090019014 +:1017A0000888ADF800000C4628460195FFF795FD26 +:1017B00018B92046FFF773FD08B110207CBD15B1A4 +:1017C000BDF8000060B105486A4601884FF6FF7019 +:1017D00006F050FFBDF8001021807CBD24020020DF +:1017E0000C20FAE72F48C088002800D0012070475D +:1017F00030B5044693B000200D46014600901422F7 +:1018000001A80CF052FE1C22002108A80CF04DFE8D +:101810009DF80000CDF808D020F00F00401C20F00B +:10182000F00010308DF800009DF8010006AA20F0AD +:10183000FF008DF801009DF8200001A940F0020092 +:101840008DF8200001208DF8460042F60420ADF806 +:10185000440011A801902088ADF83C006088ADF8E4 +:101860003E00A088ADF84000E088ADF842009DF849 +:10187000020020F00600801C20F001008DF802001C +:101880000820ADF80C00ADF810000FA8059008A8CE +:1018900006F0A7F8002803D1BDF818002880002022 +:1018A00013B030BD24020020F0B5007B059F1E461A +:1018B00014460D46012800D0FFDF0C2030803A206E +:1018C0003880002C08D0287A032806D0287B0128ED +:1018D00000D0FFDF17206081F0BDA889FBE72DE96C +:1018E000F0470D4686B095F80C900E991446B9F164 +:1018F000010F0BD01022007B2E8A9046052807D0BE +:10190000062839D0FFDF06B0BDE8F0870222F2E7F3 +:10191000E8890C2200EB400002EB400018803320E5 +:101920000880002CEFD0E8896081002720E0009635 +:10193000688808F1020301AA696900F097FF06EBC5 +:101940000800801C07EB470186B204EB4102BDF89A +:1019500004009081F848007808B1012300E00023DA +:101960000DF1060140460E3213F097F87F1CBFB20E +:101970006089B842DBD8C6E734200880E889B9F12D +:10198000010F11D0122148430E301880002CBAD01C +:10199000E88960814846B9F1010F00D00220207328 +:1019A00000270DF1040A1FE00621ECE70096688885 +:1019B00008F1020301AA696900F058FF06EB08006C +:1019C000801C86B2B9F1010F12D007EBC70004EBFF +:1019D0004000BDF80410C18110220AF1020110304C +:1019E0000CF039FD7F1CBFB26089B842DED88AE7AF +:1019F00007EB470104EB4102BDF80400D0810AF176 +:101A000002014046103213F06AF8EBE72DE9F04787 +:101A10000E4688B090F80CC096F80C80378AF5898D +:101A20000C20DFF81493109902F10C04BCF1030FA1 +:101A300008D0BCF1040F3DD0BCF1070F75D0FFDF1B +:101A400008B061E705EB850C00EB4C0018803120F5 +:101A50000880002AF4D0A8F1060000F0FF0A5581A2 +:101A600024E01622002101A80CF01FFD00977088C9 +:101A7000434601AA716900F0F9FEBDF80400208018 +:101A8000BDF80600E080BDF80800208199F800004C +:101A900008B1012300E00023A21C0DF10A01504609 +:101AA00012F0FBFF07EB080087B20A346D1EADB2DF +:101AB000D7D2C5E705EB850C00EB4C00188032202F +:101AC0000880002ABCD0A8F1050000F0FF0A55816B +:101AD00037E000977088434601AA716900F0C6FE9E +:101AE0009DF80600BDF80410E1802179420860F3FA +:101AF000000162F34101820862F38201C20862F3CD +:101B0000C301020962F30411420962F3451182091B +:101B100062F386112171C0096071BDF80700208150 +:101B200099F8000010B1012301E00EE000232246E5 +:101B30000DF10901504612F0B0FF07EB080087B223 +:101B40000A346D1EADB2C4D27AE7A8F1020084B2A5 +:101B500005FB08FC0CF10E00188035200880002AD7 +:101B6000A7D05581948100971FFA8CF370880E32AC +:101B7000716900F07BFE63E72DE9F84F1E460A9D70 +:101B80000C4681462AB1607A00F58070D080E089E9 +:101B9000108199F80C000C274FF000084FF00E0A46 +:101BA0000D2872D2DFE800F09D070E1B272F374566 +:101BB000546972727200214648460095FFF774FE20 +:101BC000BDE8F88F207B9146082802D0032800D07A +:101BD000FFDF3780302009E0A9F80A80F0E7207B9A +:101BE0009146042800D0FFDF378031202880B9F1EA +:101BF000000FF1D1E4E7207B9146042800D0FFDFFD +:101C000037803220F2E7207B9146022800D0FFDFA8 +:101C100037803320EAE7207B1746022800D0FFDF19 +:101C20003420A6F800A02880002FC9D0A7F80A8089 +:101C3000C6E7207B1746042800D0FFDF3520A6F832 +:101C400000A02880002FBBD04046A7F80A8012E0F1 +:101C5000207B1746052802D0062800D0FFDF102081 +:101C6000308036202880002FAAD0E0897881A7F81C +:101C70000E80B9F80E00B881A2E7207B91460728B4 +:101C800000D0FFDF37803720B0E72AE04FF01200A6 +:101C900018804FF038001700288091D0E0897881B3 +:101CA000A7F80E80A7F8108099F80C000A2805D034 +:101CB0000B2809D00C280DD0FFDF81E7207B0A28F4 +:101CC00000D0FFDF01200AE0207B0B2800D0FFDFDF +:101CD000042004E0207B0C2800D0FFDF05203873AF +:101CE0006EE7FFDF6CE770B50C46054601F0ABFB15 +:101CF00020B10078222804D2082070BD43F20200EF +:101D000070BD0521284611F03DF9206008B1002082 +:101D100070BD032070BD30B44880087820F00F00FB +:101D2000C01C20F0F000903001F8080B1DCA81E8BB +:101D30001D0030BC07F07FBC100000202DE9FF47DC +:101D400084B0002782460297079890468946123051 +:101D50000AF077FA401D20F00306079828B907A972 +:101D60005046FFF7C0FF002854D1B9F1000F05D04D +:101D70000798017B19BB052504681BE098F8000053 +:101D8000092803D00D2812D0FFDF46E0079903256C +:101D90004868B0B3497B42887143914239D98AB2CD +:101DA000B3B2011D10F061FF0446078002E0079CFA +:101DB000042508340CB1208810B1032D29D02CE063 +:101DC0000798012112300AF06EFAADF80C000246B5 +:101DD00002AB2946504608F0C6FA070001D1A01C04 +:101DE000029007983A461230C8F80400A8F802A0FA +:101DF00003A94046029B0AF063FAD8B10A2817D219 +:101E000000E006E0DFE800F007091414100B0D14E1 +:101E10001412132014E6002012E6112010E6082008 +:101E20000EE643F203000BE6072009E60D2007E665 +:101E3000032005E6BDF80C002346CDE900702A46D4 +:101E40005046079900F022FD57B9032D08D1079895 +:101E5000B3B2417B406871438AB2011D10F019FF93 +:101E6000B9F1000FD7D0079981F80C90D3E72DE98D +:101E7000FE4F91461A881C468A468046FAB102AB4C +:101E8000494608F070FA050019D04046A61C27887C +:101E900011F0BDF93246072629463B46009610F060 +:101EA000CAFD20882346CDE900504A4651464046A7 +:101EB00000F0ECFC002020800120BDE8FE8F002017 +:101EC000FBE710B586B01C46AAB104238DF800309C +:101ED0001388ADF808305288ADF80A208A788DF85A +:101EE0000E200988ADF80C1000236A462146FFF742 +:101EF00025FF06B010BD1020FBE770B50D4605218B +:101F000011F040F8040000D1FFDF294604F112006F +:101F1000BDE870400AF0B0B92DE9F8430D4680469F +:101F2000002607F085FB04462878102878D2DFE8E1 +:101F300000F0773B345331311231313108313131D6 +:101F400031312879001FC0B2022801D0102810D1E9 +:101F500014BBFFDF35E004B9FFDF0521404611F077 +:101F600011F8007B032806D004280BD0072828D0BE +:101F7000FFDF072655E02879801FC0B2022820D055 +:101F800050B1F6E72879401FC0B2022819D01028B6 +:101F900017D0EEE704B9FFDF13E004B9FFDF2879BB +:101FA00001280ED1172137E00521404610F0EAFF45 +:101FB000070000D1FFDF07F1120140460AF039F9AE +:101FC0002CB12A4621464046FFF7A5FE29E0132101 +:101FD000404602F029FD24E004B9FFDF0521404618 +:101FE00010F0D0FF060000D1FFDF694606F11200B5 +:101FF0000AF029F9060000D0FFDFA988172901D2CD +:10200000172200E00A46BDF80000824202D90146CC +:1020100002E005E01729C5D3404600F047FCD0E7B1 +:10202000FFDF3046BDE8F883401D20F0030219B100 +:1020300002FB01F0001D00E000201044704713B5C2 +:10204000009858B10024684610F0B9FD002C04D166 +:10205000F749009A4A6000220A701CBD0124002042 +:10206000F2E72DE9F0470C461546242200212046D0 +:102070000CF01BFA05B9FFDFA87860732888DFF839 +:10208000B0A3401D20F00301AF788946DAF80400C0 +:1020900010F0B3FD060000D1FFDF4FF0000826600E +:1020A000A6F8008077B109FB07F1091D0AD0DAF81C +:1020B000040010F0A2FD060000D1FFDF6660C6F844 +:1020C000008001E0C4F80480298804F11200BDE812 +:1020D000F0470AF09FB82DE9F047804601F1120061 +:1020E0000D4681460AF0ADF8401DD14F20F00302A5 +:1020F0006E7B14462968786810F0AAFD3EB104FB97 +:1021000006F2121D03D06968786810F0A1FD052061 +:1021100010F0E0FE0446052010F0E4FE201A01282D +:1021200002D1786810F05EFD49464046BDE8F047B0 +:102130000AF086B870B50546052110F023FF0400AB +:1021400000D1FFDF04F112012846BDE870400AF01B +:1021500070B82DE9F04F91B04FF0000BADF828B0FA +:10216000ADF804B047880C4605469246052138462E +:1021700010F008FF060000D1FFDF24B1A780A4F80B +:1021800006B0A4F808B0297809220B20B2EB111F81 +:1021900073D12A7A04F1100138274FF00C084FF060 +:1021A00012090291102A69D2DFE802F068F2F1F018 +:1021B0008008D3898EA03DDCF3EEB7B7307B0228D0 +:1021C00000D0FFDFA88908EBC001ADF80410302172 +:1021D000ADF82810002C25D06081B5F80E800027BE +:1021E0001DE004EBC709317C89F80E10F189A9F8CC +:1021F0000C10CDF800806888042305AA296900F036 +:1022000035FBBDF81410A9F8101008F10400BDF852 +:1022100016107F1C1FFA80F8A9F81210BFB260894F +:10222000B842DED80CE1307B022800D0FFDFE9891C +:1022300008EBC100ADF804003020ADF8280095F897 +:102240000C90002CA9F10400C0B20F90EAD061817B +:10225000B5F81080002725E0CDF8008068884B464F +:1022600003AA696900F002FB08EB09001FFA80F875 +:102270006F48007818B1012302E0DDE0DAE00023C6 +:1022800004EBC702009204A90C320F9812F005FC6F +:10229000009ABDF80C007F1C1082009ABDF80E0059 +:1022A000BFB250826089B842D6D8C9E00AA800906F +:1022B00001AB224629463046FFF711FBC0E0307BD8 +:1022C000082805D0FFDF03E0307B082800D0FFDFBF +:1022D000E8891030ADF804003620ADF82800002C55 +:1022E0003FD0A9896181F189A18127E0307B09284C +:1022F00000D0FFDFA88901460C30ADF8040037207C +:10230000ADF82800002C2CD06181E8890090AB89C1 +:10231000688804F10C02296955E0E88939211030F8 +:1023200080B2ADF80400ADF82810002C72D0A98955 +:102330006181287A0E280AD002212173E989E1817E +:10234000288A0090EB8968886969029A3BE001213C +:10235000F3E70AA8009001AB224629463046FFF772 +:1023600055FB6DE0307B0A2800D0FFDFADF804900C +:10237000ADF828704CB3A9896181A4F810B0A4F815 +:102380000EB0012020735BE020E002E030E038E096 +:1023900041E0307B0B2800D0FFDF288AADF82870A1 +:1023A0001230ADF8040084B104212173A989618140 +:1023B000E989E181298A2182688A00902B8A6888CC +:1023C00004F11202696900F051FA39E0307B0C28FF +:1023D00000D0FFDFADF80490ADF828703CB30521C4 +:1023E0002173A4F80AB0A4F80EB0A4F810B027E046 +:1023F0000AA8009001AB224629463046FFF754FA5E +:102400001EE00AA8009001AB224629463046FFF79D +:10241000B3FB15E034E03B21ADF80400ADF8281023 +:1024200074B30120E080A4F808B084F80AB007E093 +:1024300010000020FFDF03E0297A012917D0FFDF19 +:10244000BDF80400AAF800006CB1BDF82800208097 +:10245000BDF804006080BDF82800392803D03C286E +:1024600001D086F80CB011B00020BDE8F08F3C21FF +:10247000ADF80400ADF8281014B1697AA172DFE755 +:10248000AAF80000EFE72DE9F84356880F4680468A +:1024900015460521304610F075FD040000D1FFDF20 +:1024A000123400943B46414630466A680AF03CF8D4 +:1024B000B8E570B50D46052110F064FD040000D1AB +:1024C000FFDF294604F11200BDE8704009F0C6BEE6 +:1024D00070B50D46052110F055FD040000D1FFDF59 +:1024E000294604F11200BDE8704009F0E4BE70B561 +:1024F0000546052110F046FD040000D1FFDF04F180 +:10250000080321462846BDE870400422AFE470B5B8 +:102510000546052110F036FD040000D1FFDF2146FD +:1025200028462368BDE870400522A0E470B5064641 +:10253000052110F027FD040000D1FFDF04F1120097 +:1025400009F07FFE401D20F0030511E0011D008809 +:102550000322431821463046FFF789FC00280BD0A0 +:10256000607BABB2684382B26068011D10F0C7FBAC +:10257000606841880029E9D170BD70B50E460546F6 +:1025800007F056F8040000D1FFDF012020726672C8 +:102590006580207820F00F00C01C20F0F000303063 +:1025A0002070BDE8704007F046B8602801D00720D1 +:1025B00070470878C54900F0010008700020704796 +:1025C0002DE9F0438BB00D461446814606A9FFF76E +:1025D0008AFB002814D14FF6FF7601274FF42058CC +:1025E0008CB103208DF800001020ADF8100007A872 +:1025F000059007AA204604A912F073FA78B10720C3 +:102600000BB0BDE8F0830820ADF808508DF80E70CF +:102610008DF80000ADF80A60ADF80C800CE006986B +:10262000A17801742188C1818DF80E70ADF8085031 +:10263000ADF80C80ADF80A606A4602214846069B58 +:10264000FFF77CFBDCE708B501228DF8022042F69B +:102650000202ADF800200A4603236946FFF731FC69 +:1026600008BD08B501228DF8022042F60302ADF83C +:1026700000200A4604236946FFF723FC08BD00B585 +:1026800087B079B102228DF800200A88ADF80820C1 +:102690004988ADF80A1000236A460521FFF74EFB72 +:1026A00007B000BD1020FBE709B1072309E40720AC +:1026B000704770B588B00D461446064606A9FFF768 +:1026C00012FB00280ED17CB10620ADF808508DF821 +:1026D0000000ADF80A40069B6A460821DC813046BE +:1026E000FFF72CFB08B070BD05208DF80000ADF899 +:1026F0000850F0E700B587B059B107238DF80030D6 +:10270000ADF80820039100236A460921FFF716FB64 +:10271000C6E71020C4E770B588B00C460646002511 +:1027200006A9FFF7E0FA0028DCD106980121123053 +:1027300009F0B9FD9CB12178062921D2DFE801F02A +:10274000200505160318801E80B2C01EE28880B2E4 +:102750000AB1A3681BB1824203D90C20C2E7102042 +:10276000C0E7042904D0A08850B901E00620B9E7E9 +:10277000012913D0022905D004291CD005292AD00B +:102780000720AFE709208DF800006088ADF8080049 +:10279000E088ADF80A00A068039023E00A208DF8D5 +:1027A00000006088ADF80800E088ADF80A00A06875 +:1027B0000A25039016E00B208DF800006088ADF824 +:1027C0000800A088ADF80A00E088ADF80C00A06809 +:1027D0000B25049006E00C208DF8000060788DF841 +:1027E00008000C256A4629463046069BFFF7A6FAE4 +:1027F00078E700B587B00D228DF80020ADF80810FD +:1028000000236A461946FFF799FA49E700B587B0F1 +:1028100071B102228DF800200A88ADF8082049889D +:10282000ADF80A1000236A460621FFF787FA37E75A +:10283000102035E770B586B0064601200D46ADF88C +:1028400008108DF80000014600236A463046FFF765 +:1028500075FA040008D12946304605F0E3FC002152 +:10286000304605F0FDFC204606B070BDF8B51C46AC +:1028700015460E46069F10F0B8FC2346FF1DBCB25D +:1028800031462A46009410F0A2F8F8BD30B4114643 +:10289000DDE902423CB1032903D0002330BC08F03B +:1028A00040BE0123FAE71A8030BC704770B50C4671 +:1028B0000546FFF722FB2146284605F0C2FC2846C4 +:1028C000BDE87040012105F0CBBC000010000020E5 +:1028D0004FF0E0224FF400400021C2F88001BFF326 +:1028E0004F8FBFF36F8F1748016001601649900248 +:1028F00008607047134900B500220A600A60124B55 +:102900004FF060721A60002808BF00BD0F4A104BDC +:10291000DFF840C001280CD002281CBFFFDF00BD3B +:10292000032008601A604FF4000000BFCCF80000DC +:1029300000BD022008601A604FF04070F6E700B555 +:10294000FFDF00BD00F5004008F50140A4020020B3 +:1029500014F5004004F5014070B50B2000F0BDF9FE +:10296000082000F0BAF900210B2000F0D4F9002172 +:10297000082000F0D0F9F44C01256560A560002026 +:10298000C4F84001C4F84401C4F848010B2000F029 +:10299000B5F9082000F0B2F90B2000F091F925609C +:1029A00070BD10B50B2000F098F9082000F095F9E3 +:1029B000E548012141608160E4490A68002AFCD1B0 +:1029C0000021C0F84011C0F84411C0F848110B2094 +:1029D00000F094F9BDE81040082000F08FB910B560 +:1029E0000B2000F08BF9BDE81040082000F086B9FC +:1029F00000B530B1012806D0022806D0FFDF002044 +:102A000000BDD34800BDD34800BDD248001D00BD65 +:102A100070B5D1494FF000400860D04DC00BC5F8EB +:102A20000803CF4800240460C5F840410820C4359D +:102A300000F053F9C5F83C41CA48047070BD08B5B0 +:102A4000C14A002128B1012811D002281CD0FFDF83 +:102A500008BD4FF48030C2F80803C2F84803BB48F1 +:102A60003C300160C2F84011BDE80840D0E74FF4A7 +:102A70000030C2F80803C2F84803B448403001608F +:102A8000C2F84411B3480CE04FF48020C2F80803A8 +:102A9000C2F84803AD4844300160C2F84811AD485F +:102AA000001D0068009008BD70B516460D4604462E +:102AB000022800D9FFDF0022A348012304F11001FE +:102AC0008B4000EB8401C1F8405526B1C1F840218C +:102AD000C0F8043303E0C0F80833C1F84021C0F85F +:102AE000443370BD2DE9F0411D46144630B1012834 +:102AF00033D0022838D0FFDFBDE8F081891E0022E4 +:102B000021F07F411046FFF7CFFF012D23D0002099 +:102B1000944D924F012668703E61914900203C39E6 +:102B200008600220091D08608D49042030390860C2 +:102B30008B483D34046008206C6000F0DFF83004FE +:102B4000C7F80403082000F0BBF88349F007091F09 +:102B500008602E70D0E70120DAE7012B02D00022B6 +:102B6000012005E00122FBE7012B04D00022022016 +:102B7000BDE8F04198E70122F9E774480068704722 +:102B800070B500F0D8F8704C0546D4F84001002626 +:102B9000012809D1D4F80803C00305D54FF48030CB +:102BA000C4F80803C4F84061D4F8440101280CD1EA +:102BB000D4F80803800308D54FF40030C4F80803A4 +:102BC000C4F84461012012F053FFD4F848010128F1 +:102BD0000CD1D4F80803400308D54FF48020C4F882 +:102BE0000803C4F84861022012F042FF5E48056005 +:102BF00070BD70B500F09FF85A4D0446287850B16A +:102C0000FFF706FF687818B10020687012F030FFF7 +:102C10005548046070BD0320F8E74FF0E0214FF401 +:102C20000010C1F800027047152000F067B84B494A +:102C300001200861082000F061B848494FF47C1079 +:102C4000C1F808030020024601EB8003C3F84025C9 +:102C5000C3F84021401CC0B20628F5D37047410A92 +:102C600043F609525143C0F3080010FB02F000F58F +:102C7000807001EB5020704710B5430B48F2376469 +:102C800063431B0C5C020C60384C03FB0400384BA4 +:102C90004CF2F72443435B0D13FB04F404EB402098 +:102CA00000F580704012107008681844086010BD6C +:102CB0002C484068704729490120C1F8000270473C +:102CC000002809DB00F01F0201219140400980002B +:102CD00000F1E020C0F80011704700280DDB00F083 +:102CE0001F02012191404009800000F1E020C0F85E +:102CF0008011BFF34F8FBFF36F8F7047002809DB40 +:102D000000F01F02012191404009800000F1E02005 +:102D1000C0F8801270474907090E002804DB00F153 +:102D2000E02080F80014704700F00F0000F1E02070 +:102D300080F8141D70470C48001F00680A4A0D49AE +:102D4000121D11607047000000B0004004B5004043 +:102D50004081004044B1004008F50140008000403F +:102D6000408500403C00002014050240F7C2FFFFF0 +:102D70006F0C0100010000010A4810B50468094900 +:102D800009480831086012F007FF0648001D04607A +:102D900010BD0649002008604FF0E0210220C1F874 +:102DA000800270471005024001000001FC1F004036 +:102DB000374901200860704770B50D2000F049F8D0 +:102DC000344C0020C4F800010125C4F804530D2040 +:102DD00000F050F825604FF0E0216014C1F80001C8 +:102DE00070BD10B50D2000F034F82A480121416073 +:102DF0000021C0F80011BDE810400D2000F03AB8E5 +:102E0000254810B504682449244808310860214940 +:102E1000D1F80001012804D0FFDF1F48001D046025 +:102E200010BD1B48001D00680022C0B2C1F800217F +:102E300013F0E3FBF1E710B5164800BFD0F800111E +:102E40000029FBD0FFF7DCFFBDE810400D2000F0AB +:102E500011B800280DDB00F01F020121914040094C +:102E6000800000F1E020C0F88011BFF34F8FBFF366 +:102E70006F8F7047002809DB00F01F02012191408D +:102E80004009800000F1E020C0F880127047000087 +:102E900004D5004000D000401005024001000001B0 +:102EA0004FF0E0214FF00070C1F8800101F5C071D2 +:102EB000BFF34F8FBFF36F8FC1F80001394B8022F2 +:102EC00083F8002441F8800C704700B502460420C6 +:102ED000354903E001EBC0031B792BB1401EC0B2A2 +:102EE000F8D2FFDFFF2000BD41F8302001EBC00128 +:102EF00000224A718A7101220A7100BD2A4A00210A +:102F000002EBC0000171704710B50446042800D3DD +:102F1000FFDF254800EBC4042079012800D0FFDF43 +:102F20006079A179401CC0B2814200D060714FF03D +:102F3000E0214FF00070C1F8000210BD70B504250B +:102F4000194E1A4C16E0217806EBC1000279012ACD +:102F500008D1427983799A4204D04279827156F835 +:102F6000310080472078401CC0B22070042801D373 +:102F7000002020706D1EEDB2E5D270BD0C4810B57A +:102F800004680B490B4808310860064890F80004B3 +:102F90004009042800D0FFDFFFF7D0FF0448001DE0 +:102FA000046010BD19E000E0DC050020580000209E +:102FB00010050240010000010548064A01689142DF +:102FC00001D1002101600449012008607047000020 +:102FD0005C000020BEBAFECA40E5014070B50C4658 +:102FE000054609F03DFC21462846BDE870400AF040 +:102FF0001EBD704770477047002101608180704797 +:103000002CFFFFFFDBE5B151007002000001FFFF64 +:103010008C00000090D76A00773D4B16B620AFF9C0 +:10302000F4D1D1B6F33F7AC76170DB6D30B5F84D9E +:103030000446062CA9780ED2DFE804F0030E0E0E2B +:103040000509FFDF08E0022906D0FFDF04E00329BD +:1030500002D0FFDF00E0FFDFAC7030BD30B50446CA +:103060001038EB4D07280CD2DFE800F0040C060CFA +:103070000C0C0C00FFDF05E0287E112802D0FFDFDA +:1030800000E0FFDF2C7630BD2DE9F04111F094FE19 +:10309000044613F0C7F8201AC5B206200FF01AFF35 +:1030A000044606200FF01EFF211AD94C207E12285C +:1030B00018D000200F1807200FF00CFF064607203D +:1030C0000FF010FF301A3918207E13280CD0002082 +:1030D0000144A078042809D000200844281AC0B26E +:1030E000BDE8F0810120E5E70120F1E70120F4E7E8 +:1030F000C74810B590F825004108C54800F12600E2 +:1031000005D00DF06BFFBDE8104006F0B3B80DF030 +:1031100046FFF8E730B50446A1F120000D460A2825 +:103120004AD2DFE800F005070C1C2328353A3F445B +:10313000FFDF42E0207820283FD1FFDF3DE0B448A8 +:103140008178052939D0007E122836D020782428AD +:1031500033D0252831D023282FD0FFDF2DE0207851 +:1031600022282AD0232828D8FFDF26E0207822280A +:1031700023D0FFDF21E0207822281ED024281CD075 +:1031800026281AD0272818D0292816D0FFDF14E0C7 +:103190002078252811D0FFDF0FE0207825280CD0DB +:1031A000FFDF0AE02078252807D0FFDF05E0207840 +:1031B000282802D0FFDF00E0FFDF257030BD1FB5FB +:1031C00004466A46002001F0AFFEB4B1BDF802200B +:1031D0004FF6FF700621824201D1ADF80210BDF812 +:1031E0000420824201D1ADF80410BDF808108142DC +:1031F00003D14FF44860ADF8080068460EF058FB64 +:1032000006F038F804B010BD70B514460D460646F9 +:10321000FEF71FF858B90DB1A54201D90C2070BDB9 +:10322000002408E056F82400FEF713F808B1102037 +:1032300070BD641CE4B2AC42F4D3002070BD2DE933 +:10324000F04105461F4690460E4600240068FEF7F2 +:103250004DF830B9A98828680844401EFEF746F8A2 +:1032600008B110203CE728680028A88802D0B8429E +:1032700002D850E00028F5D0092031E72968085D20 +:10328000B8B1671CCA5D152A2ED03CDC152A3AD28B +:10329000DFE802F03912222228282A2A313139396E +:1032A00039393939393939392200085D30BB641C64 +:1032B000A4B2A242F9D833E00228DDD1A01C085CF8 +:1032C00088F80000072801D2400701D40A2007E748 +:1032D000307840F0010015E0C143C90707E001283C +:1032E00007D010E00620FBE60107A1F1805100297C +:1032F000F5D01846F4E63078810701D50B20EFE6CB +:1033000040F0020030702868005D384484B2A8881C +:10331000A04202D2B0E74FF4485382B2A242ADD8E5 +:103320000020DDE610B5027843F2022354080122A2 +:10333000022C12D003DC3CB1012C16D106E0032C88 +:1033400010D07F2C11D112E0002011E080790324ED +:10335000B4EB901F09D10A700BE08079B2EB901F9B +:1033600003D1F8E780798009F5D0184610BDFF2019 +:103370000870002010BD08B500208DF8000024481A +:1033800090F82E1049B190F82F0002280ED0032893 +:103390000ED0FFDF9DF8000008BD1D4869462530AE +:1033A00001F011FE0028F5D0FFDFF3E7032000E075 +:1033B00001208DF80000EDE738B50C46054669465A +:1033C00001F001FE00280DD19DF80010207861F376 +:1033D0004700207055F8010FC4F80100A888A4F830 +:1033E0000500002038BD38B51378A8B1022813D0E5 +:1033F000FF281AD007A46D46246800944C7905EB89 +:103400009414247864F347031370032809D00FE061 +:10341000F00100200302FF0123F0FE0313700228D5 +:10342000F3D1D8B240F0010005E043F0FE00107087 +:10343000107820F0010010700868C2F80100888838 +:10344000A2F8050038BD02210FF09CBD38B50C462E +:103450000978222901D2082038BDADF800008DF886 +:10346000022068460DF0FCFD05F004FF050003D1C5 +:1034700021212046FFF74EFE284638BD1CB500200E +:103480008DF80000CDF80100ADF80500FB4890F87C +:103490002E00022801D0012000E000208DF8070056 +:1034A00068460DF065FE002800D0FFDF1CBD00223D +:1034B0000A80437892B263F3451222F040020A80F8 +:1034C00000780C282BD2DFE800F02A06090E11162E +:1034D000191C1F220C2742F0110009E042F01D00C8 +:1034E00008800020704742F0110012E042F0100006 +:1034F00040F00200F4E742F01000F1E742F0010072 +:10350000EEE742F0010004E042F00200E8E742F09A +:10351000020040F00400E3E742F00400E0E7072087 +:1035200070472DE9FF478AB00025BDF82C60824620 +:103530001C4691468DF81C50700703D56068FDF756 +:1035400088FE68B9CD4F4FF0010897F82E0058B1AA +:1035500097F82F00022807D16068FDF7C7FE18B161 +:1035600010200EB0BDE8F087300702D5A089802872 +:103570003ED8700705D4B9F1000F02D097F82400A7 +:10358000A0B3E07DC0F300108DF81B00627D072022 +:10359000032162B3012A2DD0022AE2D0042AE0D10D +:1035A0008DF81710F00628D4A27D07202AB3012A2F +:1035B00023D0022A24D0042AD3D18DF8191000BFB9 +:1035C0008DF81590606810B307A9FFF7ABFE0028CF +:1035D000C7D19DF81C00FF2816D0606850F8011F65 +:1035E000CDF80F108088ADF8130014E000E001E082 +:1035F0000720B6E78DF81780D4E78DF81980DFE74C +:1036000002208DF81900DBE743F20220A9E7CDF88C +:103610000F50ADF81350E07B40B9207C30B9607C8E +:1036200020B9A07C10B9E07CC00601D0062098E744 +:103630008DF800A0BDF82C00ADF80200A068019044 +:10364000A068029004F10F0001F0B1FC8DF80C00AD +:10365000FFF791FE8DF80D009DF81C008DF80E000F +:103660008DF816508DF81850E07D08A900F00F0075 +:103670008DF81A0068460EF057FA05F0FBFD70E76A +:10368000F0B58FB000258DF830508DF814508DF8BE +:10369000345006468DF828500195029503950495FF +:1036A00019B10FC901AC84E80F00744CA07805284B +:1036B00001D004280CD101986168884200D120B95A +:1036C0000398E168884203D110B108200FB0F0BD23 +:1036D000207DC00601D51F2700E0FF273B460DAA2D +:1036E00005A903A8FFF7ABFD0028EFD1A08AC10709 +:1036F00002D0C00600D4EE273B460AAA0CA901A8B6 +:10370000FFF79DFD0028E1D19DF81400C00701D00E +:103710000A20DBE7A08A410708D4A17D31B19DF8DA +:103720002810890702D043F20120CFE79DF8281026 +:10373000C90709D0400707D4208818B144F2506166 +:10374000884201D90720C1E78DF818508DF819601B +:10375000BDF80800ADF81A000198079006A80EF011 +:10376000EFF905F087FD0028B0D18DF820508DF8D5 +:103770002160BDF81000ADF822000398099008A858 +:103780000EF000FA05F076FD00289FD101AD241D52 +:1037900095E80F0084E80F00002097E770B586B029 +:1037A0000D46040005D0FDF7A1FD20B1102006B0A4 +:1037B00070BD0820FBE72078C107A98802D0FF2947 +:1037C00002D303E01F2901D20920F0E7800763D468 +:1037D000FFF75AFC38B12178C1F3C100012804D0A9 +:1037E000032802D005E01320E1E7244890F82400E4 +:1037F000C8B1C8074FF001064FF0000502D08DF8A0 +:103800000F6001E08DF80F50FFF7B5FD8DF8000057 +:1038100020786946C0F3C1008DF8010060788DF80A +:103820000250C20801D00720C1E730B3C20701D05F +:103830008DF80260820705D59DF8022042F0020251 +:103840008DF80220400705D59DF8020040F00400E5 +:103850008DF80200002022780B18C2F38002DA7083 +:1038600001EB40026388D380401CA388C0B253811F +:103870000228F0D3207A78B905E001E0F0010020B9 +:103880008DF80260E6E7607A30B9A07A20B9E07A74 +:1038900010B9207BC00601D0062088E704F108009B +:1038A00001F085FB8DF80E0068460DF06AFD05F00D +:1038B000E1FC002889D18DF810608DF81150E08866 +:1038C000ADF81200ADF8145004A80DF0ADFD05F0F0 +:1038D000D1FC002888D12078C00701D0152000E055 +:1038E0001320FFF7BBFB002061E72DE9FF47022013 +:1038F000FD4E8DF804000027708EADF80600B84626 +:1039000043F202094CE001A80FF0A3FA050006D02B +:10391000708EA8B3A6F83280ADF806803EE0039C16 +:10392000A07F01072DD504F124000090A28EBDF8E0 +:103930000800214604F1360301F0D4FC050005D04F +:103940004D452AD0112D3CD0FFDF3AE0A07F20F07A +:103950000801E07F420862F3C711A177810861F393 +:103960000000E07794F8210000F01F0084F82000A8 +:103970002078282826D129212046FFF7CBFB21E0FB +:1039800014E040070AD5BDF8080004F10E0101F06B +:1039900024FB05000DD04D4510D100257F1CFFB242 +:1039A00002200FF097FA401CB842ACD8052D11D078 +:1039B00008E0A07F20F00400A07703E0112D00D0E4 +:1039C000FFDF0025BDF806007086052D04D02846CF +:1039D00004B0C7E5A6F832800020F9E770B50646C6 +:1039E000FFF731FD054605F023FE040000D1FFDF9F +:1039F0006680207820F00F00801C20F0F00020303E +:103A000020700320207295F83E006072BDE870407F +:103A100005F011BE2DE9F04786B0040000D1FFDFAC +:103A20002078B14D20F00F00801C20F0F0007030A5 +:103A3000207060680178491F1B2933D2DFE801F04C +:103A4000FE32323255FD320EFDFD42FC323232780A +:103A5000FCFCFBFA32FCFCF9F8FCFC00C6883046A2 +:103A6000FFF7F1FC0546304607F051FCE0B1606815 +:103A7000007A85F83E0021212846FFF74BFB3046AF +:103A8000FEF758FB304603F0F1FE3146012013F0FB +:103A900079F8A87F20F01000A877FFF726FF00280C +:103AA00000D0FFDF06B05DE5207820F0F000203088 +:103AB00020700320207266806068007A607205F0D2 +:103AC000BAFDD8E7C5882846FFF7BDFC00B9FFDF7F +:103AD00060680079012800D0FFDF6068017A06B0D5 +:103AE0002846BDE8F04707F0F7BDC6883046FFF727 +:103AF000AAFC050000D1FFDF05F09DFD606831469E +:103B00000089288160684089688160688089A8810F +:103B1000012013F037F80020A875A87F00F00300FB +:103B20000228BFD1FFF7E1FE0028BBD0FFDFB9E7D5 +:103B3000007928B10228B5D03C28B3D0FFDFB1E727 +:103B400005F079FD6668B6F806A0307A361D0128C2 +:103B500006D0687E814605F0F9FA070003D101E03E +:103B6000E878F7E7FFDF0022022150460FF001FA64 +:103B7000040000D1FFDF22212046FFF7CBFA307985 +:103B8000012800D00220A17F804668F30101A177BF +:103B9000308B2081708B6081B08BA08184F8229063 +:103BA0008DF80880B8680090F86801906A46032193 +:103BB00050460FF0DEF900B9FFDFB888ADF810000D +:103BC000B8788DF8120004AA052150460FF0D1F9FB +:103BD00000B9FFDFB888ADF80C00F8788DF80E005A +:103BE00003AA042150460FF0C4F900B9FFDF0621F3 +:103BF00006F1120001F00FFA40B37079800700D58A +:103C0000FFDF7179E07D61F34700E075D6F80600CB +:103C1000A0617089A083062106F10C0001F0FBF978 +:103C2000F0B195F825004108607861F3470006E09F +:103C300041E039E071E059E04EE02FE043E0607090 +:103C4000D5F82600C4F80200688D12E0E07D20F06F +:103C5000FE00801CE075D6F81200A061F08AD9E75A +:103C6000607820F0FE00801C6070F068C4F80200EC +:103C7000308AE080B8F1010F04D0B8F1020F05D00E +:103C8000FFDF0FE70320FFF7D1F90BE7287E1228AB +:103C900000D0FFDF1120FFF7E1F903E706B020466F +:103CA000BDE8F04701F0AABD05F0C5FC15F8300FDE +:103CB00040F0020005E005F0BEFC15F8300F40F0C2 +:103CC00004002870EEE6287E13280AD01528D8D1E3 +:103CD0005FF01600FFF7C2F906B0BDE8F04705F047 +:103CE000AABC1420F6E70000F0010020A9780529FD +:103CF00009D00429C5D105F09EFC022006B0BDE81C +:103D0000F047FFF793B900790028BAD0E87801F0BE +:103D100035F905F090FC0320F0E7287E122802D147 +:103D2000687E01F02BF91120D4E72DE9F05F0546FC +:103D300000784FF000080009DFF8B4A891460C465F +:103D4000464601286ED002286DD007280BD00A28DD +:103D50006AD0FFDFA9F8006014B1A4F80080668083 +:103D60000020BDE8F09F6968012704F108000B7886 +:103D70004FF0020B5B1F4FF6FF721B2B7ED2DFE86A +:103D800003F0647D7D7D0E7D7D7D7D7D7D217D7D4E +:103D90007D2BFDFCFBFA7D14D2F9E7F8F700C8880B +:103DA0004FF01208102621469AE14FF01C080A260F +:103DB000BCB38888A0806868807920726868C07900 +:103DC0006072C7E74FF01B08142654B3032020721B +:103DD00068688088A080BDE70A793C2ABAD00D1DAA +:103DE0004FF010082C26E4B16988A180298B6182EC +:103DF000298B2182698BA182A98BE1826B79024692 +:103E0000A91D1846FFF7EFFA2979002001290CD0E7 +:103E100084F80FB0FF212176E06120626062A06229 +:103E200098E70FE03BE15EE199E1E77320760AF164 +:103E3000040090E80E00DAF81000C4E90930C4E983 +:103E4000071287E7A9F800608AE72C264FF01D08C3 +:103E5000002CF7D0A28005460F1D897B008861F3F6 +:103E600000002880B97A490861F341002880B97AB6 +:103E7000890861F382002880B97A00E00CE1C90862 +:103E800061F3C3002880B97AAA1C0911491C61F3A7 +:103E9000041000F07F0028807878B91CFFF7A3FA9F +:103EA000387D05F1090207F11501FFF79CFA387B0F +:103EB00001F0C0F82874787B01F0BCF86874F87ED3 +:103EC000A874787AE874387F2875B87B6875388A62 +:103ED000E882DAF81C10A961B97A504697F808A070 +:103EE000C1F34111012904D0008C504503D2824610 +:103EF00009E0FFDF10E0022903D0288820F06000ED +:103F000009E0504504D1288820F06000403002E0EC +:103F1000288840F060002880A4F824A0524607F1C9 +:103F20001D01A8699BE011264FF02008002C89D0C4 +:103F3000A280686804F10A02007920726868007B38 +:103F4000607269688B1D48791946FFF74CFA01E7E2 +:103F50000A264FF02108002CE9D08888A0806868E4 +:103F6000807920726868C07960729AF8301006E033 +:103F700078E06BE052E07FE019E003E03AE021F006 +:103F80000401A6E00B264FF02208002CCFD0C888F1 +:103F9000A0806868007920726868007A01F04AF8A9 +:103FA00060726868407A01F045F8A072D2E61C267B +:103FB0004FF02608002CBAD0A28068684079607261 +:103FC0006868007AA0720AF1040090E80E00DAF83E +:103FD0001000C4E90530C4E90312686800793C2880 +:103FE00003D0432803D0FFDFB4E62772B2E684F89B +:103FF00008B0AFE610264FF02408002C97D0888830 +:10400000A0806868807920816868807A60816868AB +:104010000089A08168688089E0819BE610264FF0C6 +:104020002308002C98D08888A0806868C0882081E8 +:1040300068680089608168684089A08168688089B3 +:10404000E0819AF8301021F0020142E030264FF072 +:104050002508002C9AD0A2806968282249680AF0B5 +:10406000FAF977E62A264FF02F08002C8ED0A2808E +:1040700069682222091DF2E714264FF01B08002C64 +:1040800084D0A280686800790128B0D02772DAE96C +:104090000710C4E903105DE64A46214660E0287A2D +:1040A000012803D0022817D0FFDF53E610264FF077 +:1040B0001F08002CA2D06888A080A8892081E889E8 +:1040C0006081288AA081688AE0819AF8301021F006 +:1040D00001018AF830103DE64FF01208102668887A +:1040E00000F086FF36E6287AC8B3012838D00228C7 +:1040F00036D0032801D0FFDF2CE609264FF0110847 +:10410000002C8FD06F883846FFF79DF990F822A0D9 +:10411000A780687A2072042138460EF045FF0521F9 +:1041200038460EF041FF002138460EF03DFF0121D8 +:1041300038460EF039FF032138460EF035FF0221D4 +:1041400038460EF031FF062138460EF02DFF0721CC +:1041500038460EF029FF504600F010FFFAE5FFE761 +:104160002846BDE8F05F01F0D3BC70B5012803D04C +:10417000052800D0FFDF70BD8DB22846FFF763F938 +:10418000040000D1FFDF20782128F4D005F050FA98 +:1041900080B1017821F00F01891C21F0F00110316C +:1041A00001700221017245800020A075BDE87040B9 +:1041B00005F041BA21462846BDE870401322FFF7BA +:1041C00045B92DE9F04116460C00804600D1FFDFCD +:1041D000307820F00F00801C20F0F000103030709C +:1041E0002078012804D0022818D0FFDFBDE8F08134 +:1041F0004046FFF728F9050000D1FFDF0320A8752E +:1042000005F019FA94E80F00083686E80F00F84820 +:1042100010F8301F41F001010170E7E74046FFF759 +:1042200012F9050000D1FFDFA1884FF6FF700027CB +:10423000814202D1E288824203D0814201D1E088EA +:1042400040B105F0F8F994E80F00083686E80F0051 +:10425000AF75CBE7A87D0128C8D17823002241465D +:1042600012F0E6FB0220A875C0E738B50C462428FA +:104270005ED008DC20280FD0212825D022284DD060 +:10428000232806D14EE0252841D0262832D03F28C9 +:1042900053D00725284638BD0021052012F048FCE0 +:1042A00008B1112038BDA01C0DF055FB04F0E2FF51 +:1042B0000500EFD1002208231146052012F0B8FBBB +:1042C0000528E7D0FFDFE5E76068FDF706F808B1ED +:1042D000102038BD618820886A460DF0E5FD04F0A5 +:1042E000C9FF0500D6D160680028D3D0BDF8001002 +:1042F0000180CFE7206820B1FCF7F8FF08B1102556 +:10430000C8E720460DF0A5FE1FE00546C2E7A078ED +:1043100000F0010120880DF0F8FD16E0086801F0BA +:10432000A3FEF2E7087800F001000CF02BFE0CE091 +:10433000618820880DF033FD07E0087800F0010067 +:104340008DF8000068460DF051F904F093FFDCE7AA +:1043500070B505460C460846FCF7A1FF08B11020D1 +:1043600070BD202D07D0212D0DD0222D0BD0252D55 +:1043700009D0072070BD2088A11C0CF0D7FEBDE835 +:10438000704004F077BF062070BD99482530704713 +:1043900008B53422002196480AF087F80120FEF77C +:1043A00045FE1120FEF75AFE91496846263105F078 +:1043B000D5F88F489DF8002010F8251F62F34701BB +:1043C00021F001010170002141724FF46171A0F8E8 +:1043D000071002218172FEF78BFE00B1FFDFFDF7AF +:1043E00001F801F0D4F908BD10B50C4640220021B7 +:1043F00020460AF05AF8A07F20F00300A077202082 +:1044000020700020A07584F8230010BD70472DE9AE +:10441000FC410746FCF71DFF10B11020BDE8FC81F0 +:10442000734E06F12501D6F825000090B6F8295004 +:10443000ADF8045096F82B408DF806403846FEF74C +:10444000BBFF0028EAD1FEF753FE0028E6D0009912 +:1044500046F8251FB580B471E0E710B50446FCF7B7 +:104460001EFF08B1102010BD61486149224690F836 +:10447000250026314008FEF7B6FF002010BD3EB5EE +:1044800004460D460846FCF70AFF08B110203EBD61 +:1044900014B143F204003EBD55488078052803D08E +:1044A000042801D008203EBD694602A80AF020FC7D +:1044B0002A4669469DF80800FEF795FF00203EBD9C +:1044C000FEB50D4604004FF0000712D00822FEF79B +:1044D0009BFE002812D1002609E000BF54F82600F8 +:1044E0006946FEF71FFF002808D1761CF6B2AE42DF +:1044F000F4D30CF08EFC10B143F20320FEBD3C4E11 +:1045000086F824700CB300271BE000BF54F8270086 +:1045100002A9FEF707FF00B1FFDF9DF808008DF844 +:10452000000054F8270050F8011FCDF801108088D2 +:10453000ADF8050068460CF091FC00B1FFDF7F1C70 +:10454000FFB2AF42E2D386F824500020FEBD2DE931 +:10455000F0478AB01546894604001FD00F4608224E +:104560002946FEF751FE002811D1002614E000BFB5 +:1045700054F826006946103000F025FD002806D1C9 +:1045800047B157F82600FCF764FE18B110200AB0B6 +:10459000BDE8F087761CF6B2AE42E9D30026A5F15D +:1045A00001081BE006F1010A0AF0FF0712E000BF54 +:1045B00054F82600017C4A0854F827100B7CB2EB13 +:1045C000530F05D106221130113109F017FF58B1F0 +:1045D0007F1CFFB2AF42EBD30AF0FF064645E1DB9A +:1045E0004E463CB1012006E043F20520CFE7000033 +:1045F000F001002000200CF056FC10B90CF05FFC1C +:1046000010B143F20420C2E764B300270DF117088C +:1046100026E000BF54F827006946103000F0D3FCB4 +:1046200000B1FFDF54F82700102250F8111FCDF819 +:1046300001108088ADF8050054F827100DF107002F +:1046400009F009FF96B156F827101022404609F0EC +:1046500002FF68460CF0E7FB00B1FFDF7F1CFFB2F2 +:10466000AF42D7D3FEF70AFF002090E7404601F0A3 +:10467000EFFCEEE730B585B00446FDF7B3F830B98E +:1046800006200EF027FC10B1062005B030BD2046F4 +:10469000FCF7DFFD18B96068FCF728FE08B11020B0 +:1046A000F3E760884AF2B811884206D82078F94DBD +:1046B00028B1012806D0022804D00720E5E7FEF73C +:1046C00017FD18E06078022804D0032802D043F2D6 +:1046D0000220DAE785F82F00C1B200200090ADF883 +:1046E000040002292CD0032927D0FFDF68460CF0F4 +:1046F00075FC04F0BFFD0028C7D1606801F09BFC89 +:10470000207858B101208DF800000DF1010001F072 +:104710009FFC68460DF05FFC00B1FFDF207885F854 +:104720002E00FEF7ABFE608860B1A88580B20CF069 +:10473000B2FB00B1FFDF0020A7E78DF80500D5E749 +:104740004020FAE74FF46170EFE710B50446FCF73C +:10475000A6FD20B9606838B1FCF7BFFD08B1102094 +:1047600010BD606801F074FCCA4830F82C1F6180ED +:10477000C178617080782070002010BD2DE9F84369 +:10478000144689460646FCF78AFDA0B94846FCF760 +:10479000ADFD80B92046FCF7A9FD60B9BD4DA878F4 +:1047A000012800D13CB13178FF2906D049B143F24C +:1047B0000400BDE8F8831020FBE7012801D00420A5 +:1047C000F7E7CCB3052811D004280FD0694620465E +:1047D000FEF76DFE0028ECD1217D49B1012909D0F9 +:1047E000022909D0032909D00720E2E70820E0E7E1 +:1047F000024604E0012202E0022200E00322804699 +:104800002346174600200099FEF78BFE0028D0D1E2 +:10481000A0892880A07BE875BDF80000A882AF754C +:10482000BDF80010090701D5A18931B1A1892980FE +:10483000C00704D0032003E006E08021F7E7022050 +:10484000FEF7F4FB86F800804946BDE8F8430020F7 +:10485000FEF716BF7CB58F4C05460E46A0780228A1 +:1048600003D0032801D008207CBD15B143F2040019 +:104870007CBD07200EF036FB10B9A078032806D0C7 +:10488000FEF702FC28B1A078032804D009E012202A +:104890007CBD13207CBD304600F053FB0028F9D1CD +:1048A000E670FEF768FD0AF060F901208DF800005F +:1048B0008DF801008DF802502088ADF80400E07DED +:1048C0008DF8060068460DF02DFA04F0D3FC0028A0 +:1048D000E0D1A078032805D05FF00400FEF7A6FB26 +:1048E00000207CBDE07800F03CFB0520F6E71CB51D +:1048F00010B143F204001CBD664CA078042803D01C +:10490000052801D008201CBD00208DF800000121E1 +:104910008DF801108DF8020068460DF003FA04F0DE +:10492000A9FC0028EFD1A078052805D05FF002008F +:10493000FEF77CFB00201CBDE07800F01FFB03208D +:10494000F6E72DE9FC4180460E4603250846FCF7B4 +:10495000CDFC002866D14046FEF775FD040004D06A +:104960002078222804D2082058E543F2020055E5B9 +:10497000A07F00F003073EB1012F0CD0002031468C +:10498000FEF71DFC0500EFD1012F06D0022F1AD033 +:10499000FFDF284642E50120F1E7A07D31460228ED +:1049A00001D011B107E0112038E56846FCF74EFE52 +:1049B0000028D9D16946404606F051FE0500E8D1ED +:1049C0000120A075E5E7A07D032804D1314890F8C7 +:1049D0003000C00701D02EB30EE026B1A07F400703 +:1049E0001ED4002100E00121404606F058FE0500DB +:1049F000CFD1A075002ECCD03146404600F0EDFA64 +:104A000005461128C5D1A07F4107C2D4316844F8BA +:104A10000E1F7168616040F0040020740025B8E743 +:104A20001125B6E71020F9E470B50C460546FEF7EF +:104A30000AFD010005D022462846BDE87040FEF779 +:104A400005BD43F2020070BD10B5012807D1114B1E +:104A50009B78012B00D011B143F2040010BD0CF083 +:104A60004CFABDE8104004F005BC012300F090BAF8 +:104A700000231A46194600F08BBA70B506460C465C +:104A80000846FCF7E6FB18B92068FCF708FC18B1EB +:104A9000102070BDF0010020F84D2A7E112A04D0AC +:104AA000132A00D33EB10820F3E721463046FEF733 +:104AB00075FE60B1EDE70920132A0DD0142A0BD042 +:104AC000A188FF29E5D31520FEF7C8FA0020D4E914 +:104AD0000012C5E90712DCE7A1881F29D9D31320EA +:104AE000F2E71CB5E548007E132801D208201CBD62 +:104AF00000208DF8000068460CF096FC04F0BAFB2C +:104B00000028F4D11120FEF7A9FA00201CBD2DE9E0 +:104B1000F04FDFF868A3814691B09AF818009B46E1 +:104B200015460C46132803D3FFF7DBFF00281FD1DF +:104B30002046FCF78EFBE8BB2846FCF78AFBC8BB87 +:104B400020784FF00107C0074FF0000102D08DF828 +:104B50003A7001E08DF83A1020788846C0F3C10021 +:104B60008DF8000060788DF80910C10803D0072087 +:104B700011B0BDE8F08FB0B3C10701D08DF8097056 +:104B8000810705D59DF8091041F002018DF8091043 +:104B9000400705D59DF8090040F004008DF8090094 +:104BA0009DF80900810703D540F001008DF8090048 +:104BB000002000E015E06E4606EB400162884A8165 +:104BC000401CA288C0B20A820328F5D32078C0F323 +:104BD000C100012825D0032823D04846FCF739FB23 +:104BE00028B11020C4E7FFE78DF80970D8E799F8DD +:104BF0000000400808D0012809D0022807D0032867 +:104C000005D043F20220B3E78DF8028001E08DF871 +:104C10000270484650F8011FCDF803108088ADF8A7 +:104C20000700FEF7A8FB8DF801000021424606EBC5 +:104C300041002B88C3826B888383AB884384EB88D5 +:104C40000385491CC285C9B282860329EFD3E08857 +:104C5000ADF83C0068460CF0BFFC002887D19AF8FC +:104C600018005546112801D0082081E706200EF0D3 +:104C700039F938B12078C0F3C100012804D00328E5 +:104C800002D006E0122073E795F8240000283FF4D4 +:104C90006EAFFEF7F9F9022801D2132068E75846F3 +:104CA00000F04FF900289DD185F819B068460CF046 +:104CB000D9FD04F0DFFA040094D1687E00F051F9C8 +:104CC0001220FEF7CBF9204652E770B56B4D287ED7 +:104CD000122801D00820DCE60CF0C7FD04F0CAFA67 +:104CE000040005D1687E00F049F91120FEF7B6F9FD +:104CF0002046CEE670B5064615460C460846FCF73B +:104D0000CEFA18B92846FCF7CAFA08B11020C0E656 +:104D10002A46214630460DF0A7F804F0ABFA0028E9 +:104D2000F5D121787F29F2D10520B2E67CB5054680 +:104D30000C460846FCF78DFA08B110207CBD2846C9 +:104D4000FEF781FB20B10078222804D208207CBD28 +:104D500043F202007CBD494890F83000400701D57D +:104D600011207CBD2078C00802D16078C00801D035 +:104D700007207CBDADF8005020788DF802006078E7 +:104D80008DF803000220ADF8040068460BF0A7FE82 +:104D900004F070FA7CBD70B586B014460D46064628 +:104DA000FEF751FB28B10078222805D2082006B072 +:104DB0006FE643F20200FAE72846FCF797FA20B9BB +:104DC00044B12046FCF789FA08B11020EFE7002033 +:104DD0002060A080294890F83000800701D511207C +:104DE000E5E703A930460BF0CAFE10B104F042FA21 +:104DF000DDE7ADF80060BDF81400ADF80200BDF8C5 +:104E00001600ADF80400BDF81000BDF81210ADF8A2 +:104E10000600ADF808107DB1298809B1ADF806107B +:104E2000698809B1ADF80210A98809B1ADF8081078 +:104E3000E98809B1ADF80410DCB1BDF80610814273 +:104E400001D9081A2080BDF80210BDF81400814273 +:104E500001D9081A6080BDF80800BDF80410BDF83B +:104E600016200144BDF812001044814201D9081AED +:104E7000A08068460BF041FFB8E70000F001002079 +:104E80001CB574490968CDE9001068460CF0A6FB12 +:104E900004F0F0F91CBD1CB500200090019068469C +:104EA0000CF09CFB04F0E6F91CBD70B505460C4601 +:104EB0000846FCF7F4F908B11020EAE52146284637 +:104EC0000CF07EF9BDE8704004F0D4B93EB505465B +:104ED0000C460846FCF7E3F908B110203EBD00205F +:104EE000009001900290ADF800502089ADF80800C4 +:104EF00020788DF80200606801902089ADF80800E4 +:104F00006089ADF80A0068460CF06CF904F0B2F95B +:104F10003EBD0EB5ADF800000020019068460CF0D3 +:104F200061F904F0A7F90EBD108008885080488808 +:104F30009080C88810818888D0800020508190811E +:104F4000704710B5044604F001F930B1407830B133 +:104F5000204604F014FC002010BD052010BD1220D6 +:104F600010BD10B504F0F2F8040000D1FFDF607846 +:104F700000B9FFDF6078401E607010BD10B504F00E +:104F8000E5F8040000D1FFDF6078401C607010BDC0 +:104F90001CB5ADF800008DF802308DF803108DF8C7 +:104FA000042068460CF023FF04F064F91CBD0CB526 +:104FB00029A2D2E90012CDE900120079694601EB7D +:104FC000501000780CBD0278520804D0012A02D09B +:104FD00043F202207047FEF7A5B91FB56A46FFF7F6 +:104FE000A3FF68460CF074FC04F044F904B010BD53 +:104FF00070B50C0006460DD0FEF725FA050000D16D +:10500000FFDFA68028892081288960816889A081A6 +:10501000A889E0813DE510B500231A4603E0845CD1 +:105020002343521CD2B28A42F9D30BB1002010BDE7 +:10503000012010BD00B540B1012805D0022803D0E1 +:10504000032804D0FFDF002000BDFF2000BD0420A6 +:1050500000BD0000BC620200070605040302010057 +:1050600010B50446FCF7F5F808B1102010BD207803 +:10507000C0F30210042807D86078072804D3A17869 +:10508000102901D8814201D2072010BDE0784107E4 +:1050900006D421794A0703D4000701D4080701D5B3 +:1050A000062010BD002010BD10B513785C08837F6A +:1050B00064F3C713837713789C08C37F64F30003FA +:1050C000C3771078C309487863F3410048701378B8 +:1050D0001C090B7864F347130B701378DB0863F338 +:1050E000000048705078487110BD10B5C4780B7836 +:1050F00064F300030B70C478640864F341030B701D +:10510000C478A40864F382030B70C478E40864F3E1 +:10511000C3030B700379117863F3000111700379F5 +:105120005B0863F34101117003799B0863F382010B +:1051300011700079C00860F3C301117010BD70B523 +:1051400014460D46064604F073FA80B10178182221 +:1051500021F00F01891C21F0F001A03100F8081B9B +:10516000214609F078F9BDE8704004F064BA294698 +:105170003046BDE870401322FEF768B92DE9F047CC +:10518000064608A8904690E8300489461F46142237 +:105190000021284609F089F90021CAF80010B8F169 +:1051A000000F03D0B9F1000F03D114E03878C00725 +:1051B00011D02068FCF773F8C0BBB8F1000F07D11D +:1051C0002068123028602068143068602068A86069 +:1051D0002168CAF800103878800724D56068FCF789 +:1051E0007CF818BBB9F1000F21D0FFF7CEF80168A9 +:1051F000C6F868118188A6F86C11807986F86E016E +:1052000001F015FDF94FEF60626862B196F8680130 +:1052100006F2691140081032FEF7E5F8102239460F +:10522000606809F018F90020BDE8F08706E06068C2 +:1052300020B1E8606068C6F86401F4E71020F3E785 +:1052400030B5054608780C4620F00F00401C20F0D1 +:10525000F001103121700020607095F8230030B10A +:1052600004280FD0052811D0062814D0FFDF20789D +:105270000121B1EB101F04D295F8200000F01F00AF +:10528000607030BD21F0F000203002E021F0F0002D +:1052900030302070EBE721F0F0004030F9E7F0B556 +:1052A00091B0022715460C4606463A46ADF80870FE +:1052B000092103AB05F057F80490002810D0042012 +:1052C0008DF804008DF80170E034099605948DF88E +:1052D00018500AA968460FF050FB00B1FFDF01200B +:1052E00011B0F0BD10B588B00C460A99ADF80000B9 +:1052F000CBB11868CDF80200D3F80400CDF8060051 +:10530000ADF80A20102203A809F0A5F868460CF0B1 +:105310004FFB03F0AFFF002803D1A17F41F0100144 +:10532000A17708B010BD0020CDF80200E6E72DE916 +:10533000F84F0646808A0D4680B28246FEF783F813 +:1053400004463078DFF8A48200274FF00209A8F164 +:1053500020080F2870D2DFE800F06FF23708387DA0 +:105360008CC8F1F0EFF35FF3F300A07F00F00300CF +:10537000022809D05FF0000080F0010150460DF0D6 +:1053800001FE050003D101E00120F5E7FFDF98F8F9 +:105390005C10C90702D0D8F860000BE0032105F1CA +:1053A0001D0011F008F9D5F81D009149B0FBF1F28C +:1053B00001FB1200C5F81D0070686867B068A86737 +:1053C0002078252800D0FFDFCAE0A07F00F003008E +:1053D000022809D05FF0000080F0010150460DF076 +:1053E000D1FD060003D101E00120F5E7FFDF3078B1 +:1053F000810702D52178252904D040F001003070C2 +:10540000BDE8F88F85F80090307F287106F11D0007 +:105410002D36C5E90206F3E7A07F00F0030002285D +:1054200008D0002080F0010150460DF0ABFD0400D3 +:1054300004D102E00120F5E7A7E1FFDF2078C106F3 +:1054400004D5072028703D346C60D9E740F008008F +:105450002070D5E7E07F000700D5FFDF307CB28801 +:1054600000F0010301B05046BDE8F04F092106F0FD +:1054700058B804B9FFDF716821B1102204F124008B +:1054800008F0E9FF28212046FDF744FEA07F00F048 +:10549000030002280ED104F12400002300901A46D4 +:1054A00021465046FFF71EFF112807D0292120462C +:1054B000FDF730FE307A84F82000A1E7A07F0007D6 +:1054C00000D5FFDF14F81E0F40F008002070E782BF +:1054D000A761E761C109607861F34100014660F3AB +:1054E00082016170307AE0708AE7A07F00F00300EB +:1054F000022809D05FF0000080F0010150460DF055 +:1055000041FD040003D101E00120F5E7FFDF0221A6 +:1055100004F1850011F04FF80420287004F5B470F0 +:105520006860B4F885002882304810387C346C619B +:10553000C5E9028064E703E024E15BE02DE015E0CB +:10554000A07F00F00300022807D0002080F00101B6 +:1055500050460DF017FD18B901E00120F6E7FFDF16 +:10556000324621465046BDE8F84FE8E504B9FFDF72 +:1055700020782128A1D93079012803D1E07F40F09B +:105580000800E077324621465046FFF7D8FD204616 +:10559000BDE8F84F2321FDF7BDBD3279AA8005F1A2 +:1055A00008030921504604F0DEFEE86010B1052032 +:1055B000287025E7A07F00F00300022808D0002013 +:1055C00080F0010150460DF0DDFC040003D101E044 +:1055D0000120F5E7FFDF04F1620102231022081F1A +:1055E0000DF057FB07703179417009E75002002038 +:1055F00040420F00A07F00F00300022808D00020E6 +:1056000080F0010150460DF0BDFC050003D101E022 +:105610000120F5E7FFDF95F8840000F00300012882 +:105620007AD1A07F00F00307E07F10F0010602D0DE +:10563000022F04D133E095F8A000C0072BD0D5F895 +:10564000601121B395F88320087C62F38700087409 +:10565000A17FCA09D5F8601162F341000874D5F83A +:10566000601166F300000874AEB1D5F86001102235 +:1056700004F12401883508F0EEFE287E40F0010098 +:105680002876287820F0010005F8880900E016B196 +:10569000022F04D02DE095F88800C00727D0D5F858 +:1056A0005C1121B395F88320087C62F387000874AD +:1056B000A17FCA09D5F85C1162F341000874D5F8DE +:1056C0005C1166F3000008748EB1D5F85C011022FD +:1056D00004F12401883508F0BEFE287840F001006E +:1056E00005F8180B287820F0010005F8A009022F12 +:1056F00044D0002000EB400005EBC00090F888008B +:10570000800709D595F87C00D5F86421400805F19B +:105710007D011032FDF767FE8DF8009095F884004A +:105720006A4600F003008DF8010095F888108DF8A6 +:10573000021095F8A0008DF803002146504601F0B4 +:105740005FFA2078252805D0212807D0FFDF2078B0 +:10575000222803D922212046FDF7DCFCA07F00F09F +:10576000030002280CD0002080F0010150460DF00B +:105770001BFC00283FF44FAEFFDF41E60120B9E7F4 +:105780000120F1E7706847703AE6FFDF38E670B550 +:10579000FE4C002584F85C5025660FF0BAF804F141 +:1057A0001001204603F000FF84F8305070BD70B542 +:1057B0000D46FDF748FE040000D1FFDF4FF4B8723C +:1057C0000021284608F071FE04F124002861A07F22 +:1057D00000F00300022809D05FF0010105F1E000AC +:1057E0000FF098F8002800D0FFDF70BD0221F5E728 +:1057F0000A46014602F1E0000FF0ADB870B505466B +:10580000406886B001780A2906D00D2933D00E29C8 +:105810002FD0FFDF06B070BD86883046FDF713FE3F +:10582000040000D1FFDF20782128F3D028281BD1E5 +:10583000686802210E3001F0D8F9A8B16868082123 +:10584000801D01F0D2F978B104F1240130460CF04A +:105850006BFA03F00FFD00B1FFDF06B02046BDE894 +:1058600070402921FDF756BC06B0BDE8704003F03A +:10587000E2BE012101726868C6883046FDF7E3FD8B +:10588000040000D1FFDFA07F00F00301022902D154 +:1058900020F01000A077207821280AD06868017ACB +:1058A00009B1007980B1A07F00F00300022862D026 +:1058B000FFDFA07F00F003000228ABD1FEF715F850 +:1058C0000028A7D0FFDFA5E703F0B5FEA17F0806FB +:1058D0002BD5E07FC00705D094F8200000F01F0012 +:1058E000102820D05FF0050084F8230020782928B4 +:1058F0001DD02428DDD13146042011F043F92221A6 +:105900002046FDF707FCA07F00F00300022830D0FE +:105910005FF0000080F0010130460DF045FB0028EB +:10592000C7D0FFDFC5E70620DEE70420DCE701F093 +:105930000300022808D0002080F0010130460DF05D +:1059400021FB050003D101E00120F5E7FFDF252160 +:105950002046FDF7DFFB03208DF80000694605F1C6 +:10596000E0000EF0EFFF0228A3D00028A1D0FFDF57 +:105970009FE70120CEE703F05EFE9AE72DE9F043B2 +:1059800087B09946164688460746FDF75CFD040039 +:105990004BD02078222848D3232846D0E07F000728 +:1059A00043D4A07F00F00300022809D05FF000007C +:1059B00080F0010138460DF0E5FA050002D00CE058 +:1059C0000120F5E7A07F00F00300022805D00121A7 +:1059D000002238460DF0CDFA05466946284601F00A +:1059E00036F9009800B9FFDF45B10098E035056150 +:1059F0002078222806D0242804D007E0009900202F +:105A0000086103E025212046FDF784FB0098012171 +:105A100041704762868001A9C0E902890EF0ADFF9E +:105A2000022802D0002800D0FFDF07B0BDE8F083D5 +:105A300070B586B00546FDF706FD017822291ED90E +:105A4000807F00F00300022808D0002080F00101D0 +:105A500028460DF097FA04002FD101E00120F5E768 +:105A6000FFDF2AE0B4F85E0004F1620630440178FA +:105A7000427829B121462846FFF711FCB0B9C9E6A2 +:105A8000ADF804200921284602AB04F06CFC039019 +:105A90000028F4D005208DF80000694604F1E000EC +:105AA0000EF050FF022801D000B1FFDF02231022C8 +:105AB000314604F15E000DF022F9B4F860000028D0 +:105AC000D0D1A7E610B586B00446FDF7BCFC01783E +:105AD00022291BD9807F00F00300022808D0002073 +:105AE00080F0010120460DF04DFA040003D101E0E1 +:105AF0000120F5E7FFDF06208DF80000694604F17C +:105B0000E0000EF01FFF002800D0FFDF06B010BD40 +:105B10002DE9F05F05460C46002700789046010904 +:105B20003E4604F1080BBA4602297DD0072902D06F +:105B30000A2909D146E0686801780A2905D00D29AB +:105B400030D00E292ED0FFDFBBE114271C26002CFD +:105B50006BD08088A080FDF776FC5FEA000900D159 +:105B6000FFDF99F817005A46400809F11801FDF7C0 +:105B70003AFC6868C0892082696851F8060FC4F849 +:105B800012004868C4F81600A07E01E03002002030 +:105B900020F0060040F00100A07699F81E0040F0C9 +:105BA00020014DE01A270A26002CD1D0C088A08001 +:105BB000FDF749FC050000D1FFDF59462846FFF7F5 +:105BC0003FFB7EE10CB1A88BA080287A0B287DD00A +:105BD00006DC01287BD0022808D0032804D135E058 +:105BE0000D2875D00E2874D0FFDF6AE11E27092624 +:105BF000002CADD0A088FDF726FC5FEA000900D19B +:105C0000FFDF287B00F003000128207A1BD020F062 +:105C100001002072297B890861F341002072297BF1 +:105C2000C90861F3820001E041E1F2E02072297BC2 +:105C3000090961F3C300207299F81E0040F0400189 +:105C400089F81E103DE140F00100E2E713270D2620 +:105C5000002CAAD0A088FDF7F6FB8146807F00F0DB +:105C60000300022808D0002080F00101A0880DF078 +:105C700089F9050003D101E00120F5E7FFDF99F87C +:105C80001E0000F00302022A50D0686F817801F0F4 +:105C900003010129217A4BD021F00101217283787F +:105CA0009B0863F3410121728378DB0863F382016F +:105CB000217283781B0963F3C3012172037863F3B4 +:105CC00006112172437863F3C71103E061E0A9E094 +:105CD00090E0A1E0217284F809A0C178A172022AA3 +:105CE00029D00279E17A62F30001E1720279520867 +:105CF00062F34101E1720279920862F38201E1727A +:105D00000279D20862F3C301E1724279217B62F326 +:105D1000000121734279520862F3410121734279F3 +:105D2000920862F382012173407928E0A86FADE701 +:105D300041F00101B2E74279E17A62F30001E172D8 +:105D40004279520862F34101E1724279920862F3AA +:105D50008201E1724279D20862F3C301E1720279F1 +:105D6000217B62F3000121730279520862F3410141 +:105D700021730279920862F3820121730079C008CD +:105D800060F3C301217399F80000232831D926213B +:105D900040E018271026E4B3A088FDF754FB8346A3 +:105DA000807F00F00300022809D0002080F001016C +:105DB000A0880DF0E7F85FEA000903D101E00120B7 +:105DC000F4E7FFDFE868A06099F8000040F0040104 +:105DD00089F8001099F80100800708D50120207388 +:105DE0009BF8000023286CD92721584651E084F8FD +:105DF0000CA066E015270F265CB1A088FDF723FBF9 +:105E0000814606225946E86808F0BBFB0120A073D2 +:105E1000A0E041E048463CE016270926E4B3287B91 +:105E200020724EE0287B19270E26ACB3C4F808A0D8 +:105E3000A4F80CA0012807D0022805D0032805D01B +:105E4000042803D0FFDF0DE0207207E0697B0428FF +:105E500001F00F0141F0800121721ED0607A20F024 +:105E600003006072A088FDF7EEFA0546007821284D +:105E700027D0232800D0FFDFA87F00F003000228EE +:105E800013D0002080F00101A0880DF08DF82221B0 +:105E90002846FDF73FF914E004E0607A20F00300A3 +:105EA000401CDEE7A8F8006010E00120EAE70CB132 +:105EB0006888A080287A68B301280AD002284FD0C9 +:105EC000FFDFA8F800600CB1278066800020BDE8E5 +:105ED000F09F15270F26002CE4D0A088FDF7B3FA19 +:105EE000807F00F00300022808D0002080F001012C +:105EF000A0880DF047F8050003D101E00120F5E787 +:105F0000FFDFD5F81D000622594608F03AFB84F859 +:105F10000EA0D6E717270926002CC3D0A088FDF7CE +:105F200092FA8146807F00F00300022808D000200A +:105F300080F00101A0880DF025F8050003D101E0F3 +:105F40000120F5E7FFDF6878800701D5022000E037 +:105F50000120207299F800002328B2D9272159E79F +:105F600019270E26002C9DD0A088FDF76CFA5FEA59 +:105F7000000900D1FFDFC4F808A0A4F80CA084F841 +:105F800008A0A07A40F00300A07299F81E10C90979 +:105F900061F38200A07299F81F2099F81E1012EA8E +:105FA000D11F05D099F8201001F01F0110292BD026 +:105FB00020F00800A07299F81F10607A61F3C30006 +:105FC0006072697A01F003010129A2D140F0040056 +:105FD000607299F81E0000F003000228E87A16D0DB +:105FE000217B60F300012173AA7A607B62F30000D9 +:105FF0006073EA7A520862F341012173A97A490871 +:1060000061F3410060735CE740F00800D2E7617B18 +:1060100060F300016173AA7A207B62F300002073B1 +:10602000EA7A520862F341016173A97A490861F37F +:106030004100207345E710B5F74C30B101461022FE +:1060400004F1200008F007FA012084F8300010BDA8 +:1060500010B5044600F0EBFDEF4920461022BDE8E4 +:106060001040203108F0F7B970B5EB4D06004FF045 +:10607000000413D0FBF7EDF808B110240CE0062162 +:10608000304608F065FA411C05D028665FF0010033 +:1060900085F85C0000E00724204670BD0020F7E78B +:1060A000007810F00F0204D0012A05D0022A0CD18A +:1060B00010E0000909D10AE00009012807D00228F0 +:1060C00005D0032803D0042801D0072070470870AA +:1060D000002070470620704705282AD2DFE800F02C +:1060E00003070F171F00087820F0FF001EE0087854 +:1060F00020F00F00401C20F0F000103016E008786F +:1061000020F00F00401C20F0F00020300EE0087856 +:1061100020F00F00401C20F0F000303006E008783E +:1061200020F00F00401C20F0F000403008700020EC +:106130007047072070472DE9F041804688B00D4632 +:1061400000270846FBF7D2F8A8B94046FDF77BF9CF +:10615000040003D02078222815D104E043F2020085 +:1061600008B0BDE8F08145B9A07F410603D500F035 +:106170000300022801D01020F2E7A07FC10601D45D +:10618000010702D50DB10820EAE7E17F090701D533 +:106190000D20E5E700F0030002280DD165B1284687 +:1061A000FEF75EFF0700DBD1FBF71CFB20B9E878A8 +:1061B000800701D50620D3E7A07F00F00300022866 +:1061C00008D0002080F0010140460CF0DBFE060004 +:1061D00002D00FE00120F5E7A07F00F003000228C5 +:1061E0000ED0002080F00101002240460CF0C1FEDC +:1061F000060007D0A07F00F00300022804D009E0C9 +:106200000120EFE70420ABE725B12A4631462046BE +:10621000FEF74AFF6946304600F019FD009800B9C4 +:10622000FFDF0099022006F1E0024870C1F82480E7 +:106230004A6100220A81A27F02F00302022A1CD0D6 +:1062400001200871287800F00102087E62F3010045 +:1062500008762A78520862F3820008762A78920833 +:1062600062F3C30008762A78D20862F30410087635 +:1062700024212046FCF74EFF33E035B30871301D72 +:1062800088613078400908777078C0F3400048771B +:10629000287800F00102887F62F301008877A27FEE +:1062A000D20962F382008877E27F62F3C3008877C5 +:1062B000727862F304108877A878C87701F1210218 +:1062C00028462031FEF711FF03E003200871052066 +:1062D000087625212046FCF71DFFA07F20F0400016 +:1062E000A07701A900980EF048FB022801D000B168 +:1062F000FFDF384634E72DE9FF4F9346474A0D4606 +:1063000099B09A4607CA0AAB002783E80700199894 +:10631000FDF799F8060006D03078262806D0082028 +:106320001DB0BDE8F08F43F20200F9E7B07F00F046 +:106330000309B9F1020F11D04DB95846FEF790FE8E +:106340000028EDD1B07F00F00300022806D0BBF199 +:10635000000F11D0FBF746FA20B10DE0BBF1000FA2 +:106360004FD109E006200CF0B5FD28B19BF80300E1 +:10637000800701D50620D3E7B07F00F00300022894 +:1063800008D0002080F0010119980CF0FBFD0400FA +:1063900003D101E00120F5E7FFDF852D27D007DCE1 +:1063A000EDB1812D1DD0822D1DD0832D08D11CE093 +:1063B000862D1ED0882D1ED0892D1ED08A2D1ED050 +:1063C0000F2020710F281CD003F032F9D8B1012022 +:1063D0008DF83C00201D10902079B0B156E10020CE +:1063E000EFE70120EDE70220EBE70320E9E70520D6 +:1063F000E7E70620E5E70820E3E70920E1E70A20D0 +:10640000DFE707208CE711208AE7B9F1020F07D0F8 +:10641000A56F07D1A06F06E030020020C462020021 +:10642000656FF6E7606F80462DD04FF00100019058 +:106430004FF0020000905A4621463046FEF734FEE7 +:106440009BF8000000F00101A87861F30100A8703A +:10645000B17FC90961F38200A870F17F61F3C300C5 +:10646000A870617861F30410A87020784009287042 +:106470006078C0F3400068709BF80200E87000206C +:106480006871287103E00220019001200090A87833 +:1064900098F80210C0F3C000C1F3C0010840039097 +:1064A0002CD05046FAF7D5FEC0BBDAF80C00FAF74C +:1064B000D0FE98BBDAF81C00FAF7CBFE70BBDAF816 +:1064C0000C00A060DAF81C00E060607898F8012009 +:1064D00042EA500161F34100607098F80210C0B2C6 +:1064E00000EA111161F3000060700020207700992C +:1064F00006F11700022907D0012106E0607898F81C +:10650000012002EA5001E5E7002104EB8101486126 +:106510000199701C022902D0012101E028E000212C +:1065200004EB81014861A87800F00300012857D1ED +:1065300098F8020000F00300012851D1B9F1020FD0 +:1065400004D02A1D691D5846FEF7CFFD287998F81A +:10655000041008408DF83400697998F8052011403E +:106560008DF8381008433BD05046FAF772FE08B158 +:106570001020D5E60AF110018B46B9F1020F17D0B1 +:106580000846002104F18C03CDE9000304F5AE7246 +:1065900002920DAB2046039AFEF7F0FD0028E8D1E9 +:1065A000B9F1020F08D0504608D14FF0010107E0C1 +:1065B00050464FF00101E5E75846F5E74FF000017E +:1065C00004F1A403CDE9000304F5B072029281F056 +:1065D00001010EAB2046039AFEF7D0FD0028C8D17A +:1065E0006078800733D4A87898F80210C0F3800050 +:1065F000C1F3800108432AD0297898F800000AAA3C +:10660000B9F1020F06D032F811204300DA4002F04F +:1066100003070AE032F810204B00DA4012F00307BB +:1066200005D0012F0AD0022F0AD0032F06D0039ADB +:106630006AB1012906D0042904D008E00227F6E750 +:106640000127F4E7012801D0042800D10427B07FF6 +:1066500040F08000B077F17F039860F30001F1779C +:106660006078800705D50320A071039870B90020D9 +:1066700029E00220022F18D0012F18D0042F2AD091 +:106680000020A071B07F20F08000B0772521304637 +:10669000FCF740FD0FA904F1E0000EF053F910B132 +:1066A000022800D0FFDF00203AE6A071DFE7A071EA +:1066B0000D22002104F1200007F0F7FE207840F0C1 +:1066C0000200207001208DF85C0017AA314619984D +:1066D00000F096FADAE70120A071D7E72DE9F04340 +:1066E00087B09046894604460025FCF7ACFE0600BC +:1066F00006D03078272806D0082007B0BDE8F08300 +:1067000043F20200F9E7B07F00F00300022809D04D +:106710005FF0000080F0010120460CF033FC040023 +:1067200003D101E00120F5E7FFDFA7795FEA090067 +:1067300005D0012821D0B9F1020F26D110E0B8F11F +:10674000000F22D1012F05D0022F05D0032F05D035 +:10675000FFDF2EE00C252CE001252AE0022528E0B1 +:106760004046FAF776FDB0B9032F0ED1102241460C +:1067700004F11D0007F06FFE1BE0012F02D0022F75 +:1067800003D104E0B8F1000F13D00720B5E740466D +:10679000FAF75FFD08B11020AFE71022002104F1E5 +:1067A0001D0007F082FE0621404607F0D1FEC4F826 +:1067B0001D002078252140F0020020703046FCF7B3 +:1067C000A9FC2078C10713D020F00100207002201E +:1067D0008DF8000004F11D0002908DF80450694608 +:1067E000C3300EF0AFF8022803D010B1FFDF00E095 +:1067F0002577002081E730B587B00D460446FCF7C9 +:1068000022FE98B1807F00F00300022811D0002002 +:1068100080F0010120460CF0B5FB04000ED02846A4 +:10682000FAF717FD38B1102007B030BD43F202006F +:10683000FAE70120ECE72078400701D40820F3E7CD +:10684000294604F13D002022054607F004FE207889 +:1068500040F01000207001070FD520F008002070D4 +:1068600007208DF80000694604F1E00001950EF064 +:1068700069F8022801D000B1FFDF0020D4E770B52D +:106880000D460646FCF7DFFD18B10178272921D116 +:1068900002E043F2020070BD807F00F00300022896 +:1068A00008D0002080F0010130460CF06BFB0400A2 +:1068B00003D101E00120F5E7FFDFA079022809D12B +:1068C0006078C00706D02A4621463046FEF7E7FC2E +:1068D00010B10FE0082070BDB4F860000E280BD294 +:1068E00004F1620102231022081F0CF0D2F90121E9 +:1068F00001704570002070BD112070BD70B5064656 +:1069000014460D460846FAF7A4FC18B92046FAF7D3 +:10691000C6FC08B1102070BDA6F57F40FF380ED030 +:106920003046FCF790FD38B1417822464B08811C77 +:106930001846FCF758FD07E043F2020070BD204600 +:10694000FDF78BFD0028F9D11021E01D0FF033FE7B +:10695000E21D294604F1170000F089F9002070BDFE +:106960002DE9F04104468AB01546884600270846BE +:10697000FAF7BCFC18B92846FAF7B8FC18B1102091 +:106980000AB0BDE8F0812046FCF75DFD060003D0AB +:10699000307827281BD102E043F20200F0E7B07FF5 +:1069A00000F00300022809D05FF0000080F0010130 +:1069B00020460CF0E7FA040003D101E00120F5E7DE +:1069C000FFDF2078400702D56078800701D40820D7 +:1069D000D6E7B07F00F00300022803D0A06F03D1F8 +:1069E000A16F02E0606FFAE7616F407800B19DB17E +:1069F000487810B1B8F1000F0ED0ADB1EA1D06A86D +:106A0000E16800F034F9102206A905F1170007F03B +:106A1000F5FC18B1042707E00720B1E71022E91DB3 +:106A200004F12D0007F017FDB8F1000F06D0102279 +:106A300008F1070104F11D0007F00DFD2078252164 +:106A400040F0020020703046FCF764FB2078C1075C +:106A500015D020F00100207002208DF8000004F114 +:106A60001D000290103003908DF804706946B33019 +:106A70000DF068FF022803D010B1FFDF00E0277798 +:106A800000207DE7F8B515460E460746FCF7DBFC0F +:106A9000040004D02078222804D00820F8BD43F256 +:106AA0000200F8BDA07F00F00300022802D043F2EC +:106AB0000500F8BD3046FAF7CCFB18B92846FAF7BE +:106AC000C8FB08B11020F8BD00953288B31C2146E0 +:106AD0003846FEF707FC112815D00028F3D1297C91 +:106AE0004A08A17F62F3C711A177297CE27F61F395 +:106AF0000002E277297C890884F82010A17F21F028 +:106B00004001A177F8BDA17F0907FBD4D6F80200A8 +:106B1000C4F83600D6F80600C4F83A003088A086DB +:106B20001022294604F1240007F095FC287C410836 +:106B3000E07F61F34100E077297C61F38200E07738 +:106B4000287C800884F82100A07F40F00800A0770E +:106B50000020D3E770B50D4606460BB1072070BD87 +:106B6000FCF771FC040007D02078222802D3A07F14 +:106B7000800604D4082070BD43F2020070BDADB1A0 +:106B8000294630460BF0D0F802F074FB297C4A0805 +:106B9000A17F62F3C711A177297CE27F61F3000234 +:106BA000E277297C890884F8201004E030460BF055 +:106BB000DEF802F05FFBA17F21F02001A17770BD1C +:106BC00070B50D46FCF73FFC040005D02846FAF7E7 +:106BD00066FB20B1102070BD43F2020070BD294653 +:106BE0002046FEF72DFB002070BD04E010F8012BBD +:106BF0000AB100207047491E89B2F7D201207047C0 +:106C000070B51546064602F013FD040000D1FFDF03 +:106C1000207820F00F00801C20F0F0002030207041 +:106C200066802868A060BDE8704002F004BD10B521 +:106C3000134C94F83000002808D104F12001A1F190 +:106C400010000DF0C1FE012084F8300010BD10B11D +:106C500090F8B9202AB10A4890F8350018B1002000 +:106C600003E0B83001E0064834300860704708B5EA +:106C70000023009313460A460CF083FB08BD000076 +:106C80003002002018B18178012938D101E01020AC +:106C90007047018842F60112881A914231D018DCFF +:106CA00042F60102A1EB020091422AD00CDC41B372 +:106CB000B1F5C05F25D06FF4C050081821D0A0F501 +:106CC0007060FF381BD11CE001281AD002280AD1BD +:106CD00017E0B0F5807F14D008DC012811D002281D +:106CE0000FD003280DD0FF2809D10AE0B0F5817F2D +:106CF00007D0A0F58070033803D0012801D0002010 +:106D000070470F2070470A281FD008DC0A2818D2C5 +:106D1000DFE800F0191B1F1F171F231D1F2110285C +:106D200015D008DC0B2812D00C2810D00D2816D056 +:106D30000F2806D10DE011280BD084280BD087280E +:106D40000FD00320704700207047052070470720B0 +:106D500070470F20704704207047062070470C20B2 +:106D6000704743F20200704738B50C46050041D029 +:106D70006946FFF795F9002819D19DF80010607851 +:106D800061F3020060706946681CFFF789F900280A +:106D90000DD19DF80010607861F3C5006070A9788E +:106DA000C1F34101012903D0022905D0072038BDD4 +:106DB000217821F0200102E0217841F020012170AA +:106DC000410704D0A978C90861F386106070607823 +:106DD00010F0380F07D0A978090961F3C710607067 +:106DE00010F0380F02D16078400603D5207840F0CB +:106DF00040002070002038BD70B504460020088097 +:106E000015466068FFF7B0FF002816D12089A189D8 +:106E1000884211D860688078C0070AD0B1F5007F39 +:106E20000AD840F20120B1FBF0F200FB12102880DA +:106E300007E0B1F5FF7F01D90C2070BD01F20121FF +:106E40002980002070BD10B50478137864F3000326 +:106E500013700478640864F3410313700478A40881 +:106E600064F3820313700478E40864F3C3031370BB +:106E70000478240964F3041313700478640964F338 +:106E8000451313700078800960F38613137031B1D5 +:106E90000878C10701D1800701D5012000E000205A +:106EA00060F3C713137010BD4278530702D002F08D +:106EB000070306E012F0380F02D0C2F3C20300E06D +:106EC00001234A7863F302024A70407810F0380FC9 +:106ED00002D0C0F3C20005E0430702D000F0070073 +:106EE00000E0012060F3C5024A7070472DE9F04FC1 +:106EF00095B00D00824613D012220021284607F0DB +:106F0000D4FA4FF6FF7B05AA0121584607F095F801 +:106F10000024264637464FF420586FF4205972E07B +:106F2000102015B0BDE8F08F9DF81E0001280AD191 +:106F3000BDF81C1041450BD011EB09000AD0012807 +:106F40000CD002280CD0042C0ED0052C0FD10DE053 +:106F5000012400E00224BDF81A6008E0032406E0E2 +:106F60000424BDF81A7002E0052400E00624BDF8F0 +:106F70001A10514547D12C74BEB34FF0000810AA27 +:106F80004FF0070ACDE90282CDE900A80DF13C09D6 +:106F90001023CDF8109042463146584607F01DF9AF +:106FA00008BBBDF83C002A46C0B210A90DF097FD01 +:106FB000C8B9AE81CFB1CDE900A80DF1080C0AAE79 +:106FC00040468CE84102132300223946584607F018 +:106FD00004F940B9BDF83C00F11CC01EC0B22A1D26 +:106FE0000DF07DFD10B103209BE70AE0BDF82900FC +:106FF000E881062C05D19DF81E00A872BDF81C0082 +:10700000288100208DE705A807F023F800288BD001 +:10701000FFF779FE85E72DE9F0471C46DDE90978A1 +:10702000DDF8209015460E00824600D1FFDF0CB13E +:10703000208818B1D5B11120BDE8F087022D01D00C +:10704000012100E0002106F1140005F0BFFEA8F8C0 +:10705000000002463B462946504603F084F9C9F831 +:10706000000008B9A41C3C600020E5E71320E3E71A +:10707000F0B41446DDE904528DB1002314B1022CA2 +:1070800009D101E0012306E00D7CEE0703D025F0D5 +:10709000010501230D742146F0BC04F042BA1A80A8 +:1070A000F0BC70472DE9FE4F91461A881C468A466F +:1070B0008046FAB102AB494603F055F9050019D0F4 +:1070C0004046A61C27880CF0A2F83246072629461F +:1070D0003B4600960BF0AFFC20882346CDE90050DC +:1070E0004A4651464046FFF7C3FF0020208001205A +:1070F000BDE8FE8F0020FBE72DE9F04786B0824611 +:107100000EA8904690E8B000894604AA05A903A8F5 +:107110008DE807001E462A4621465046FFF77BFFB2 +:10712000039901B101213970002818D1FA4904F1FD +:10713000140204AB0860039805998DE807004246E5 +:107140004946504606F0F5F9A8B1092811D2DFE802 +:1071500000F005080510100A0C0C0E00002006B007 +:107160006AE71120FBE70720F9E70820F7E70D2081 +:10717000F5E70320F3E7BDF810100398CDE900010F +:1071800033462A4621465046FFF772FFE6E72DE9CF +:10719000F04389B01646DDE910870D4681461C464E +:1071A0001422002103A807F080F9012002218DF8A4 +:1071B00010108DF80C008DF81170ADF8146064B1EA +:1071C000A278D20709D08DF81600E088ADF81A0031 +:1071D000A088ADF81800A068079008A80095CDE930 +:1071E0000110424603A948466B68FFF785FF09B0C6 +:1071F000BDE8F083F0B58BB00024064606940794F2 +:107200000727089405A80994019400970294CDE9F2 +:1072100003400D4610232246304606F0DEFF78B9C3 +:107220000AA806A9019400970294CDE90310BDF8BD +:10723000143000222946304606F06DFD002801D0AA +:10724000FFF761FD0BB0F0BD06F0FEBB2DE9FC4180 +:107250000C468046002602F0EBF9054620780D2802 +:107260007ED2DFE800F0BC0713B325BD4949638334 +:10727000AF959B00A848006820B1417841F010010B +:107280004170ADE0404602F003FAA9E00421404617 +:107290000BF078FE070000D1FFDF07F11401404634 +:1072A00005F029FDA5BB13214046FDF7BDFB97E086 +:1072B000042140460BF066FE070000D1FFDFE088A6 +:1072C000ADF800000020B8819DF80000010704D54A +:1072D000C00602D5A088B88105E09DF801004006EF +:1072E0007ED5A088F88105B9FFDF224629464046B1 +:1072F00001F0C0FC022673E0E188ADF800109DF8B3 +:10730000011009060FD5072803D006280AD00AE085 +:1073100024E0042140460BF035FE060000D1FFDFDB +:10732000A088F0810226CDB9FFDF17E00421404696 +:107330000BF028FE070000D1FFDF07F1140006F074 +:10734000BAFB90F0010F02D1E079000648D5387CF5 +:10735000022640F00200387405B9FFDF224600E043 +:107360003DE02946404601F085FC39E004214046D5 +:107370000BF008FE017C002D01F00206C1F3400174 +:107380006171017C21F002010174E7D1FFDFE5E7C3 +:1073900002260121404602F0ADF921E004214046D9 +:1073A0000BF0F0FD0546606800902089ADF8040000 +:1073B00001226946404602F0BEF9287C20F0020016 +:1073C00028740DE0002DC9D1FFDFC7E70226002198 +:1073D0004046FBF77DF8002DC0D1FFDFBEE7FFDFA1 +:1073E0003046BDE8FC813EB50C0009D001466B4635 +:1073F00001AA002006F076FF20B1FFF784FC3EBD15 +:1074000010203EBD00202080A0709DF8050002A93C +:1074100000F00700FEF760FE50B99DF808002070EC +:107420009DF8050002A9C0F3C200FEF755FE08B1A1 +:1074300003203EBD9DF8080060709DF80500C1095D +:10744000A07861F30410A0709DF80510890961F31C +:10745000C300A0709DF80410890601D5022100E048 +:10746000012161F342009DF8001061F30000A0705B +:1074700000203EBD70B5144606460D4651EA040094 +:1074800005D075B10846F9F728FF78B901E0072063 +:1074900070BD2946304606F08CFF10B1BDE8704043 +:1074A00031E454B12046F9F718FF08B1102070BD3F +:1074B00021463046BDE8704095E7002070BD2DE9BB +:1074C000FC5F0C4690460546002701780822007AAA +:1074D0003E46B2EB111F7DD104F10A0100910A3141 +:1074E000821E4FF0020A04F1080B0191092A72D2A0 +:1074F000DFE802F0EDE005F528287BAACE006888D9 +:1075000004210BF03FFD060000D1FFDFB08928B158 +:1075100052270726C3E000009402002051271026BE +:10752000002C7DD06888A0800120A071A88900224D +:107530000099FFF79FFF002873D1A8892081288A2E +:10754000E081D1E0B5F81290072824D1E87B00064D +:1075500021D5512709F1140086B2002CE1D0A88969 +:1075600000220099FFF786FF00285AD16888A08082 +:1075700084F806A0A88920810120A073288A20828F +:10758000A4F81290A88A009068884B46A969019ACD +:1075900001F04CFBA8E0502709F1120086B2002C44 +:1075A0003ED0A88900225946FFF764FF002838D151 +:1075B0006888A080A889E080287A072813D0022054 +:1075C0002073288AE081E87BC0096073A4F81090DA +:1075D000A88A01E085E082E0009068884B4604F1CB +:1075E0001202A969D4E70120EAE7B5F81290512701 +:1075F00009F1140086B2002C66D0688804210BF0D3 +:10760000C1FC83466888A080A88900220099FFF702 +:1076100031FF00286ED184F806A0A889208101E0FE +:1076200052E067E00420A073288A2082A4F8129018 +:10763000A88A009068884B46A969019A01F0F6FA79 +:10764000A989ABF80E104FE06888FBF7FCFE0746EF +:10765000688804210BF096FC064607B9FFDF06B9DF +:10766000FFDF687BC00702D05127142601E05027B6 +:1076700012264CB36888A080502F06D084F806A04C +:10768000287B594601F0E2FA2EE0287BA11DF9E79C +:10769000FE49A8894989814205D1542706269CB113 +:1076A0006888A08020E053270BE06888A080A88924 +:1076B000E08019E0688804210BF064FC00B9FFDF6A +:1076C00055270826002CF0D1A8F8006011E05627B5 +:1076D0000726002CF8D06888A080002013E0FFDF88 +:1076E00002E0012808D0FFDFA8F800600CB1278075 +:1076F00066800020BDE8FC9F57270726002CE3D0BA +:107700006888A080687AA071EEE7401D20F0030031 +:1077100009B14143091D01EB4000704713B5DB4A35 +:1077200000201071009848B1002468460BF047FA19 +:10773000002C02D1D64A009911601CBD0124002002 +:10774000F4E770B50D461446064686B05C2200216B +:10775000284606F0AAFE04B9FFDFA0786874A27874 +:107760002188284601F09DFA0020A881E88122881E +:1077700005F11401304605F0A2FA6A4601213046AF +:1077800006F05BFC1AE000BF9DF80300000715D56A +:10779000BDF806103046FFF72DFD9DF80300BDF83B +:1077A000061040F010008DF80300BDF80300ADF89E +:1077B0001400FF233046059A06F0C3FD684606F024 +:1077C00048FC0028E0D006B070BD10B50C4601F1B1 +:1077D000140005F0ACFA0146627C2046BDE810407A +:1077E00001F094BA30B50446A84891B04FF6FF7541 +:1077F000C18905AA284606F020FC30E09DF81E004D +:10780000A0422AD001282AD1BDF81C00B0F5205F83 +:1078100003D042F60101884221D1002002AB0AAA1E +:107820000CA9019083E8070007200090BDF81A100A +:1078300010230022284606F0D0FC38B9BDF82800F5 +:107840000BAAC0B20CA90DF04AF910B1032011B077 +:1078500030BD9DF82E00A04201D10020F7E705A819 +:1078600006F0F7FB0028C9D00520F0E770B5054603 +:1078700004210BF087FB040000D1FFDF04F11401A9 +:107880000C46284605F037FA21462846BDE87040E8 +:1078900005F038BA70B58AB00C460646FBF7D3FD42 +:1078A000050014D02878222827D30CB1A08890B1E5 +:1078B00001208DF80C0003208DF8100000208DF8B9 +:1078C000110054B1A088ADF81800206807E043F219 +:1078D00002000AB070BD0920FBE7ADF81800059062 +:1078E000042130460BF04EFB040000D1FFDF04F111 +:1078F000140005F032FA000701D40820E9E701F08E +:1079000097FE60B108A802210094CDE9011095F816 +:10791000232003A930466368FFF7EEFBD9E7112067 +:10792000D7E72DE9F04FB2F802A0834689B015469B +:1079300089465046FBF787FD0746042150460BF069 +:1079400021FB0026044605964FF002080696ADF886 +:107950001C6007B9FFDF04B9FFDF4146504603F062 +:1079600047FF50B907AA06A905A88DE807004246B7 +:10797000214650466368FFF74EFB444807AB06605C +:10798000DDE9051204F11400CDF80090CDE90320E3 +:10799000CDE9013197F82320594650466B6805F030 +:1079A00025FA06000AD0022E04D0032E14D0042E8D +:1079B00000D0FFDF09B03046BDE8F08FBDF81C00F5 +:1079C0000028F7D00599CDE90010424621465046DF +:1079D0006368FFF74DFBEDE7687840F008006870DA +:1079E000E8E72DE9F04F99B004464FF0000827482A +:1079F000ADF81C80ADF82080ADF82480A0F8088098 +:107A0000ADF81480ADF81880ADF82C80ADF8288062 +:107A1000007916460D464746012808D0022806D0B0 +:107A2000032804D0042802D0082019B0C4E7204657 +:107A3000F9F70FFC70BB2846F9F70BFC50BB6068E8 +:107A4000F9F754FC30BB606848B1608921898842ED +:107A500002D8B1F5007F01D90C20E6E780460EAAD6 +:107A600006A92846FFF7C8F90028DED168688078A3 +:107A7000C0F34100022808D19DF8190010F0380F1A +:107A800003D02869F9F729FC20B904E0940200200A +:107A90001800002022E005A92069FFF765F90028F9 +:107AA000C3D1206948B1607880079DF8150000F0C7 +:107AB000380001D5F0B300E0E0BB9DF8140080066B +:107AC0000ED59DF8150010F0380F03D06068F9F757 +:107AD00004FC18B96068F9F709FC08B11020A4E7A4 +:107AE0000AA96069FFF740F900289ED1606940B19A +:107AF0009DF8290000F0070101293CD110F0380F52 +:107B000039D00BA9A069FFF72FF900288DD19DF876 +:107B1000280080062FD49DF82C0080062BD4A06965 +:107B200050B19DF82D0000F00701012923D110F07C +:107B3000380F00E01FE01ED0E06818B10078D0B127 +:107B40001C2818D20FAA611C2046FFF77CF90121DE +:107B5000384661F30F2082468DF85210B94642F63E +:107B600003000F46ADF850000DF13F0218A9286838 +:107B70000CF0B7FF08B1072057E79DF8600015A982 +:107B8000CDF80090C01CCDE9019100F0FF0B00235F +:107B90000BF20122514614A806F07AF9F0BBBDF8A9 +:107BA00054000C90FE482A8929690092CDE9011001 +:107BB0006B89BDF838202868069906F069F901003C +:107BC0007ED120784FF0020AC10601D480062BD561 +:107BD000CDF80C90606950B90AA906A8FFF764F9BE +:107BE0009DF8290020F00700401C8DF829009DF821 +:107BF000280008A940F0C8008DF828008DF85270C0 +:107C000042F60210ADF8500003AACDF800A0CDE96D +:107C10000121002340F2032214A800E01EE00A998B +:107C200006F036F901004BD1DD484D4608385B4679 +:107C30000089ADF83D000FA8CDE90290CDF8049081 +:107C4000CDF810904FF007090022CDF80090BDF854 +:107C500054104FF6FF7006F05EF810B1FFF753F8BE +:107C6000E3E69DF83C00000624D52946012060F398 +:107C70000F218DF852704FF424500395ADF8500049 +:107C800062789DF80C00002362F300008DF80C0070 +:107C90006278CDF800A0520862F341008DF80C0024 +:107CA00003AACDE9012540F2032214A806F0F0F85A +:107CB000010005D1606888B32069A8B905A900E072 +:107CC00084E006A8FFF7F0F86078800706D49DF8F6 +:107CD000150020F038008DF8150005E09DF814001F +:107CE00040F040008DF814008DF8527042F60110FB +:107CF000ADF85000208940F20121B0FBF1F201FB08 +:107D00001202606809ABCDF80080CDE901030023C1 +:107D100014A8059906F0BCF8010057D12078C007D7 +:107D200028D00395A06950B90BA906A8FFF7BCF8A5 +:107D30009DF82D0020F00700401C8DF82D009DF8C7 +:107D40002C008DF8527040F040008DF82C0042F667 +:107D50000310ADF8500007A903AACDF800A0CDE9A3 +:107D60000121002340F2032214A80B9906F090F899 +:107D700001002BD1E06868B32946012060F30F2190 +:107D80008DF8527042F60410ADF85000E068002300 +:107D900002788DF8582040788DF85900E06816AACE +:107DA0004088ADF85A00E06800798DF85C00E06822 +:107DB000C088ADF85D00CDF80090CDE901254FF405 +:107DC000027214A806F064F8010003D00C9800F0C9 +:107DD000C9FF2AE6724803210838017156B10089AB +:107DE0003080BDF824007080BDF82000B080BDF860 +:107DF0001C00F080002018E670B501258AB01646F8 +:107E00000B46012802D0022816D104E08DF80E504E +:107E10004FF4205003E08DF80E5042F60100ADF80B +:107E20000C005BB10024601C60F30F2404AA08A9B5 +:107E300018460CF056FE18B107204AE5102048E518 +:107E400004A99DF820205648CDE90021801E02900B +:107E50000023214603A802F2012206F019F810B10E +:107E6000FEF751FF35E54E4808380EB1C188318024 +:107E7000057100202DE5F0B593B0074601268DF879 +:107E80003E6041F60100ADF83C0012AA0FA9304651 +:107E9000FFF7B2FF002849D1414C0025083CEFB361 +:107EA0001C22002102A806F000FB9DF808008DF8B6 +:107EB0003E6040F020008DF8080042F60520ADF845 +:107EC0003C000E959DF83A00119520F00600801CAC +:107ED0008DF83A009DF838006A4620F0FF008DF8D2 +:107EE00038009DF8390009A920F0FF008DF839000D +:107EF0000420ADF82C00ADF830000EA80A9011A8AF +:107F00000D900FA80990ADF82E5002A8FFF769FD5B +:107F100000280BD1BDF80000608100E008E0BDF84A +:107F20000400A081401CE0812571002013B0F0BD49 +:107F30006581A581BDF84800F4E72DE9F74F1849A0 +:107F4000A0B00024083917940A79A146012A04D068 +:107F5000022A02D0082023B02EE5CA88824201D02E +:107F60000620F8E721988A46824201D10720F2E7ED +:107F70000120214660F30F21ADF848004FF6FF784D +:107F80000691ADF84A808DF86E0042F6020B8DF82E +:107F900072401CA9ADF86CB0ADF87040139101E0CF +:107FA0009C020020ADF8508012A806F081F8002550 +:107FB0002E462F460DAB072212A9404606F07BF84D +:107FC00078B10A285DD195B38EB3ADF86450ADF8A1 +:107FD00066609DF85E008DF8144019AC012864D0ED +:107FE0006BE09DF83A001FB3012859D1BDF8381055 +:107FF00059451FD118A809A901940294CDE903108D +:1080000007200090BDF8361010230022404606F0ED +:10801000E4F8B0BBBDF86000042801D006284AD1BE +:10802000BDF82410219881423AD10F2093E73AE01D +:10803000012835D1BDF83800B0F5205F03D042F6F5 +:10804000010188422CD1BAF80600BDF836108842EA +:1080500001D1012700E0002705B19EB1219881429E +:108060001ED118A809AA01940294CDE90320072083 +:1080700000900D4610230022404606F0AEF800B9ED +:1080800002E02DE04E460BE0BDF86000022801D072 +:10809000102810D1C0B217AA09A90CF020FD50B9C0 +:1080A000BDF8369086E7052055E705A917A8221DDB +:1080B0000CF017FD08B103204DE79DF814000023D4 +:1080C000001DC2B28DF8142022980092CDE9014023 +:1080D0001BA8069905F0DCFE10B902228AF80420DC +:1080E000FEF711FE37E710B50B46401E88B084B28C +:1080F00005AA00211846FEF7A6FE00200DF1080C87 +:1081000006AA05A901908CE807000720009001232A +:10811000002221464FF6FF7005F0FDFD0446BDF834 +:108120001800012800D0FFDF2046FEF7ECFD08B064 +:1081300010BDF0B5F74F044687B038790E460328D6 +:1081400004D0042802D0082007B0F0BD04AA03A977 +:108150002046FEF751FE0500F6D160688078C0F336 +:10816000410002280AD19DF80D0010F0380F05D00B +:108170002069F9F7B2F808B11020E5E7208905AACF +:1081800021698DE807006389BDF8102020680399F4 +:1081900005F07EFE10B1FEF7B6FDD5E716B1BDF8CD +:1081A00014003080042038712846CDE7F8B50C0063 +:1081B00006460CD001464FF6FF7500236A46284656 +:1081C00006F090F828B100BFFEF79DFDF8BD102025 +:1081D000F8BD69462046FEF7C7FD0028F8D1A07813 +:1081E000314600F001032846009A06F0AAF8EBE7B2 +:1081F00030B587B0144600220DF1080C05AD019290 +:108200008CE82C00072200920A46014623884FF68C +:10821000FF7005F080FDBDF814102180FEF773FD9E +:1082200007B030BD70B50D4604210AF0ABFE040066 +:1082300000D1FFDF294604F11400BDE8704004F0CE +:1082400085BD70B50D4604210AF09CFE040000D1E6 +:10825000FFDF294604F11400BDE8704004F099BD29 +:1082600070B50D4604210AF08DFE040000D1FFDF39 +:10827000294604F11400BDE8704004F0B1BD70B5AA +:10828000054604210AF07EFE040000D1FFDF2146EE +:1082900028462368BDE870400122FEF703BF70B591 +:1082A000064604210AF06EFE040000D1FFDF04F14F +:1082B000140004F03CFD401D20F0030511E0011DF9 +:1082C00000880022431821463046FEF7EBFE0028C6 +:1082D0000BD0607CABB2684382B2A068011D0AF08B +:1082E0000EFDA06841880029E9D170BD70B5054632 +:1082F00004210AF047FE040000D1FFDF2146284692 +:108300006368BDE870400222FEF7CCBE70B50E4631 +:10831000054601F08DF9040000D1FFDF0120207235 +:1083200066726580207820F00F00001D20F0F000BC +:1083300040302070BDE8704001F07DB910B50446B2 +:10834000012900D0FFDF2046BDE810400121FAF7E7 +:10835000BFB82DE9F04F97B04FF0000A0C008346EC +:10836000ADF814A0D04619D0E06830B1A068A8B12B +:108370000188ADF81410A0F800A05846FBF763F888 +:10838000070043F2020961D0387822285CD3042127 +:1083900058460AF0F7FD050005D103E0102017B09C +:1083A000BDE8F08FFFDF05F1140004F0C0FC401DB4 +:1083B00020F00306A078012803D0022801D007206E +:1083C000EDE7218807AA584605F037FE30BB07A81D +:1083D00005F03FFE10BB07A805F03BFE48B99DF82D +:1083E0002600012805D1BDF82400A0F5245102394A +:1083F00002D04FF45050D2E7E068B0B1CDE902A00E +:108400000720009005AACDF804A00492A288218834 +:10841000BDF81430584605F07EFC10B1FEF773FC31 +:10842000BDE7A168BDF8140008809DF81F00C006D4 +:1084300002D543F20140B2E70B9838B1A178007839 +:10844000012905D080071AD40820A8E74846A6E7E6 +:10845000C007F9D002208DF83C00A8684FF0000951 +:10846000A0B1697C4288714391420FD98AB2B3B2FC +:10847000011D0AF0FAFB8046A0F800A006E00320E8 +:108480008DF83C00D5F800804FF001099DF82000E0 +:1084900010F0380F00D1FFDF9DF820001E49C0F317 +:1084A000C200084497F8231010F8010C884201D943 +:1084B0000F2074E72088ADF8400014A90095CDE99D +:1084C0000191434607220FA95846FEF715FE0028E2 +:1084D00091D19DF8500050B9A078012807D1687C4F +:1084E000B3B2704382B2A868011D0AF0D2FB00202B +:1084F00055E770B5064615460C460846FEF7C2FB22 +:10850000002805D12A4621463046BDE8704073E474 +:1085100070BD12E594020020CE62020070B51E46C6 +:1085200014460D0009D044B1616831B138B1FC493D +:10853000C988814203D0072070BD102070BD20681B +:10854000FEF7A0FB0028F9D1324621462846BDE8B7 +:108550007040FFF746BA70B515460C0006D038B12A +:10856000EF490989814203D0072070BD102070BDFA +:108570002068FEF787FB0028F9D129462046BDE890 +:108580007040D6E570B5064686B00D4614461046D6 +:10859000F8F785FED0BB6068F8F7A8FEB0BBA6F57B +:1085A0007F40FF3803D03046FAF74DFF80B12846B0 +:1085B0006946FEF79BFC00280CD19DF810100F2097 +:1085C00008293DD2DFE801F008060606060A0A0877 +:1085D00043F2020006B070BD0320FBE79DF80210D5 +:1085E000012908D1BDF80010B1F5C05FF2D06FF4D9 +:1085F000C052D142EED09DF8061001290DD1BDF830 +:108600000410A1F52851062907D200E029E0DFE88F +:1086100001F0030304030303DCE79DF80A100129BA +:108620000FD1BDF80810B1F5245FD3D0A1F6021127 +:10863000B1F50051CED00129CCD0022901D1C9E732 +:10864000FFDF606878B9002305AA2946304605F0A7 +:1086500049FE10B1FEF757FBBCE79DF814008006F9 +:1086600001D41020B6E76188224628466368FFF7E8 +:10867000BFFDAFE72DE9F043814687B08846144639 +:108680001046F8F70CFE18B1102007B0BDE8F083D3 +:10869000002306AA4146484605F024FE18B100BF53 +:1086A000FEF731FBF1E79DF81800C00602D543F252 +:1086B0000140EAE70025072705A8019500970295E4 +:1086C000CDE9035062884FF6FF734146484605F0F6 +:1086D00084FD060013D16068F8F7E1FD60B96068B9 +:1086E0000195CDE9025000970495238862884146A0 +:1086F000484605F072FD0646BDF81400208030465D +:10870000CEE739B1864B0A889B899A4202D843F258 +:10871000030070471DE610B586B0814C0423ADF808 +:108720001430638943B1A4898C4201D2914205D9A6 +:1087300043F2030006B010BD0620FBE7ADF81010B1 +:10874000002100910191ADF8003002218DF8021056 +:1087500005A9029104A90391ADF812206946FFF71B +:10876000F8FDE7E72DE9FC4781460D460846F8F796 +:1087700070FD88BB4846FAF766FE5FEA00080AD03B +:1087800098F80000222829D3042148460AF0FAFB71 +:10879000070005D103E043F20200BDE8FC87FFDFDC +:1087A00007F1140004F0D9FA06462878012803D00E +:1087B000022804D00720F0E7B0070FD502E016F03A +:1087C0001C0F0BD0A8792C1DC00709D0E08838B148 +:1087D000A068F8F73EFD18B11020DEE70820DCE7BE +:1087E00021882A780720B1F5847F35D01EDC40F23D +:1087F0000315A1F20313A94226D00EDCB1F5807F48 +:10880000CBD003DCF9B1012926D1C6E7A1F58073ED +:10881000013BC2D0012B1FD113E0012BBDD0022B95 +:108820001AD0032BB9D0042B16D112E0A1F20912F1 +:10883000082A11D2DFE802F00B0404101010100413 +:10884000ABE7022AA9D007E0012AA6D004E032074C +:1088500000E0F206002AA0DACDB200F0E9FE50B145 +:1088600098F82300CDE90005FA89234639464846A1 +:10887000FEF78DFC91E711208FE72DE9F04F8BB0CB +:108880001F4615460C4683460026FAF7DCFD28B144 +:108890000078222805D208200BB081E543F20200BF +:1088A000FAE7B80801D00720F6E7032F00D1002728 +:1088B0004FF6FF79CCB1022D73D32046F8F716FDA1 +:1088C00030B904EB0508A8F10100F8F70FFD08B175 +:1088D0001020E1E7AD1E38F8028CAAB221464846C6 +:1088E00005F061FE40455CD1ADB20D49B80702D537 +:1088F0008889401C00E001201FFA80F8F80701D0A9 +:108900008F8900E04F4605AA4146584605F095FB81 +:108910004FF0070A4FF00009DCB320460BE00000DF +:1089200094020020408810283BD8361D304486B27F +:10893000AE4236D2A01902884245F3D351E000BFBF +:108940009DF8170002074CD594B304EB0608361DBA +:10895000B8F80230B6B2102B23D89A19AA4220D800 +:10896000B8F8002091421CD1C0061CD5CDE900A961 +:108970000DF1080C0AAAA11948468CE80700B8F8BE +:1089800000100022584605F0C6F920B1FEF7BBF9E9 +:1089900082E726E005E0B8F80200BDF8281088421A +:1089A00001D00B2078E7B8F80200304486B207E027 +:1089B000FFE7C00604D55846FEF71CFC002888D106 +:1089C0009DF81700BDF81A1020F010008DF8170060 +:1089D000BDF81700ADF80000FF235846009A05F0D7 +:1089E000B0FC05A805F035FB18B9BDF81A10B9425E +:1089F000A6D9042158460AF0C5FA040000D1FFDFC9 +:108A0000A2895AB1CDE900A94D4600232146584616 +:108A1000FEF7BDFB0028BBD1A5813DE700203BE769 +:108A20002DE9FF4F8BB01E4617000D464FF0000496 +:108A300012D0B00802D007200FB0B1E4032E00D14D +:108A400000265DB10846F8F748FC28B93888691E49 +:108A50000844F8F742FC08B11020EDE7C74AB00718 +:108A600001D5D18900E00121F0074FF6FF7802D04F +:108A7000D089401E00E0404686B206AA0B9805F059 +:108A8000DCFA4FF000094FF0070B0DF1140A38E043 +:108A90009DF81B00000734D5CDF80490CDF800B048 +:108AA000CDF80890CDE9039A434600220B9805F0D3 +:108AB00094FB60BB05B3BDF814103A882144281913 +:108AC000091D8A4230D3BDF81E2020F8022BBDF8C4 +:108AD000142020F8022BCDE900B9CDE90290CDF8A1 +:108AE00010A0BDF81E10BDF8143000220B9805F040 +:108AF00074FB08B103209FE7BDF814002044001D5B +:108B000084B206A805F0A5FA20B10A2806D0FEF71F +:108B1000FAF891E7BDF81E10B142B9D934B17DB170 +:108B20003888A11C884203D20C2085E7052083E702 +:108B300022462946404605F036FD014628190180A7 +:108B4000A41C3C80002077E710B50446F8F7A7FB8B +:108B500008B1102010BD8948C0892080002010BDB8 +:108B6000F0B58BB00D4606461422002103A805F08F +:108B70009CFC01208DF80C008DF8100000208DF871 +:108B80001100ADF814503046FAF75DFC48B100789A +:108B9000222812D3042130460AF0F4F9040005D14A +:108BA00003E043F202000BB0F0BDFFDF04F114005C +:108BB000074604F0D2F8800601D40820F3E7207CB1 +:108BC000022140F00100207409A80094CDE90110B1 +:108BD000072203A930466368FEF78EFA20B1217C94 +:108BE00021F001012174DEE729463046F9F761FCE6 +:108BF00008A9384604F0A0F800B1FFDFBDF8204016 +:108C0000172C01D2172000E02046A84201D92C469B +:108C100002E0172C00D2172421463046FFF711FB43 +:108C200021463046F9F769F90020BCE7F8B51C4643 +:108C300015460E46069F0AF0D8FA2346FF1DBCB221 +:108C400031462A46009409F0C2FEF8BD70B50C46C4 +:108C500005460E220021204605F027FC002020803A +:108C60002DB1012D01D0FFDF70BD062000E00520F1 +:108C7000A07170BD10B548800878134620F00F0031 +:108C8000001D20F0F00080300C46087014221946B8 +:108C900004F1080005F0DFFB00F0CDFC374804606C +:108CA00010BD2DE9F047DFF8D890491D064621F0A8 +:108CB000030117460C46D9F8000009F09EFF050095 +:108CC00000D1FFDF4FF000083560A5F80080214695 +:108CD000D9F8000009F091FF050000D1FFDF7560B1 +:108CE000A5F800807FB104FB07F1091D0BD0D9F86E +:108CF000000009F082FF040000D1FFDFB460C4F877 +:108D00000080BDE8F087C6F80880FAE72DE9F04159 +:108D10001746491D21F00302194D06460168144605 +:108D2000286809F095FF22467168286809F090FFCD +:108D30003FB104FB07F2121D03D0B168286809F0A7 +:108D400087FF04200AF0C6F8044604200AF0CAF897 +:108D5000201A012804D12868BDE8F04109F042BF7B +:108D6000BDE8F08110B50C4605F036F900B1FFDF23 +:108D70002046BDE81040FDF7C6BF00009402002069 +:108D80001800002038B50C468288817B19B14189D2 +:108D9000914200D90A462280C188121D90B26A46CB +:108DA00009F0EEF8BDF80000032800D30320C1B29B +:108DB000208801F030F838BD38B50C468288817BB8 +:108DC00019B10189914200D90A462280C188121D39 +:108DD00090B26A4609F0D4F8BDF80000022800D32A +:108DE0000220C1B2208801F016F8401CC0B238BD84 +:108DF0002DE9FF5F82468B46FB4814460BF10302C8 +:108E0000D0E90110CDE9021022F0030201A84FF4CD +:108E10009071019209F0D3FEF44E002C02D1F44976 +:108E2000019A8A60019901440191B57F05F101051C +:108E300004D1E8B20BF0D6FD00B1FFDF019800EBE2 +:108E40000510C01C20F0030101915CB9707AB27A60 +:108E50001044C2B200200870308C80B204F01BFFB6 +:108E600000B1FFDF0198316A08440190214601A852 +:108E700000F094FF80460198C01C20F00300019090 +:108E8000B37AF27A717A04B1002009F08EFF019969 +:108E900008440190214601A800F0C8FFD3480027EC +:108EA0003D4690F801900CE0284600F05AFF064637 +:108EB00081788088F9F7B8F871786D1C00FB01772C +:108EC000EDB24D45F0D10198C01C20F00300019097 +:108ED00004B100203946F9F7B2F801990027084497 +:108EE0000190C2483D4690F801900CE0284600F001 +:108EF00038FF0646C1788088FEF707FC71786D1C44 +:108F000000FB0177EDB24D45F0D10198C01C20F077 +:108F10000300019004B100203946FEF7FFFB0199E0 +:108F20004FF0000908440190B0484D4647780EE0E4 +:108F3000284600F016FF0646807B30B106F1080097 +:108F400002F07AF9727800FB02996D1CEDB2BD4215 +:108F5000EED10198C01C20F00300019004B1002064 +:108F6000A3494A78494602F06BF9019908440190F7 +:108F7000214601A800F0C5FE0198C01D20F00700A1 +:108F80000190DAF80010814204D3A0EB0B01B1F597 +:108F9000803F04DB4FF00408CAF8000004E0CAF880 +:108FA0000000B8F1000F03D0404604B0BDE8F09FC8 +:108FB00074BB90490020019A0DF078FEFBF7E8F9A8 +:108FC0008A4C207F0090607F012823D0002318B3B3 +:108FD0000022864800211030F8F70AFA00B1FFDFBE +:108FE000E07FFEF748FF00B1FFDF80484FF4F672E4 +:108FF0000021403005F059FA7C480421403080F8C7 +:10900000E91180F8EA11062180F8EB1103210171C2 +:109010000020CAE70123DAE702AADAE770B5734C49 +:1090200006464034207804EB4015E078083598B9BE +:10903000A01990F8E80100280FD0A0780F2800D3DD +:10904000FFDF20220021284605F02FFA687866F31A +:10905000020068700120E070284670BD2DE9F041E3 +:1090600005460C4600270078052190463E46B1EBA8 +:10907000101F00D0FFDF287A50B101280ED0FFDF8B +:10908000A8F800600CB1278066800020BDE8F08160 +:109090000127092674B16888A08008E002271426F9 +:1090A00044B16888A0802869E060A88A2082287B73 +:1090B0002072E5E7A8F80060E7E730B54B4C0120E7 +:1090C000002120706170207260720322A272E0722F +:1090D0006177217721732174052121831F21618309 +:1090E000607445A161610A21A177E077404D4FF49A +:1090F000B06020626868C11C21F00301814200D089 +:10910000FFDF6868606030BD30B5394C1568636852 +:1091100010339D4202D20420136030BD334B5D7882 +:109120005A6802EB0512107051700320D08017208E +:1091300090800120D0709070002090735878401C6F +:109140005870606810306060002030BD70B5064611 +:1091500026480024457807E0204600F002FE01780A +:10916000B14204D0641CE4B2AC42F5D1002070BD21 +:10917000F7B5074608780C4610B3FFF7E7FF05463A +:10918000A7F12006202F06D0052E19D2DFE806F021 +:109190000F3838151A0000F0EFFD0DB1697800E0C6 +:1091A0000021401AA17880B20844FF2808D8A0788E +:1091B00030B1A088022831D202E0608817282DD271 +:1091C0000720FEBD207A48B361881729F8D3A1880B +:1091D0001729F5D3A1790029F2D0E1790029EFD040 +:1091E000402811D9ECE70000D4620200B00300204F +:1091F0001C000020000000206E5246357800000060 +:10920000242F0BD1207A48B161884FF6FB70814240 +:1092100002D8A188814201D90420FEBD65B9207819 +:1092200002AA0121FFF770FF0028F6D12078FFF78E +:109230008DFF050000D1FFDF052E18D2DFE806F014 +:10924000030B0E081100A0786870A088E8800FE07A +:109250006088A8800CE0A078A87009E0A078E87089 +:1092600006E054F8020FA8606068E86000E0FFDFE5 +:109270000020FEBD1A2835D00DDC132832D2DFE8DD +:1092800000F01B31203131272723252D31312931A1 +:109290003131312F0F00302802D003DC1E2821D1BC +:1092A000072070473A3809281CD2DFE800F0151B68 +:1092B0000F1B1B1B1B1B07000020704743F2040001 +:1092C000704743F202007047042070470D2070473A +:1092D0000F207047082070471120704713207047F7 +:1092E000062070470320704710B5007800F0010099 +:1092F00008F038FEBDE81040BCE710B5007800F07B +:10930000010008F038FEBDE81040B3E70EB5017863 +:1093100001F001018DF80010417801F001018DF894 +:1093200001100178C1F340018DF802104178C1F3BA +:1093300040018DF80310017889088DF804104178F8 +:1093400089088DF8051081788DF80610C1788DF8A0 +:10935000071000798DF80800684607F04CFEFFF70B +:1093600089FF0EBD2DE9F84FDFF8F883FE4C00268B +:109370004FF490771FE0012000F09BFD0120FFF7E4 +:109380004DFE05463946D8F8080009F036FC6860FD +:1093900000B9FFDF686807F0F9FCB0B12846FAF7BA +:1093A00039FB284600F08BFD28B93A466968D8F8A1 +:1093B000080009F04DFC94F9E9010428DBDA0220E9 +:1093C00009F088FD07460025A5E03A466968D8F807 +:1093D000080009F03DFCF2E7B8F802104046491CCD +:1093E00089B2A8F80210B94201D3002141800221BC +:1093F000B8F8020009F0C6FD002864D0B8F80200F1 +:10940000694608F01EFDFFF735FF00B1FFDF9DF84C +:10941000000078B1B8F8020009F0F9FE5FEA00092F +:1094200000D1FFDF484609F066F918B1B8F802002C +:1094300002F0CCF9B8F8020009F0D7FE5FEA0009A3 +:1094400000D1FFDF484609F04EF9E0BB0321B8F830 +:10945000020009F097FD5FEA000B47D1FFDF45E00E +:10946000DBF8100010B10078FF2849D0022000F08E +:1094700020FD0220FFF7D2FD8246484609F03FFA60 +:10948000CAF8040000B9FFDFDAF8040009F007FBAE +:10949000002100900170B8F802105046AAF802109E +:1094A00002F09AF8484609F0FCFA00B9FFDF50468E +:1094B00000F005FD18B99AF80100000704D50098DE +:1094C000CBF8100012E024E0DBF8100038B101788E +:1094D000491C11F0FF01017008D1FFDF06E00022F6 +:1094E0001146484600F00BFC00B9FFDF94F9EA0191 +:1094F000022805DBB8F8020002F035F80028AFD1E9 +:1095000094F9E901042804DB484609F02EFB00B178 +:1095100001266D1CEDB2BD4204D294F9EA01022885 +:10952000BFF65AAF002E7FF422AFBDE8F84F0320FC +:1095300000F0BFBC10B58B4CE06008682061AFF252 +:10954000DB10F9F7C2FC607010BD8748002140387D +:1095500001708448017085494160704770B50546C7 +:109560004FF080500C46D0F8A410491C05D1D0F81B +:10957000A810C9430904090C0BD050F8A01F01F032 +:1095800001012970416821608068A080287830B985 +:1095900070BD062120460DF00EF80120287060797C +:1095A00040F0C000607170BD70B54FF080540D4642 +:1095B000D4F88010491C0BD1D4F88410491C07D171 +:1095C000D4F88810491C03D1D4F88C10491C0CD055 +:1095D000D4F880100160D4F884104160D4F8881069 +:1095E0008160D4F88C10C16002E010210CF0E3FF20 +:1095F000D4F89000401C0BD1D4F89400401C07D143 +:10960000D4F89800401C03D1D4F89C00401C09D029 +:1096100054F8900F286060686860A068A860E068EF +:10962000E86070BD2846BDE8704010210CF0C3BF53 +:109630004D480079F2E470B54B4CE07830B32078B7 +:1096400004EB4010407A00F00700204490F9E80154 +:10965000002800DCFFDF2078002504EB4010407A72 +:1096600000F00700011991F8E801401E81F8E801B7 +:109670002078401CC0B220700F2800D12570A0783F +:10968000401CA0700CF016FEE57070BDFFDF70BDD1 +:109690003EB50546032109F075FC0446284609F04D +:1096A000A4FD054604B9FFDF206918B10078FF2842 +:1096B00000D1FFDF01AA6946284600F020FB60B90F +:1096C000FFDF0AE0002202A9284600F018FB00B9DB +:1096D000FFDF9DF8080000B1FFDF9DF80000411E8C +:1096E0008DF80010EED220690199884201D1002046 +:1096F00020613EBD70B50546A0F57F400C46FF38A1 +:1097000000D1FFDF012C01D0FFDF70BDFFF790FF1C +:10971000040000D1FFDF207820F00F00401D20F072 +:10972000F0005030207065800020207201202073EE +:10973000BDE870407FE72DE9F04116460D4607462B +:10974000FFF776FF040000D1FFDF207820F00F0044 +:10975000401D20F0F0005030207067800120207202 +:10976000286805E01C000020F003002048140020B9 +:109770002061A888A0822673BDE8F0415BE77FB531 +:10978000FFF7E4FC040000D1FFDF02A92046FFF749 +:10979000F9FA054603A92046FFF70EFB8DF80050A5 +:1097A0008DF80100BDF80800001DADF80200BDF8FD +:1097B0000C00001DADF80400E088ADF80600684616 +:1097C00008F0BAFB002800D0FFDF7FBD2DE9F05F75 +:1097D000F64E8146307810B10820BDE8F09F48462B +:1097E000F7F75DFD08B11020F7E7F14C207808B9D4 +:1097F000FFF763FCA17A607A4D460844C4B200F0DA +:10980000BBFAA04207D2201AC1B22A460020FFF7B5 +:109810007BFC0028E1D17168E548C91C002721F0D4 +:1098200003017160B3463E463D46BA463C4690F859 +:1098300001800AE0204600F094FA4178807B0E44D3 +:1098400010FB0155641CE4B27F1C4445F2D10AEBC5 +:10985000870000EBC600D64E00EB85005C46F17A2F +:10986000012200EB8100DBF8041045182946484628 +:10987000FFF7BEFA070012D00020FFF767FC0500D3 +:109880000BD005F11300616820F00300884200D07E +:10989000FFDF7078401E7070656038469DE70022DB +:1098A00029464846FFF7A4FA00B1FFDFD9F80000C7 +:1098B00060604FF6FF7060800120207000208CE710 +:1098C0002DE9F0410446B94817460E46007810B11C +:1098D0000820BDE8F0810846F7F7BBFC08B110206E +:1098E000F7E7B34D287808B9FFF7E7FB601E1E289D +:1098F00007D8012C22D13078FE281FD8A877002065 +:10990000E7E7A4F120001F2805D8E0B23A46314627 +:10991000BDE8F0412CE4A4F140001F2805D83146F1 +:109920002046BDE8F04100F0F2BAA4F1A0001F28E3 +:1099300004D80020A02C03D0A12C06D00720C8E713 +:10994000317801F00101E977C3E731680922F8298C +:1099500001D38B0701D01046BBE76B7C03F00303F8 +:10996000012B04D16B8BD7339CB28C42F3D8296284 +:10997000AFE72DE9F04781460E460846F7F78FFC22 +:1099800048B94846F7F7A9FC28B909F1030020F0C7 +:109990000301494502D01020BDE8F08784484FF00C +:1099A000000A4030817869B14178804600EB41146B +:1099B0000834378832460021204600F08EFA050030 +:1099C00004D027E0A6F800A00520E5E7B9F1000FD4 +:1099D00024D03088B84201D90C251FE0607800F00F +:1099E0000705284600F065FA08EB0507324697F8A8 +:1099F000E8014946401C87F8E801204607F5F4775E +:109A000000F06BFA05463878401E3870032000F0ED +:109A100050FA2DB10C2D01D0A6F800A02846BBE7C6 +:109A20006078624E00F00701012923D002290CD092 +:109A3000032934D0FFDF98F801104046491CC9B211 +:109A400088F801100F2935D036E0616821B1000790 +:109A500002D46088FFF71CFE98F8EA014746012807 +:109A600002D17078F9F750FA97F9EA010428E2DB9D +:109A7000FFDFE0E7616821B14FF49072B06809F050 +:109A8000E7F898F8E9014746032802D17078F9F71A +:109A90003BFA97F9E9010428CDDBFFDFCBE7C006ED +:109AA00002D56088FFF7F4FD98F9EB010628C2DBC8 +:109AB000FFDFC0E780F801A08178491E81706178DE +:109AC00001F0070101EB080090F8E811491C80F84B +:109AD000E811A3E770B50C460546F7F7BAFB18B9CD +:109AE0002046F7F7DCFB08B1102070BD28460AF0CD +:109AF000B0FF207008B1002070BD042070BD70B5AB +:109B000005460AF0BFFFC4B22846F7F7E6FB08B1E6 +:109B1000102070BD35B128782C7018B1A04201D04A +:109B2000072070BD2046FDF75DFE052805D10AF02F +:109B3000ACFF012801D0002070BD0F2070BD70B5B2 +:109B4000044615460E460846F7F783FB18B9284623 +:109B5000F7F7A5FB08B1102070BD022C03D0102C24 +:109B600001D0092070BD2A46314620460AF0B7FFD1 +:109B70000028F7D0052070BD70B514460D46064686 +:109B8000F7F767FB38B92846F7F789FB18B920467D +:109B9000F7F7A3FB08B1102070BD224629463046D6 +:109BA0000AF09FFF0028F7D0072070BD1C0000209E +:109BB000B00300203EB50446F7F771FB08B1102052 +:109BC0003EBD684607F088F9FFF754FB0028F7D13F +:109BD0009DF806002070BDF808006080BDF80A00FE +:109BE000A08000203EBD70B505460C460846F7F73C +:109BF00074FB20B93CB12068F7F751FB08B1102085 +:109C000070BDA08828B121462846BDE87040FDF708 +:109C100041BE092070BD70B505460C460846F7F7F1 +:109C200018FBA0BB681E1E280ED8032D01D90720E3 +:109C300070BD05B9FFDFFE4800EB850050F8041C3D +:109C40002046BDE870400847A5F120001F2805D830 +:109C500021462846BDE87040FAF707BBA5F1600031 +:109C60001F2805D821462846BDE87040F8F79DBC5E +:109C7000F02D0DD0F12D15D0BF2DD8D1A078218891 +:109C800000F0010001F05EFB98B1002070BD03E020 +:109C9000A068F7F7DEFA08B11020F7E7204608F0D1 +:109CA000B0F902E0207808F0CFF9BDE87040FFF786 +:109CB000E1BA0820EAE770B504460D460846F7F712 +:109CC000EEFA30B9601E1E280FD82846F7F7C1FA01 +:109CD00008B11020DAE7012C03D0022C01D0032CAC +:109CE00001D10620D2E70720D0E7A4F120001F28E9 +:109CF000F9D829462046BDE87040FAF729BB08F09C +:109D0000C1BC7CB50446CB48007B00F0010511BB0B +:109D100004F0EEFB0DB1226800E00022C648417855 +:109D2000C06806F0A6FDC4481030C0788DF8000069 +:109D300010B1012802D004E0012000E000208DF8DD +:109D40000000684607F038F9B948243800680190E7 +:109D500001A807F0EBFE002D02D02068283020601B +:109D60007CBD30B5B34D04466878A04200D8FFDF13 +:109D7000686800EB041030BD70B5AE4800252C4675 +:109D8000467807E02046FFF7ECFF4078641C284443 +:109D9000C5B2E4B2B442F5D1284677E72DE9F041E7 +:109DA0000C4607464FF0000800F0EDF80646FF2885 +:109DB00001D94FF013083868C01C20F003023A6044 +:109DC00054EA080421D19B48F3B2072124300CF057 +:109DD000FFFD09E0072C10D2DFE804F006040808B4 +:109DE0000A040600954804E0954802E0954800E022 +:109DF00095480CF00DFE054600E0FFDFA54200D0BF +:109E0000FFDF641CE4B2072CE4D3386800EB0610D3 +:109E1000386040465DE5021D5143452900D2452189 +:109E20000844C01CB0FBF2F0C0B270472DE9FC5FE3 +:109E3000064680484FF000088B464746444690F857 +:109E4000019022E02046FFF78CFF050000D1FFDFE4 +:109E5000687869463844C7B22846FEF793FF8246C1 +:109E600001A92846FEF7A8FF0346BDF804005246A4 +:109E7000001D81B2BDF80000001D80B209F000F99C +:109E80006A78641C00FB0288E4B24C45DAD1306881 +:109E9000C01C20F003003060BBF1000F00D0002098 +:109EA0004246394609F0FAF8316808443060BDE8A6 +:109EB000FC9F6049403108710020C87070475D49BF +:109EC0004031CA782AB10A7801EB42110831814247 +:109ED00001D001207047002070472DE9F04106466F +:109EE0000078154600F00F0400201080601E0F4619 +:109EF000052800D3FFDF4E482A46183800EB8400BF +:109F0000394650F8043C3046BDE8F04118472DE989 +:109F1000F041484E0C46402806D0412823D0422824 +:109F20002BD0432806D123E0A07861780D18E17882 +:109F3000814201D90720CCE42078012801D91320DF +:109F4000C7E4FF2D08D80AF037FF07460CF06AF97E +:109F5000381A801EA84201DA1220BAE42068B060E4 +:109F6000207930730DE0BDE8F041084600F036B8C6 +:109F700008780228DED8307703E008780228D9D89C +:109F800070770020A5E42DE9F047DFF8A8900026BF +:109F9000344699F8090099F80A2099F801700244AA +:109FA000D5B299F80B20104400F0FF0808E02046D5 +:109FB000FFF7D7FE817B407811FB0066641CE4B29A +:109FC000BC42F4D199F8091099F80A0029442944AF +:109FD000414400B1012008443044DDE438B5044672 +:109FE000407800F00300012803D002280BD007209E +:109FF00038BD606858B1F7F779F9C0B96068F7F70C +:10A000006CF920B925E06068F7F723F978B969465B +:10A010002046FCF745F80028EAD1607800F00300FC +:10A02000022818D19DF80000A8B160680EE010E089 +:10A03000F8620200B00300201C0000206B41000009 +:10A0400061B30000DD2F0000D7470100F7F745F9A5 +:10A0500008B1102038BD6189F8290DD820898842BF +:10A060000AD8607800F003020A48012A06D1D731E5 +:10A07000026A89B28A4201D2092038BD94E80E00F2 +:10A0800000F1100585E80E000AB9002101830020C7 +:10A0900038BD0000B00300202DE9F041074614460A +:10A0A0008846084601F08AFD064608EB88001C2217 +:10A0B000796802EBC0000D18688C58B141463846EB +:10A0C00001F08BFD014678680078C200082305F195 +:10A0D00020000CE0E88CA8B14146384601F084FD30 +:10A0E0000146786808234078C20005F1240008F092 +:10A0F00006FE38B1062121726681D0E90010C4E95C +:10A10000031009E0287809280BD005202072668109 +:10A110006868E060002028702046BDE8F04101F04A +:10A120002EBD072020726681F4E72DE9F041164626 +:10A130000D460746406801EB85011C2202EBC10178 +:10A140004418204601F072FD40B10021708865F38B +:10A150000F2160F31F4106200CF014FD0920207030 +:10A16000324629463846BDE8F04195E72DE9F041F1 +:10A170000E46074600241C21F07816E004EB840309 +:10A18000726801EBC303D25C6AB1FFF751FA0500B4 +:10A1900000D1FFDF6F802A4621463046FFF7C5FF1A +:10A1A0000120BDE8F081641CE4B2A042E6D80020A2 +:10A1B000F7E770B5064600241C21C0780AE000BF0E +:10A1C00004EB8403726801EBC303D5182A782AB123 +:10A1D000641CE4B2A042F3D8402070BD28220021C4 +:10A1E000284604F062F9706880892881204670BD95 +:10A1F00070B5034600201C25DC780CE000EB8006DF +:10A200005A6805EBC6063244167816B1128A8A429D +:10A2100004D0401CC0B28442F0D8402070BDF0B5DC +:10A22000044600201C26E5780EE000BF00EB800706 +:10A23000636806EBC7073B441F788F4202D15B7807 +:10A24000934204D0401CC0B28542EFD84020F0BDFC +:10A250000078032801D00020704701207047007863 +:10A26000022801D00020704701207047007807289D +:10A2700001D000207047012070472DE9F0410646CB +:10A2800088461078F1781546884200D3FFDF2C7895 +:10A290001C27641CF078E4B2A04201D8201AC4B292 +:10A2A00004EB8401706807EBC1010844017821B117 +:10A2B0004146884708B12C7073E72878A042E8D15E +:10A2C000402028706DE770B514460B880122A2402B +:10A2D000134207D113430B8001230A22011D08F00A +:10A2E000D8FC047070BD2DE9FF4F81B00878DDE91E +:10A2F0000E7B9A4691460E4640072CD4019808F0F2 +:10A3000086FF040000D1FFDF07F1040820461FFA92 +:10A3100088F108F0C3F8050000D1FFDF2046294688 +:10A320006A4608F00EFB0098A0F80370A0F805A09C +:10A33000284608F0B4FB017869F306016BF3C711F6 +:10A34000017020461FFA88F108F0EBF800B9FFDF32 +:10A35000019806F0FCF906EB0900017F491C017722 +:10A3600005B0BDE8F08F2DE9F84F0E469A469146AC +:10A370000746032108F006FE0446008DDFF8B88585 +:10A38000002518B198F80000B0421ED1384608F0F8 +:10A390003EFF070000D1FFDF09F10401384689B212 +:10A3A00008F07CF8050010D0384629466A4608F0C7 +:10A3B000C8FA009800210A460180817006F084FAEC +:10A3C0000098C01DCAF8000021E098F80000B042D3 +:10A3D00016D104F1260734F8341F012000FA06F9DB +:10A3E00011EA090F00D0FFDF2088012340EA0900AD +:10A3F00020800A22391D384608F066FC067006E007 +:10A40000324604F1340104F12600FFF75CFF0A2113 +:10A4100088F800102846BDE8F88FFEB515460C46B2 +:10A42000064602AB0C220621FFF79DFF002827D02D +:10A430000299607812220A70801C487008224A80B3 +:10A44000A07002982988052381806988C180A98825 +:10A450000181E988418100250C20CDE90005062213 +:10A4600021463046FFF73FFF2946002266F31F4191 +:10A47000F02310460CF0DCFA6078801C607001203C +:10A48000FEBDFEB514460D460622064602AB114639 +:10A49000FFF769FF002812D0029B132000211870DB +:10A4A000A8785870022058809C800620CDE90001D1 +:10A4B0000246052329463046FFF715FF0120FEBD61 +:10A4C0002DE9FE430C46804644E002AB0E220721F4 +:10A4D0004046FFF748FF002841D060681C2267789B +:10A4E0008678BF1C06EB860102EBC1014518029875 +:10A4F0001421017047700A214180698A0181E98A2B +:10A500004181A9888180A9898181304601F056FB6B +:10A51000029905230722C8806F7004202870002547 +:10A520000E20CDE9000521464046FFF7DCFE294616 +:10A5300066F30F2168F31F41F023002206200CF080 +:10A5400077FA6078FD49801C607062682046921C32 +:10A55000FFF793FE606880784028B6D10120BDE8FF +:10A56000FE83FEB50D46064638E002AB0E220721FB +:10A570003046FFF7F8FE002835D068681C23C17804 +:10A5800001EB810203EBC2028418029815220270CB +:10A59000627842700A224280A2894281A288828126 +:10A5A000084601F00BFB014602988180618AC18058 +:10A5B000E18A0181A088B8B10020207000210E201E +:10A5C000CDE900010523072229463046FFF78BFE1F +:10A5D0006A68DB492846D21CFFF74FFE6868C078DE +:10A5E0004028C2D10120FEBD0620E6E72DE9FE434A +:10A5F0000C46814644E0204601F002FBD0B302AB9A +:10A60000082207214846FFF7AEFE0028A7D0606861 +:10A610001C2265780679AD1C06EB860102EBC101B0 +:10A6200047180298B7F81080062101704570042180 +:10A630004180304601F0C2FA014602980523072204 +:10A64000C180A0F804807D70082038700025CDE915 +:10A65000000521464846FFF746FE294666F30F21CE +:10A6600069F31F41F023002206200CF0E1F9607825 +:10A67000801C60706268B3492046121DFFF7FDFD23 +:10A68000606801794029B6D1012068E72DE9F34FD0 +:10A6900083B00D4691E0284601F0B2FA00287DD043 +:10A6A00068681C2290F806A00AEB8A0102EBC1013F +:10A6B00044185146284601F097FAA178CB00696802 +:10A6C0004978CA00014604F1240008F034FB07462B +:10A6D0008188E08B4FF00009091A8EB208B1C84694 +:10A6E00007E04FF00108504601F053FA08B9B61CD4 +:10A6F000B6B2208BB04200D80646B34602AB324613 +:10A7000007210398FFF72FFE060007D0B8F1000FCE +:10A710000BD0504601F03DFA10B106E000201FE6D4 +:10A720000299B8884FF0020908800196E28B3968D7 +:10A73000ABEB09001FFA80F80A4403984E460092DA +:10A7400008F065FDDDE90021F61D4346009608F09E +:10A7500072F9E08B404480B2E083B988884201D12D +:10A76000012600E00026CDE900B6238A072229460B +:10A770000398FFF7B8FD504601F00BFA10B9E089D5 +:10A78000401EE08156B1A078401CA0706868E9784E +:10A79000427811FB02F1CAB2012300E007E08169AF +:10A7A0000E3008F076FA80F800A00020E0836A6896 +:10A7B00065492846921DFFF760FD68688179402948 +:10A7C0007FF469AF0120CBE570B5064648680D46B9 +:10A7D00014468179402910D104EB84011C2202EB3C +:10A7E000C101084401F043FA002806D068682946F0 +:10A7F00084713046BDE8704048E770BDFEB50C4638 +:10A800000746002645E0204601F0FAF9D8B3606813 +:10A810001C22417901EB810102EBC10145186889D5 +:10A8200000B9FFDF02AB082207213846FFF79BFD86 +:10A83000002833D00299607816220A70801C487074 +:10A84000042048806068407901F0B8F90146029818 +:10A850000523072281806989C1800820CDE900068F +:10A8600021463846FFF73FFD6078801C6070A8895C +:10A8700069890844B0F5803F00D3FFDFA889698962 +:10A880000844A8816E81626830492046521DFFF756 +:10A89000F4FC606841794029B5D10120FEBD30B596 +:10A8A000438C458BC3F3C704002345B1838B641EDF +:10A8B000ED1AC38A6D1E1D4495FBF3F3E4B22CB16F +:10A8C000008918B1A04200D8204603444FF6FF701B +:10A8D000834200D3034613800C7030BD2DE9FC4148 +:10A8E000074616460D46486802EB86011C2202EB1D +:10A8F000C10144186A4601A92046FFF7D0FFA0898C +:10A90000618901448AB2BDF80010914212D0081A40 +:10A9100000D5002060816868407940280AD120462F +:10A9200001F09BF9002805D0686829464671384631 +:10A93000FFF764FFBDE8FC813000002051A2000059 +:10A940005FA200006DA200006FBC00005BBC0000B5 +:10A950002DE9FE4F0F46814615465088032108F029 +:10A9600011FB0190B9F8020001F01BF98246014683 +:10A97000019801F045F9002824D001981C22416873 +:10A980000AEB8A0002EBC0000C18204601F04EF9D9 +:10A99000002817D1B9F80000E18A88420ED8A189B1 +:10A9A00061B1B8420ED100265146019801F015F967 +:10A9B000218C01EB0008608B30B114E0504601F0AF +:10A9C000E8F8A0B3BDE8FE8F504601F0E2F808B108 +:10A9D000678308E0022FF5D3B9F804006083618A29 +:10A9E000884224D80226B81B87B2B8F80400A28B8C +:10A9F000801A002814DD874200DA38461FFA80FBEF +:10AA0000688869680291D8F800100A44009208F03A +:10AA1000ECFBF61D009A5B460299009607F0D7FF03 +:10AA2000A08B384480B2A083618B884207D96888A4 +:10AA3000019903B05246BDE8F04F01F035B91FD17E +:10AA40004FF009002872B9F802006881D8E90010B7 +:10AA5000C5E90410608BA881284601F090F85146A2 +:10AA6000019801F0BAF8014601980823406800787F +:10AA7000C20004F1200008F042F90020A0836083A6 +:10AA8000504601F086F810B9A089401EA081688860 +:10AA9000019903B00AF0FF02BDE8F04F1EE72DE96F +:10AAA000F041064615460F461C461846F6F7D1FB00 +:10AAB00018B92068F6F7F3FB10B11020BDE8F0815B +:10AAC0007168688C0978B0EBC10F01D31320F5E7EA +:10AAD0003946304601F081F8014670680823007855 +:10AAE000C20005F1200008F0D4F8D4E90012C0E952 +:10AAF00000120020E2E710B50446032108F042FAF4 +:10AB00000146007800F00300022805D02046BDE889 +:10AB1000104001F1140280E48A8A2046BDE810400A +:10AB2000AFE470B50446032108F02CFA054601464F +:10AB30002046FFF75BFD002816D029462046FFF788 +:10AB40005DFE002810D029462046FFF70AFD0028A8 +:10AB50000AD029462046FFF7B3FC002804D0294636 +:10AB60002046BDE8704091E570BD2DE9F0410C46EE +:10AB700080461EE0E178427811FB02F1CAB2816999 +:10AB800001230E3008F0BBF8077860681C22C179F9 +:10AB9000491EC17107EB8701606802EBC1014618CD +:10ABA0003946204601F02CF818B1304601F037F84C +:10ABB00020B16068C1790029DCD17FE7FEF738FD5C +:10ABC000050000D1FFDF0A202872384600F0F6FFAA +:10ABD00068813946204601F007F80146606808237D +:10ABE0004078C20006F1240008F089F8D0E900108E +:10ABF000C5E90310A5F80280284600F0C0FFB07830 +:10AC000000B9FFDFB078401EB07057E770B50C4652 +:10AC10000546032108F0B6F901464068C27922448E +:10AC2000C2712846BDE870409FE72DE9FE4F82467D +:10AC3000507814460F464FF0000800284FD00128E6 +:10AC400007D0022822D0FFDF2068B8606068F86073 +:10AC5000B8E602AB0E2208215046FFF784FB00281D +:10AC6000F2D00298152105230170217841700A2144 +:10AC70004180C0F80480C0F80880A0F80C80628889 +:10AC800082810E20CDE90008082221E0A678304616 +:10AC900000F094FF054606EB86012C22786802EB53 +:10ACA000C1010822465A02AB11465046FFF75BFB32 +:10ACB0000028C9D002980721017021784170042131 +:10ACC000418008218580C680CDE9001805230A4609 +:10ACD00039465046FFF707FB87F8088072E6A678EA +:10ACE000022516B1022E13D0FFDF2A1D914602ABBA +:10ACF00008215046FFF737FB0028A5D00298012114 +:10AD0000022E0170217841704580868002D005E0D6 +:10AD10000625EAE7A188C180E1880181CDE9009894 +:10AD20000523082239465046D4E710B504460321CE +:10AD300008F028F9014600F108022046BDE810405D +:10AD400073E72DE9F04F0F4605468DB01446508845 +:10AD5000032108F017F94FF000088DF8148006461B +:10AD6000ADF81680042F7BD36A78002A78D0287833 +:10AD70004FF6FF794FF01C0A132834D008DC012865 +:10AD800071D006284AD007286ED012280ED106E0CE +:10AD900014286AD0152869D0162807D1AAE10C2FEB +:10ADA00004D1307800F00301022907D0CDF80880E3 +:10ADB000CDF80C8068788DF808004CE040F0080071 +:10ADC00030706878B07001208DF81400A888ADF854 +:10ADD0001800E888ADF81A002889ADF81C006889C9 +:10ADE000ADF81E0011E1B078904239D130780107FA +:10ADF00036D5062F34D120F00800307060884146E7 +:10AE000060F31F4100200BF0BDFE02208DF81400FE +:10AE1000ADF81890A888ADF81A00F6E0082F1FD1F9 +:10AE2000A888EF88814600F0BCFE80460146304687 +:10AE300000F0E6FE18B1404600F0ABFEB8B1FC48A9 +:10AE4000D0E90010CDE902106878ADF80C908DF8CB +:10AE50000800ADF80E70608802AA3146FFF7E5FEE3 +:10AE60000DB0BDE8F08FB6E01EE041E0ECE07168A7 +:10AE700008EB88002C2202EBC000085AB842EFD140 +:10AE8000EB4802AAD0E90210CDE9021068788DF8EB +:10AE9000080008F0FF058DF80A5060883146FFF77A +:10AEA000C4FE224629461FE0082FD9D1B5F80480F8 +:10AEB000E88800F076FE07460146304600F0A0FE26 +:10AEC0000028CDD007EB870271680AEBC200084466 +:10AED000028A4245C4D101780829C1D140786978F5 +:10AEE0008842BDD1F9B222463046FFF71EF9B7E7D6 +:10AEF0000E2F7FF45BAFE9886F898B46B5F8089019 +:10AF00003046FFF775F9ABF14001402901D3092024 +:10AF10004AE0B9F1170F01D3172F01D20B2043E0FC +:10AF200040280ED000EB800271680AEBC200084492 +:10AF30000178012903D140786978884290D00A20AD +:10AF400032E03046FFF735F9014640282BD001EBBF +:10AF5000810372680AEBC30002EB0008012288F843 +:10AF600000206A7888F801207068AA884089B84271 +:10AF700000D93846AD8903232372A282E78120825B +:10AF8000A4F80C906582084600F018FE6081A8F8CD +:10AF90001490A8F81870A8F80E50A8F810B0204621 +:10AFA00000F0EDFD5CE7042005212172A4F80A8081 +:10AFB000E081012121739E49D1E90421CDE90221DB +:10AFC00069788DF80810ADF80A00608802AA314649 +:10AFD000FFF72BFEE3E7062F89D3B07890421AD112 +:10AFE0003078010717D520F008003070608841469E +:10AFF00060F31F4100200BF0C5FD02208DF8140006 +:10B00000A888ADF81800ADF81A906088224605A906 +:10B01000F9F7D7F824E704213046FFF700F9054691 +:10B020004028BFD0022083030090224629463046A4 +:10B0300000F003FE4146608865F30F2160F31F4175 +:10B0400006200BF09FFD0BE70E2FABD104213046FD +:10B05000FFF7E5F881464028A4D04146608869F3AF +:10B060000F2160F31F4106200BF08CFDA8890B9087 +:10B070006889099070682F894089B84200D938469C +:10B080008346B5F80680A8880A90484600F096FDE9 +:10B0900060810B9818B1022000900B9B24E0B8F15E +:10B0A000170F1ED3172F1CD304202072099860821B +:10B0B000E781A4F810B0A4F80C8009EB890271684C +:10B0C0000AEBC2000D18DDE90913A5F81480A5F8F4 +:10B0D00018B0E9812B82204600F051FD062028702F +:10B0E000BEE601200B23009022464946304600F080 +:10B0F000A4FDB5E6082F8DD1A9883046FFF778F872 +:10B100000746402886D000F044FD00289BD107EB7D +:10B11000870271680AEBC2000844804600F086FD91 +:10B12000002890D1ED88B8F80E002844B0F5803F93 +:10B1300005D360883A46314600F0B6FD90E6002D12 +:10B14000CED0A8F80E0060883A463146FFF73CFBA7 +:10B1500008202072384600F031FD6081A5811EE78D +:10B160002DE9F05F0C4601281FD0957992F80480F4 +:10B1700092F8056005EB85011F2202EBC10121F069 +:10B18000030B08EB060111FB05F14FF6FF7202EA13 +:10B19000C10909F1030115FB0611264F21F0031A1D +:10B1A000BB6840B101283ED125E06168E57891F89F +:10B1B00000804E78DEE75946184607F01EFD6060B5 +:10B1C00000B9FFDF5A460021606803F06EF9E570B0 +:10B1D0005146B86807F011FD6168486100B9FFDFAA +:10B1E0006068426902EB09018161606880F8008053 +:10B1F0006068467017E0606852464169184607F07B +:10B2000027FD5A466168B86807F022FD032007F061 +:10B2100061FE0446032007F065FE201A012802D1D2 +:10B22000B86807F0DFFC0BEB0A00BDE8F09F0000F8 +:10B2300004630200300000200246002102208FE754 +:10B24000F7B5FF4C0A2016462070009860B1002523 +:10B250004FEA0D0007F0B3FC0021A1706670002DCD +:10B2600001D10099A160FEBD01250020F2E770B573 +:10B270000C46154638220021204603F016F9012617 +:10B2800066700A22002104F11C0003F00EF905B9D2 +:10B29000FFDF297A207861F301002070A879002867 +:10B2A0002DD02A4621460020FFF75AFF6168402032 +:10B2B000E34A88706168C8706168087161684871A4 +:10B2C0006168887161682888088161686888488138 +:10B2D000606886819078002811D061680620087720 +:10B2E00061682888C88561682888488660680685FE +:10B2F000606869889288018681864685828570BDEE +:10B30000C878002802D00022012029E7704770B5D4 +:10B310000546002165F31F4100200BF033FC03219B +:10B32000284607F02FFE040000D1FFDF2146284603 +:10B33000FEF71CFF002804D0207840F01000207099 +:10B34000012070BD70B505460C46032007F0B4FD22 +:10B3500008B1002070BDBA4885708480012070BD9E +:10B360002DE9FF4180460E460F0CFEF761F90500FE +:10B3700007D06F800321384607F004FE040008D18F +:10B3800006E004B03846BDE8F0411321F9F74CBBA4 +:10B39000FFDF5FEA080005D0B8F1060F18D0FFDF25 +:10B3A000BDE8FF8120782A4620F0080020700020A8 +:10B3B000ADF8020002208DF800004FF6FF70ADF8E6 +:10B3C0000400ADF8060069463846F8F7FAFEE7E7EC +:10B3D000C6F3072101EB81021C23606803EBC20264 +:10B3E000805C042803D008280AD0FFDFD8E70120BA +:10B3F00000904FF440432A46204600F01EFCCFE761 +:10B4000004B02A462046BDE8F041FEF78EBE2DE985 +:10B41000F05F05464089002790460C463E4682462E +:10B4200000F0BFFB8146287AC01E08286BD2DFE8F7 +:10B4300000F00D04192058363C4772271026002CC6 +:10B440006CD0D5E90301C4E902015CE07027122643 +:10B45000002C63D00A2205F10C0104F1080002F06F +:10B46000FAFF50E071270C26002C57D0E868A06046 +:10B4700049E0742710269CB3D5E90301C4E9020111 +:10B480006888032107F07EFD8346FEF7D1F8024667 +:10B490006888508049465846FEF7FEFD33E0752720 +:10B4A0000A26ECB1A88920812DE076271426BCB1AC +:10B4B00005F10C0004F1080307C883E8070022E047 +:10B4C0007727102664B1D5E90301C4E90201688831 +:10B4D000032107F057FD01466888FFF746FB12E09D +:10B4E0001CE073270826CCB16888032107F04AFDC9 +:10B4F00001460078C00606D56888FEF737FE10B909 +:10B500006888F8F76BFAA8F800602CB12780A4F8D7 +:10B5100006A066806888A080002086E6A8F8006003 +:10B52000FAE72DE9FC410C461E46174680460321EA +:10B5300007F028FD05460A2C0AD2DFE804F00505CD +:10B540000505050509090907042303E0062301E0B1 +:10B55000FFDF0023CDE90076224629464046FEF76C +:10B56000C2FEBDE8FC81F8B50546A0F57F40FF3876 +:10B570002BD0284607F039FE040000D1FFDF20461B +:10B5800007F0BDF9002821D001466A46204607F0A1 +:10B59000D8F900980321B0F80560284607F0F2FCBE +:10B5A0000446052E13D0304600F0FBFA054601464E +:10B5B000204600F025FB40B1606805EB85013E2286 +:10B5C00002EBC101405A002800D00120F8BD007AEA +:10B5D0000028FAD00020F8BDF8B50446408807F0EE +:10B5E00004FE050000D1FFDF6A462846616800F0CE +:10B5F000C4FA01460098091F8BB230F8032F02806D +:10B60000428842800188994205D1042A08D0052A3F +:10B6100020D0062A16D022461946FFF799F9F8BD20 +:10B62000001D0E460546014622463046F6F72BFF22 +:10B630000828F4D1224629463046FCF772F9F8BDB5 +:10B6400030000020636864880A46011D2046FAF72E +:10B6500095F9F4E72246001DFFF773FBEFE770B59D +:10B660000D460646032107F08DFC040004D0207827 +:10B67000000704D5112070BD43F2020070BD2A46B8 +:10B6800021463046FEF7C9FE18B92868606168682F +:10B69000A061207840F008002070002070BD70B5D7 +:10B6A0000D460646032107F06DFC040004D0207807 +:10B6B000000704D4082070BD43F2020070BD2A4682 +:10B6C00021463046FEF7DDFE00B9A582207820F045 +:10B6D00008002070002070BD2DE9F04F0E4691B09B +:10B6E0008046032107F04EFC0446404607F08FFDDC +:10B6F00007460020079008900990ADF830000A90A6 +:10B7000002900390049004B9FFDF0DF10809FFB91E +:10B71000FFDF1DE038460BA9002206F0B3FF9DF8BD +:10B720002C0000F07F050A2D00D3FFDF6019017F98 +:10B73000491E01779DF82C00000609D52A460CA960 +:10B7400007A8FEF7C0FD19F80510491C09F80510F7 +:10B75000761EF6B2DED204F13400F84D04F1260B69 +:10B76000DFF8DCA304F12A07069010E0584606999A +:10B7700000F08CFA064628700A2800D3FFDF5AF83A +:10B78000261040468847E08CC05DB04202D0208D34 +:10B790000028EBD10A202870E94D4E4628350EE0EE +:10B7A0000CA907A800F072FA0446375D55F824008A +:10B7B00000B9FFDF55F82420394640469047BDF8D0 +:10B7C0001E000028ECD111B0BDE8F08F10B50321A8 +:10B7D00007F0D8FB040000D1FFDF0A22002104F1AA +:10B7E0001C0002F062FE207840F00400207010BDC2 +:10B7F00010B50C46032107F0C5FB2044007F00284C +:10B8000000D0012010BD2DE9F84F8946154682462B +:10B81000032107F0B7FB070004D02846F5F719FD10 +:10B8200040B903E043F20200BDE8F88F4846F5F75F +:10B8300036FD08B11020F7E7786828B169880089DB +:10B84000814201D90920EFE7B9F800001C2488B132 +:10B8500000F0A7F980460146384600F0D1F988B1DA +:10B8600008EB8800796804EBC000085C01280BD065 +:10B870000820D9E73846FEF79CFC8046402807D1CF +:10B880001320D1E70520CFE7FDF7D2FE06000BD04D +:10B8900008EB8800796804EBC0000C18B9F80000C8 +:10B8A00020B1E88910B113E01120BDE728881728DE +:10B8B00002D36888172801D20720B5E7686838B135 +:10B8C0002B1D224641463846FFF7E9F80028ABD148 +:10B8D00004F10C0269462046FEF7E1FF28886082E9 +:10B8E0006888E082B9F8000030B102202070E88951 +:10B8F000A080E889A0B12BE003202070A889A08057 +:10B9000078688178402905D180F802803946504610 +:10B91000FEF7D6FD404600F051F9A9F8000021E0FD +:10B920007868218B4089884200D908462083A6F890 +:10B9300002A004203072B9F800007081E0897082A2 +:10B94000F181208B3082A08AB081304600F017F957 +:10B950007868C178402905D180F80380394650467F +:10B96000FEF7FFFD00205FE770B50D460646032198 +:10B9700007F008FB04000ED0284600F012F9054637 +:10B980000146204600F03CF918B1284600F001F9C4 +:10B9900020B1052070BD43F2020070BD05EB8501AA +:10B9A0001C22606802EBC101084400F03FF908B1B5 +:10B9B000082070BD2A462146304600F075F9002067 +:10B9C00070BD2DE9F0410C4617468046032107F073 +:10B9D000D9FA0546204600F0E4F8044695B1014640 +:10B9E000284600F00DF980B104EB84011C22686840 +:10B9F00002EBC1014618304600F018F938B10820B2 +:10BA0000BDE8F08143F20200FAE70520F8E73B4683 +:10BA1000324621462846FFF742F80028F0D1E2B22C +:10BA200029464046FEF75AFF708C0838082803D292 +:10BA300042484078F7F768FA0020E1E72DE9F04145 +:10BA40000D4617468046032107F09CFA0446284617 +:10BA500000F0A7F8064624B13846F5F7FAFB38B9E6 +:10BA600002E043F20200CBE73868F5F7F2FB08B1D9 +:10BA70001020C5E73146204600F0C2F860B106EB61 +:10BA800086011C22606802EBC1014518284600F0BF +:10BA9000CDF818B10820B3E70520B1E7B888A98A26 +:10BAA000884201D90C20ABE76168E88C4978B0EB9B +:10BAB000C10F01D31320A3E73146204600F094F8CC +:10BAC0000146606808234078C20005F1240007F0B1 +:10BAD000E0F8D7E90012C0E90012F2B22146404670 +:10BAE000FEF772FE00208BE72DE9F0470D461F465A +:10BAF00090468146032107F045FA0446284600F0A7 +:10BB000050F806463CB14DB13846F5F7E6FB50B16A +:10BB10001020BDE8F08743F20200FAE7606858B1F0 +:10BB2000A0F80C8027E03146204600F069F818B1F3 +:10BB3000304600F02EF828B10520EAE7300000205A +:10BB40001C63020006EB86011C22606802EBC10147 +:10BB50004518284600F06AF808B10820D9E7A5F88A +:10BB60000880F2B221464846FEF7B8FE1FB1A88908 +:10BB70006989084438800020CBE706F0E2BE0178EE +:10BB800021F00F01491C21F0F00110310170FDF787 +:10BB900052BD20B94E48807808B10120704700207E +:10BBA00070474B498988884201D10020704740285E +:10BBB00001D2402000E0403880B2704710B5044602 +:10BBC000402800D9FFDF2046FFF7E3FF10B14048CF +:10BBD000808810BD4034A0B210BD40684269007832 +:10BBE000484302EBC0007047C2784068037812FBFC +:10BBF00003F24378406901FB032100EBC100704769 +:10BC0000C2788A4209D9406801EB81011C2202EB0B +:10BC1000C101405C08B101207047002070470078E6 +:10BC2000062801D9012070470020704700780628B7 +:10BC300001D00120704700207047F0B401EB81066D +:10BC40001C27446807EBC6063444049D052626706D +:10BC5000E3802571F0BCFEF71FBA10B5418911B120 +:10BC6000FFF7DDFF08B1002010BD012010BD10B5A9 +:10BC7000C18C8278B1EBC20F04D9C18911B1FFF731 +:10BC8000CEFF08B1002010BD012010BD10B50C463C +:10BC900001230A22011D07F032F8007821880122D1 +:10BCA00082409143218010BDF0B402EB82051C2636 +:10BCB0004C6806EBC505072363554B681C79402C7F +:10BCC00003D11A71F0BCFEF791BCF0BC70470000C4 +:10BCD0003000002010B5EFF3108000F0010472B6C0 +:10BCE000FC484178491C41704078012801D10AF094 +:10BCF00009FB002C00D162B610BD70B5F54CA078E0 +:10BD000048B90125A570FFF7E5FF0AF00CFB20B14B +:10BD100000200AF0D6FA002070BD4FF08040E57098 +:10BD2000C0F80453F7E770B5EFF3108000F0010599 +:10BD300072B6E84C607800B9FFDF6078401E607032 +:10BD4000607808B90AF0E2FA002D00D162B670BD41 +:10BD5000E04810B5817821B10021C1708170FFF7F2 +:10BD6000E2FF002010BD10B504460AF0DCFAD94904 +:10BD70008978084000D001202060002010BD10B557 +:10BD8000FFF7A8FF0AF0CFFA02220123D149540796 +:10BD900028B1D148026023610320087202E00A72D0 +:10BDA000C4F804330020887110BD2DE9F84FDFF886 +:10BDB00024934278817889F80420002689F80510B8 +:10BDC000074689F806600078DFF810B3354620B1E1 +:10BDD000012811D0022811D0FFDF0AF0B6FA4FF087 +:10BDE000804498B10AF0B8FAB0420FD130460AF058 +:10BDF000B7FA0028FAD042E00126EEE7FFF76AFF23 +:10BE000058460168C907FCD00226E6E70120E06039 +:10BE1000C4F80451B2490E600107D1F84412B04A87 +:10BE2000C1F3423124321160AD49343108604FF022 +:10BE3000020AC4F804A3A060AA480168C94341F3F8 +:10BE4000001101F10108016841F01001016001E0F9 +:10BE50001AF06EF8D4F804010028F9D030460AF040 +:10BE60007FFA0028FAD0B8F1000F04D19D4801688C +:10BE700021F010010160C4F808A3C4F8045199F836 +:10BE800005004E4680B1387870B90AF04CFA804609 +:10BE90000AF05CFC6FF00042B8F1000F02D0C6E976 +:10BEA000032001E0C6E90302DBF80000C00701D06F +:10BEB0000AF035FA387810B13572BDE8F88F4FF0D6 +:10BEC0001808C4F808830127A7614FF42070ADF863 +:10BED000000000BFBDF80000411EADF80010F9D20F +:10BEE000C4F80C51C4F810517A48C01D0AF0C2FAC7 +:10BEF0003570FFF744FF6761794930792031086078 +:10BF0000C4F80483D9E770B5050000D1FFDF4FF016 +:10BF100080424FF0FF30C2F808030021C2F8001140 +:10BF2000C2F80411C2F80C11C2F81011694C61700A +:10BF30000AF005FA10B10120A0706070674800682F +:10BF4000C00701D00AF0EBF92846BDE870402CE7A5 +:10BF50006048007A002800D0012070472DE9F04F9A +:10BF600061484FF0000A85B0D0F800B0D14657467E +:10BF70005D4A5E49083211608406D4F8080110B1A8 +:10BF80004FF0010801E04FF000080AF046FA78B1DE +:10BF9000D4F8240100B101208246D4F81C0100B17C +:10BFA00001208146D4F8200108B1012700E00027D4 +:10BFB000D4F8000100B101200490D4F8040100B1CC +:10BFC00001200390D4F80C0100B101200290D4F8B4 +:10BFD000100100B101203F4D01902878002600900B +:10BFE000B8F1000F04D0C4F8086101200AF069F923 +:10BFF000BAF1000F04D0C4F8246109200AF061F9F5 +:10C00000B9F1000F04D0C4F81C610A200AF059F9F4 +:10C0100027B1C4F820610B200AF053F92D48C01D48 +:10C020000AF030FA00B1FFDFDFF8AC800498012796 +:10C0300080B1C4F80873E87818B1EE7000200AF0F7 +:10C0400040F9287A022805D1032028720221C8F875 +:10C0500000102761039808B1C4F80461029850B138 +:10C06000C4F80C61287A032800D0FFDFC8F800600C +:10C070002F72FFF758FE019838B1C4F81061287A82 +:10C08000012801D100F05CF86761009838B12E708A +:10C09000287A012801D1FFF772FEFFF744FE0D4810 +:10C0A000C01D0AF005FA1049091DC1F800B005B01D +:10C0B000BDE8F08F074810B5C01D0AF0E3F9054947 +:10C0C000B0B1012008704FF0E021C1F80002BDE8D6 +:10C0D0001040FFE544000020340C00400C040040F8 +:10C0E0001805004010ED00E01005024001000001BD +:10C0F000087A012801D1FFF742FEBDE8104024482C +:10C100000AF0D6B970B5224CE41FA07808B90AF03D +:10C11000FDF801208507A861207A0026032809D1AF +:10C12000D5F80C0120B900200AF01AF90028F7D13F +:10C13000C5F80C6126724FF0FF30C5F8080370BDDA +:10C1400070B5134CE41F6079F0B1012803D0A179D8 +:10C15000401E814218DA0AF0E6F805460AF0F6FABF +:10C160006179012902D9A179491CA1710DB1216917 +:10C1700000E0E168411A022902DA11F1020F06DC3F +:10C180000DB1206100E0E060BDE87040F7E570BDF2 +:10C190004B0000200F4A12680D498A420CD1184703 +:10C1A0000C4A12680A4B9A4206D101B50AF0A0FA6D +:10C1B0000AF073FDBDE801400749096809580847BE +:10C1C00006480749054A064B70470000000000007A +:10C1D000BEBAFECA5C00002004000020C01300208C +:10C1E000C0130020F8B51D46DDE906470E000AD051 +:10C1F00007F00DF82346FF1DBCB231462A460094D5 +:10C2000006F019FCF8BDD0192246194602F023F9B0 +:10C210002046F8BD70B50D4604461022002102F0FC +:10C2200044F9258117206081A07B40F00A00A073AB +:10C2300070BD4FF6FF720A80014602200AF0A2BCD0 +:10C24000704700897047827BD30701D1920703D4DE +:10C25000808908800020704705207047827B920704 +:10C2600000D58181704701460020098841F6FE52C1 +:10C27000114200D00120704700B50346807BC00703 +:10C2800001D0052000BD59811846FFF7ECFFC0071B +:10C2900003D0987B40F004009873987B40F0010035 +:10C2A0009873002000BD827B520700D509B14089F8 +:10C2B000704717207047827B61F3C3028273704717 +:10C2C0002DE9FC5F0E46044601789646012000FAEF +:10C2D00001F14DF6FF5201EA020962684FF6FF7B59 +:10C2E0001188594502D10920BDE8FC9FB9F1000F22 +:10C2F00005D041F6FE55294201D00120F4E741EA7C +:10C30000090111801D0014D000232B7094F800C087 +:10C31000052103221F464FF0020ABCF10E0F76D210 +:10C32000DFE80CF0F909252F47646B77479193B448 +:10C33000D1D80420D8E7616820898B7B9B0767D51B +:10C3400017284AD30B89834247D38989172901D3F8 +:10C35000814242D185F800A0A5F8010032806168D1 +:10C3600088816068817B21F002018173C6E004202E +:10C3700028702089A5F801006089A5F803003180A4 +:10C38000BCE0208A3188C01D1FFA80F8414524D3C3 +:10C39000062028702089A5F801006089A5F803000F +:10C3A000A089A5F805000721208ACDE9000163696D +:10C3B00041E00CF0FF00082810D0082028702089E8 +:10C3C000A5F801006089A5F8030031806A1D69465F +:10C3D00004F10C0008F085FB10B15EE01020EDE7E1 +:10C3E00030889DF800100844308087E00A202870CB +:10C3F0002089A5F80100328044E00C2028702089B3 +:10C40000A5F801006089A5F8030031803AE082E0D8 +:10C4100064E02189338800EB41021FFA82F843452A +:10C420003BD3B8F1050F38D30E222A700BEA410135 +:10C43000CDE90010E36860882A467146FFF7D2FE16 +:10C44000A6F800805AE04020287060893188C01C1E +:10C450001FFA80F8414520D32878714620F03F002C +:10C46000123028702089A5F801006089CDE900020A +:10C4700060882A46E368FFF7B5FEA6F800802878B2 +:10C4800040063BD461682089888037E0A0893288E3 +:10C49000401D1FFA80F8424501D204273DE01620D6 +:10C4A00028702089A5F801006089A5F80300A089FB +:10C4B000CDE9000160882A4671462369FFF792FEA4 +:10C4C000A6F80080DEE718202870207A6870A6F8A9 +:10C4D00000A013E061680A88920401D405271CE0DB +:10C4E000C9882289914201D0062716E01E212970B1 +:10C4F00030806068018821F400510180B9F1000F9B +:10C500000BD061887823002202200AF091FA61683A +:10C510002078887006E0338003276068018821EA6C +:10C52000090101803846DFE62DE9FF4F85B0174647 +:10C53000129C0D001E461CD03078C10703D000F0BD +:10C540003F00192801D9012100E000212046FFF712 +:10C55000AAFEA8420DD32088A0F57F41FF3908D05C +:10C560003078410601D4000605D5082009B0BDE8A1 +:10C57000F08F0720FAE700208DF800008DF8010009 +:10C5800030786B1E00F03F0C0121A81E4FF0050A09 +:10C590004FF002094FF0030B9AB2BCF1200F75D295 +:10C5A000DFE80CF08B10745E7468748C749C74B546 +:10C5B00074BA74C874D474E1747474F174EF74EE62 +:10C5C00074ED748B052D78D18DF80090A0788DF8DE +:10C5D00004007088ADF8060030798DF8010070789D +:10C5E00000F03F000C2829D00ADCA0F10200092845 +:10C5F00063D2DFE800F0126215621A621D62200049 +:10C60000122824D004DC0E281BD01028DBD11BE01C +:10C6100016281FD01828D6D11FE02078800701E007 +:10C6200020784007002848DAEEE020780007F9E794 +:10C630002078C006F6E720788006F3E720784006E9 +:10C64000F0E720780006EDE72088C005EAE72088BB +:10C650004005E7E720880005E4E72088C004E1E71B +:10C660002078800729D5032D27D18DF800B0B6F8A2 +:10C67000010081E0217849071FD5062D1DD381B225 +:10C680007078012803D0022817D102E0C9E0022007 +:10C6900000E0102004228DF8002072788DF804202C +:10C6A000801CB1FBF0F2ADF8062092B242438A4200 +:10C6B00003D10397ADF80890A6E079E02078000751 +:10C6C00076D598B282088DF800A0ADF80420B0EBC2 +:10C6D000820F6DD10297ADF8061095E02178C9065A +:10C6E00066D5022D64D381B206208DF800007078E3 +:10C6F00002285DD3B1FBF0F28DF80400ADF80620FE +:10C7000092B242438A4253D1ADF808907BE0207840 +:10C7100080064DD5072003E0207840067FD508200D +:10C720008DF80000A088ADF80400ADF80620ADF843 +:10C73000081068E02078000671D50920ADF80420C3 +:10C740008DF80000ADF8061002975DE02188C9055C +:10C7500065D5022D63D381B20A208DF80000707870 +:10C7600004285CD3C6E72088400558D5012D56D152 +:10C770000B208DF80000A088ADF8040044E021E013 +:10C7800026E016E0FFE72088000548D5052D46D3B2 +:10C790000C208DF80000A088ADF80400B6F8030066 +:10C7A0006D1FADF80850ADF80600ADF80AA02AE0FC +:10C7B00035E02088C00432D5012D30D10D208DF810 +:10C7C000000021E02088800429D4B6F80100E08030 +:10C7D000A07B000723D5032D21D3307800F03F0044 +:10C7E0001B2818D00F208DF80000208840F400503E +:10C7F000A4F80000B6F80100ADF80400ED1EADF895 +:10C800000650ADF808B0039769460598F5F784FB24 +:10C81000050008D016E00E208DF80000EAE7072595 +:10C8200010E008250EE0307800F03F001B2809D00A +:10C830001D2807D0022005990AF0A4F9208800F4E9 +:10C8400000502080A07B400708D52046FFF70BFD55 +:10C85000C00703D1A07B20F00400A073284685E622 +:10C860001FB5022806D101208DF8000088B2694664 +:10C87000F5F752FB1FBD0000F8B51D46DDE9064780 +:10C880000E000AD006F0C3FC2346FF1DBCB23146A1 +:10C890002A46009406F0CFF8F8BDD0192246194672 +:10C8A00001F0D9FD2046F8BD2DE9FF4F8DB09B4624 +:10C8B000DDE91B57DDF87CA00C46082B05D0E069AC +:10C8C00001F0FEF850B11020D2E02888092140F094 +:10C8D000100028808AF80010022617E0E169012084 +:10C8E0008871E2694FF420519180E1698872E069B2 +:10C8F00042F601010181E06900218173288811213C +:10C9000040F0200028808AF80010042638780A9029 +:10C910000A2038704FF0020904F118004D460C90BF +:10C9200001F0C6FBB04681E0BBF1100F0ED1022D25 +:10C930000CD0A9EB0800801C80B20221CDE90010C8 +:10C9400005AB52461E990D98FFF796FFBDF81610DD +:10C950001A98814203D9F74800790F9004E003D177 +:10C960000A9808B138702FE04FF00201CDE90019A4 +:10C970000DF1160352461E990D98FFF77DFF1D9885 +:10C980000088401B801B83B2C6F1FF00984200D292 +:10C9900003461E990BA8D9B15FF00002DDF878C0FC +:10C9A000CDE9032009EB060189B2CDE901C10F9859 +:10C9B0000090BDF8161000220D9801F00EFC3870A2 +:10C9C00070B1C0B2832807D0BDF8160020833AE0CA +:10C9D0000AEB09018A19E1E7022011B0BDE8F08FE6 +:10C9E000BDF82C00811901F0FF08022D0DD09AF836 +:10C9F0000120424506D1BDF82010814207D0B8F190 +:10CA0000FF0F04D09AF801801FE08AF80180C9481E +:10CA100000680178052902D1BDF81610818009EB64 +:10CA200008001FFA80F905EB080085B2DDE90C105B +:10CA300005AB0F9A01F03FFB28B91D980088411BF8 +:10CA40004145BFF671AF022D13D0BBF1100F0CD1D1 +:10CA5000A9EB0800801C81B20220CDE9000105ABE2 +:10CA600052461E990D98FFF707FF1D98058000207C +:10CA700038700020B1E72DE9F8439C46089E134624 +:10CA80000027B26B9AB3491F8CB2F18FA1F57F4595 +:10CA9000FF3D05D05518AD882944891D8DB200E0B1 +:10CAA00000252919B6F83C800831414520D82A4490 +:10CAB000BCF8011022F8021BBCF8031022F8021B7C +:10CAC000984622F8024B914606F08FFB4FF00C0C73 +:10CAD00041464A462346CDF800C005F078FFF58769 +:10CAE000B16B00202944A41D2144088003E001E02B +:10CAF000092700E083273846BDE8F88310B50B8886 +:10CB0000848F9C420CD9846BE018048844B18488DB +:10CB100024F40044A41D23440B801060002010BDA9 +:10CB20000A2010BD2DE9F0478AB0002590468946BD +:10CB30008246ADF8185007274BE005980688808894 +:10CB4000000446D4A8F8006007A801950097029554 +:10CB5000CDE903504FF4007300223146504601F0F6 +:10CB60003CFB04003CD1BDF81800ADF8200005984E +:10CB700004888188B44216D10A0414D40195029520 +:10CB8000039521F400410097049541F480434288C5 +:10CB90002146504601F0BFF804000BD1059881886A +:10CBA00041F40041818005AA08A94846FFF7A6FF85 +:10CBB0000400DCD000970598029501950395049533 +:10CBC0000188BDF81C300022504601F0A4F80A2C60 +:10CBD00006D105AA06A94846FFF790FF0400ACD08D +:10CBE000ADF8185004E00598818821F40041818057 +:10CBF00005AA06A94846FFF781FF0028F3D00A2CB2 +:10CC000003D020460AB0BDE8F0870020FAE710B54F +:10CC10000C46896B86B051B10C218DF80010A18FA4 +:10CC2000ADF80810A16B01916946FAF70FFB0020DF +:10CC30004FF6FF71A063E187A08706B010BD2DE914 +:10CC4000F0410D460746896B0020069E14460029D8 +:10CC500011D0012B0FD1324629463846FFF762FF2B +:10CC6000002808D1002C06D0324629463846BDE8B7 +:10CC7000F04100F034BFBDE8F0812DE9FC411446DD +:10CC8000DDE9087C0E46DDE90A15521DBCF800E01E +:10CC900092B2964502D20720BDE8FC81ACF8002094 +:10CCA00017222A70A5F80160A5F803300522CDE906 +:10CCB00000423B462A46FFF7DFFD0020ECE770B557 +:10CCC0000C46154648220021204601F0EEFB04F1F7 +:10CCD000080044F81C0F00204FF6FF71E0616184EA +:10CCE0002084A5841720E08494F82A0040F00A00EC +:10CCF00084F82A0070BD4FF6FF720A8001460320B7 +:10CD000009F040BF30B585B00C460546FFF77FFF00 +:10CD1000A18E284629B101218DF800106946FAF745 +:10CD200095FA0020E0622063606305B030BDB0F882 +:10CD3000400070476000002090F84620920703D41E +:10CD4000408808800020F4E70620F2E790F84620AB +:10CD50009207EED5A0F84410EBE7014600200988C1 +:10CD60000A0700D5012011F0F00F01D040F00200B9 +:10CD7000CA0501D540F004008A0501D540F008003D +:10CD80004A0501D540F010000905D2D540F0200039 +:10CD9000CFE700B5034690F84600C00701D0062053 +:10CDA00000BDA3F842101846FFF7D7FF10F03E0F62 +:10CDB00005D093F8460040F0040083F8460013F8CD +:10CDC000460F40F001001870002000BD90F846208A +:10CDD000520700D511B1B0F84200AAE71720A8E722 +:10CDE00010F8462F61F3C3020270A2E72DE9FF4F4E +:10CDF0009BB00E00DDE92B34DDE92978289D24D095 +:10CE00002878C10703D000F03F00192801D901217B +:10CE100000E000212046FFF7D9FFB04215D3287863 +:10CE2000410600F03F010CD41E290CD0218811F4DA +:10CE30007F6F0AD13A8842B1A1F57F42FF3A04D010 +:10CE400001E0122901D1000602D504201FB0C5E57A +:10CE5000FA491D984FF0000A08718DF818A08DF856 +:10CE60003CA00FAA0A60ADF81CA0ADF850A029782C +:10CE7000994601F03F02701F5B1C04F1180C4FF043 +:10CE8000060E4FF0040BCDF858C01F2A7ED2DFE803 +:10CE900002F07D7D107D267DAC7DF47DF37DF27DFD +:10CEA000F17DF47DF07D7D7DEF7DEE7D7D7D7D7D71 +:10CEB000ED0094F84610B5F80100890701D5032E5E +:10CEC00002D08DF818B01EE34FF40061ADF8501099 +:10CED000608003218DF83C10ADF84000D4E2052EAF +:10CEE000EFD1B5F801002083ADF81C00B5F80310B0 +:10CEF000618308B1884201D9012079E10020A07244 +:10CF000020814FF6FF702084169801F0D1F805209B +:10CF100089F800000220029083460AAB1D9A1699F8 +:10CF20001B9801F0C8F890BB9DF82E00012804D092 +:10CF3000022089F80100102003E0012089F8010097 +:10CF400002200590002203A90BA807F0CAFDE8BB48 +:10CF50009DF80C00059981423DD13988801CA1EBD8 +:10CF60000B01814237DB02990220CDE900010DF16E +:10CF70002A034A4641461B98FFF77EFC02980BF1B4 +:10CF8000020B801C81B217AA029101E09CE228E00A +:10CF900003A90BA807F0A5FD02999DF80C00CDE9A7 +:10CFA000000117AB4A4641461B98FFF765FC9DF808 +:10CFB0000C000AAB0BEB00011FFA81FB02991D9AD2 +:10CFC000084480B2029016991B9800E003E001F03B +:10CFD00072F80028B6D0BBF1020F02D0A7F800B05B +:10CFE0004FE20A208DF818004BE200210391072E32 +:10CFF000FFF467AFB5F801002083ADF81C00B5F869 +:10D000000320628300283FF477AF90423FF674AF6D +:10D010000120A072B5F8050020810020A073E0690E +:10D0200000F04EFD78B9E16901208871E2694FF4A2 +:10D0300020519180E1698872E16942F6010008811E +:10D04000E06900218173F01F20841E986062072030 +:10D050006084169801F02CF8072089F80000012060 +:10D06000049002900020ADF82A0028E019E29FE128 +:10D0700035E1E5E012E2A8E080E043E00298012813 +:10D0800014D0E0698079012803D1BDF82800ADF8FB +:10D090000E00049803ABCDE900B04A4641461B9808 +:10D0A000FFF7EAFB0498001D80B20490BDF82A0047 +:10D0B000ADF80C00ADF80E00059880B202900AABF6 +:10D0C0001D9A16991B9800F0F6FF28B90298398826 +:10D0D000001D05908142D1D20298012881D0E069DB +:10D0E0008079012803D1BDF82800ADF80E0004981E +:10D0F00003ABCDE900B04A4641461B98FFF7BCFBA5 +:10D100000298BDE1072E02D0152E7FF4DAAEB5F8F5 +:10D1100001102183ADF81C10B5F8032062830029AB +:10D120003FF4EAAE91423FF6E7AE0121A1724FF023 +:10D13000000BA4F808B084F80EB0052E07D0C0B2DA +:10D14000691DE26907F0CBFC00287FF44AAF4FF677 +:10D15000FF70208401A906AA14A8CDF800B081E8C8 +:10D1600085032878214600F03F031D9A1B98FFF79E +:10D170009BFB8246208BADF81C0082E10120032E30 +:10D18000C3D14021ADF85010B5F801102183ADF89E +:10D190001C100AAAB8F1000F00D00023CDE9020349 +:10D1A00004921D98CDF80480009038880022401E1B +:10D1B00083B21B9801F011F88DF8180090BB0B207A +:10D1C00089F80000BDF8280035E04FF0010C052E6D +:10D1D0009BD18020ADF85000B5F801102183B5F83F +:10D1E00003002084ADF81C10B0F5007F03D90720A0 +:10D1F0008DF8180087E140F47C4222840CA8B8F135 +:10D20000000F00D00023CDE90330CDE9018C1D983B +:10D2100000903888401E83B21B9800F0DEFF8DF826 +:10D22000180018B18328A8D10220BFE00D2189F889 +:10D230000010BDF83000401C22E10000600000201A +:10D24000032E04D248067FF53CAE002018E1B5F865 +:10D250000110ADF81C102878400602D58DF83CE08E +:10D2600002E007208DF83C004FF000080320CDE9D4 +:10D2700002081E9BCDF810801D980193A6F1030BA8 +:10D2800000901FFA8BF342461B9800F044FD8DF886 +:10D2900018008DF83C80297849060DD52088C005F6 +:10D2A00006D5208BBDF81C10884201D1C4F824801B +:10D2B00040468DF81880E3E0832801D14FF0020A40 +:10D2C0004FF48070ADF85000BDF81C002083A4F826 +:10D2D00020B01E986062032060841321CDE0052EEB +:10D2E000FFF4EFADB5F80110ADF81C10A28F6AB3D2 +:10D2F000A2F57F43FE3B29D008228DF83C2000BFD9 +:10D300004FF0000B0523CDE9023BDDF878C0CDF8E6 +:10D3100010B01D9A80B2CDF804C040F400430092D2 +:10D32000B5F803201B9800F0F6FC8DF83CB04FF4E4 +:10D3300000718DF81800ADF85010832810D0F8B1A6 +:10D34000A18FA1F57F40FE3807D0DCE00B228DF8DD +:10D350003C204FF6FE72A287D2E7A4F83CB0D2E0A0 +:10D3600000942B4631461E9A1B98FFF784FB8DF8DC +:10D37000180008B183284BD1BDF81C00208353E767 +:10D3800000942B4631461E9A1B98FFF774FB8DF8CC +:10D390001800E8BBE18FA06B0844831D8DE888036B +:10D3A0004388828801881B98FFF767FC824668E003 +:10D3B00095F80180022E70D15FEA080002D0B8F122 +:10D3C000010F6AD109208DF83C0007A800908DF864 +:10D3D00040804346002221461B98FFF730FC8DF821 +:10D3E00042004FF0000B8DF843B050B9B8F1010F77 +:10D3F00012D0B8F1000F04D1A18FA1F57F40FF3802 +:10D400000AD0A08F40B18DF83CB04FF4806000E0AE +:10D4100037E0ADF850000DE00FA91B98F9F716FFA3 +:10D4200082468DF83CB04FF48060ADF85000BAF100 +:10D43000020F06D0FC480068C07928B18DF81800AA +:10D4400027E0A4F8188044E0BAF1000F03D081204F +:10D450008DF818003DE007A80090434601222146C0 +:10D460001B98FFF7ECFB8DF8180021461B98FFF77F +:10D47000CEFB9DF8180020B9192189F80010012071 +:10D4800038809DF83C0020B10FA91B98F9F7DEFE0B +:10D490008246BAF1000F33D01BE018E08DF818E097 +:10D4A00031E02078000712D5012E10D10A208DF826 +:10D4B0003C00E088ADF8400003201B9909F062FBB6 +:10D4C0000820ADF85000C0E648067FF5FAAC4FF0F2 +:10D4D000040A2088BDF8501008432080BDF8500091 +:10D4E00080050BD5A18FA1F57F40FE3806D11E988F +:10D4F000E06228982063A6864FF0030A5046A5E410 +:10D500009DF8180078B1012089F80000297889F881 +:10D510000110BDF81C10A9F802109DF8181089F828 +:10D520000410052038802088BDF8501088432080E2 +:10D53000E4E72DE9FF4F8846087895B00121814046 +:10D540004FF20900249C0140ADF820102088DDF83E +:10D550008890A0F57F424FF0000AFF3A06D039B11B +:10D56000000705D5012019B0BDE8F08F0820FAE7C3 +:10D57000239E4FF0000B0EA886F800B018995D4668 +:10D580000988ADF83410A8498DF81CB0179A0A71B3 +:10D590008DF838B0086098F8000001283BD00228C8 +:10D5A00009D003286FD1307820F03F001D30307053 +:10D5B000B8F80400E08098F800100320022904D194 +:10D5C000317821F03F011B31317094F84610090782 +:10D5D00059D505ABB9F1000F13D0002102AA82E89A +:10D5E0000B000720CDE90009BDF83400B8F804109D +:10D5F000C01E83B20022159800F0EFFD0028D1D1A3 +:10D6000001E0F11CEAE7B8F80400A6F80100BDF853 +:10D610001400C01C04E198F805108DF81C1098F84F +:10D620000400012806D04FF4007A02282CD00328E9 +:10D63000B8D16CE12188B8F8080011F40061ADF8A8 +:10D64000201020D017281CD3B4F84010814218D3E2 +:10D65000B4F84410172901D3814212D1317821F056 +:10D660003F01C91C3170A6F801000321ADF8341048 +:10D67000A4F8440094F8460020F0020084F8460024 +:10D6800065E105257EE177E1208808F1080700F4CF +:10D69000FE60ADF8200010F0F00F1BD010F0C00FAE +:10D6A00003D03888228B9042EBD199B9B878C00763 +:10D6B00010D0B9680720CDE902B1CDF804B00090D0 +:10D6C000CDF810B0FB88BA883988159800F023FB94 +:10D6D0000028D6D12398BDF82010401C80294ED0B8 +:10D6E00006DC10290DD020290BD0402987D124E059 +:10D6F000B1F5807F6ED051457ED0B1F5806F97D166 +:10D70000DEE0C80601D5082000E0102082460DA901 +:10D7100007AA0520CDE902218DF83800ADF83CB00C +:10D72000CDE9049608A93888CDE9000153460722BF +:10D7300021461598FFF7B8F8A8E09DF81C200121B4 +:10D740004FF00A0A002A9BD105ABB9F1000F00D0B7 +:10D750000020CDE902100720CDE90009BDF8340012 +:10D760000493401E83B2218B0022159800F035FDF2 +:10D770008DF81C000B203070BDF8140020E09DF8DF +:10D780001C2001214FF00C0A002A22D113ABB9F161 +:10D79000000F00D00020CDE902100720CDE90009DC +:10D7A0000493BDF83400228C401E83B2218B15985F +:10D7B00000F013FD8DF81C000D203070BDF84C00FA +:10D7C000401CADF8340005208DF83800208BADF8F2 +:10D7D0003C00BCE03888218B88427FF452AF9DF832 +:10D7E0001C004FF0120A00281CD1606AA8B1B8785A +:10D7F000C0073FF446AF00E018E0BA680720CDE963 +:10D8000002B2CDF804B00090CDF810B0FB88BA8811 +:10D81000159800F080FA8DF81C001320307001205C +:10D82000ADF8340093E00000600000203988208BC0 +:10D830008142D2D19DF81C004FF0160A0028A06B3F +:10D8400008D0E0B34FF6FF7000215F46ADF808B096 +:10D85000019027E068B1B978C907BED1E18F0DAB5F +:10D860000844821D03968DE80C0243888288018853 +:10D8700009E0B878C007BCD0BA680DAB03968DE854 +:10D880000C02BB88FA881598FFF7F7F905005ED0FF +:10D89000072D72D076E0019005AA02A92046FFF775 +:10D8A0002DF90146E28FBDF80800824201D000291F +:10D8B000F1D0E08FA16B084407800198E08746E033 +:10D8C0009DF81C004FF0180A40B1208BC8B1388871 +:10D8D000208321461598FFF79AF938E004F11800E3 +:10D8E0000090237E012221461598FFF7A8F98DF8B4 +:10D8F0001C000028EDD1192030700120ADF8340053 +:10D90000E7E7052521461598FFF781F93AE02088D9 +:10D9100000F40070ADF8200050452DD1A08FA0F587 +:10D920007F41FE3901D006252CE0D8F808004FF0E1 +:10D93000160A48B1A063B8F80C10A1874FF6FF7122 +:10D94000E187A0F800B002E04FF6FF70A087BDF8B5 +:10D95000200030F47F611AD078230022032015992B +:10D9600009F066F898F8000020712088BDF82010B2 +:10D97000084320800EE000E007252088BDF8201035 +:10D9800088432080208810F47F6F1CD03AE02188E3 +:10D99000814321809DF8380020B10EA91598F9F730 +:10D9A00055FC05469DF81C000028EBD086F801A028 +:10D9B00001203070208B70809DF81C003071052094 +:10D9C000ADF83400DEE7A18EE1B118980DAB008808 +:10D9D000ADF834002398CDE90304CDE90139206B7B +:10D9E0000090E36A179A1598FFF700FA05460120A0 +:10D9F0008DF838000EA91598F9F728FC00B10546F6 +:10DA0000A4F834B094F8460040070AD52046FFF742 +:10DA1000A4F910F03E0F04D114F8460F20F00400D2 +:10DA200020701898BDF83410018028469BE500B599 +:10DA300085B0032806D102208DF8000088B269461F +:10DA4000F9F704FC05B000BD10B5384C0B7822681E +:10DA5000012B02D0022B2AD111E013780BB1052B38 +:10DA600001D10423137023688A889A802268CB88A6 +:10DA7000D38022680B891381498951810DE08B88FD +:10DA800093802268CB88D38022680B8913814B89CD +:10DA900053818B899381096911612168F9F7D6FB5C +:10DAA000226800210228117003D0002800D08120B4 +:10DAB00010BD832010BD806B002800D0012070476E +:10DAC0008178012909D10088B0F5205F03D042F6A2 +:10DAD0000101884201D10020704707207047F0B54E +:10DAE00087B0002415460E460746ADF8184011E0F1 +:10DAF00005980088288005980194811DCDE9024190 +:10DB0000072104940091838842880188384600F0F8 +:10DB100002F930B905AA06A93046FEF7EFFF002842 +:10DB2000E6D00A2800D1002007B0F0BD6000002038 +:10DB300010B58B7883B102789A4205D10B885BB11E +:10DB400002E08B79091D4BB18B789A42F9D1B0F87C +:10DB500001300C88A342F4D1002010BD812010BDFB +:10DB6000072826D012B1012A27D103E0497801F015 +:10DB7000070102E04978C1F3C20105291DD2DFE89F +:10DB800001F00318080C12000AB1032070470220AC +:10DB9000704704280DD250B10DE0052809D2801E2F +:10DBA000022808D303E0062803D0032803D0052069 +:10DBB0007047002070470F20704781207047C0B227 +:10DBC00082060BD4000607D5FA48807A4143C01D6F +:10DBD00001EBD00080B270470846704700207047C4 +:10DBE00070B513880B800B781C0625D5F14CA47AF0 +:10DBF000844204D843F010000870002070BD95687E +:10DC000000F0070605EBD0052D78F54065F3041309 +:10DC10000B701378D17803F0030341EA032140F23B +:10DC20000123B1FBF3F503FB15119268E41D00FB22 +:10DC3000012000EBD40070BD906870BD37B514466C +:10DC4000BDF804101180117841F0040111709DF8A5 +:10DC500004100A061ED5D74AA368C1F30011927AB0 +:10DC6000824208D8FE2811D1D21DD2084942184656 +:10DC700000F01BFC0AE003EBD00200F007030125D3 +:10DC800010789D40A843994008431070207820F0F8 +:10DC9000100020703EBD2DE9F0410746C81C0E461D +:10DCA00020F00300B04202D08620BDE8F081C14DD3 +:10DCB000002034462E60AF802881AA72E8801AE0E6 +:10DCC000E988491CE980810614D4E17800F003005A +:10DCD00041EA002040F20121B0FBF1F201FB120108 +:10DCE0002068FFF76CFF2989084480B22881381A20 +:10DCF0003044A0600C3420784107E1D40020D4E700 +:10DD0000AC4801220189C08800EB400002EB800092 +:10DD1000084480B270472DE9FF4F89B01646DDE90F +:10DD2000168A0F46994623F44045084600F054FBF6 +:10DD3000040002D02078400703D401200DB0BDE8D4 +:10DD4000F08F099805F0E4F802902078000606D5D7 +:10DD50009848817A0298814201D88720EEE72246CE +:10DD600001A90298FFF73CFF834600208DF80C00C4 +:10DD70004046B8F1070F1AD001222146FFF7F0FE06 +:10DD80000028DBD12078400611D502208DF80C0048 +:10DD9000ADF81070BDF80400ADF81200ADF81460D5 +:10DDA0001898ADF81650CDF81CA0ADF818005FEA31 +:10DDB000094004D500252E46A84601270CE021780D +:10DDC000E07801F0030140EA012040F20121B0FBBC +:10DDD000F1F2804601FB12875FEA494009D5B84558 +:10DDE00007D1A178207901F0030140EA0120B04277 +:10DDF00001D3BE4201D90720A0E7A8191FFA80F974 +:10DE0000B94501D90D2099E79DF80C0028B103A967 +:10DE10000998F9F719FA002890D1B84507D1A078E8 +:10DE20004FEA192161F30100A07084F804901A9858 +:10DE300000B10580199850EA0A0027D0199830B12E +:10DE40000BEB06002A46199900F005FB0EE00BEBE0 +:10DE500006085746189E099805F0C7F92B46F61D87 +:10DE6000B5B239464246009504F0B1FD224601A9FB +:10DE70000298FFF7B5FE9DF80400224620F010003E +:10DE80008DF80400DDE90110FFF7D8FE002055E70A +:10DE90002DE9FF4FDFF81C91824685B0B9F80610D6 +:10DEA000D9F8000001EB410100EB810440F20120B0 +:10DEB000B2FBF0F1174600FB1175DDE9138B4E46FE +:10DEC00029460698FFF77BFE0346FFF719FF184423 +:10DED000B1880C30884202D9842009B02FE7069817 +:10DEE000C6B2300603D5B00601D50620F5E7B9F86D +:10DEF0000620521C92B2A9F80620BBF1000F01D0F7 +:10DF0000ABF80020B00602D5C4F808800AE0B9F8E2 +:10DF100008201A4492B2A9F80820D9F80000891AFA +:10DF20000844A0602246FE200699FFF787FEE770AE +:10DF300025712078390A61F301002A0AA17840F09E +:10DF4000040062F30101A17020709AF80200607170 +:10DF5000BAF80000E08000252573300602D599F854 +:10DF60000A7000E00127B00601D54FF000084E46C8 +:10DF700000244FF007090FE0CDE902580195CDF8D4 +:10DF800000900495F1882046129B089AFFF7C3FE83 +:10DF90000028A2D1641CE4B2BC42EDD300209CE76F +:10DFA00000B5FFF7ADFE03490C308A88904203D9D3 +:10DFB000842000BDFC050020CA88086802EB4203EB +:10DFC00000EB8300521C037823F004030370CA8023 +:10DFD000002101730846ECE72DE9F047804600F088 +:10DFE000FBF9070005D000264446F74D40F2012911 +:10DFF00016E00120BDE8F087204600F0EDF9027838 +:10E00000C17802F0030241EA0222B2FBF9F309FBF4 +:10E0100013210068FFF7D3FD3044641C86B2A4B21C +:10E02000E988601E8142E7DCA8F10100E8802889C8 +:10E03000801B288100203870DCE710B5144631B110 +:10E04000491E218004F064FFA070002010BD012053 +:10E0500010BD70B50446DC48C188036801E0401C6F +:10E0600020802088884207D200EB400213EB820216 +:10E0700002D015786D07F2D580B2884216D2AAB1C7 +:10E080005079A072D08820819178107901F0030135 +:10E0900040EA0120A081A078E11CFFF7A1FD2061EA +:10E0A0002088401C2080E080002070BD0A2070BDC8 +:10E0B0000121018270472DE9FF4F85B04FF6FF79AE +:10E0C0008246A3F8009048681E460D4680788DF879 +:10E0D000060048680088ADF8040000208DF80A00AA +:10E0E000088A0C88A04200D304462C8251E038787C +:10E0F000400708D4641C288AA4B2401C288208F176 +:10E100000100C0B246E0288A401C2882781D696858 +:10E11000FFF70EFDD8BB3188494501D1601E308024 +:10E120003188A1EB080030806888A04238D3B878E5 +:10E13000397900F0030041EA002801A9781DFFF7B2 +:10E14000F7FC20BB298949452ED000223946079883 +:10E15000FFF706FDD8B92989414518D1E96803912F +:10E16000B5F80AC0D7F808B05046CDF800C005F0A1 +:10E170003CF8DDF800C05A460CF1070C1FFA8CFC85 +:10E1800043460399CDF800C004F0EBFB60B1641C7A +:10E19000A4B200208046204600F01EF90700A6D158 +:10E1A000641E2C820A2098E674807879B071F88811 +:10E1B000B0803978F87801F0030140EA01207081DD +:10E1C000A6F80C80504604F0A3FE3A4606F108017A +:10E1D000FFF706FD306100207FE62DE9FF4F87B095 +:10E1E00081461C469246DDF860B0DDF85480089800 +:10E1F00000F0F2F8050002D02878400702D4012090 +:10E200000BB09CE5484604F083FE2978090605D545 +:10E210006D49897A814201D88720F1E7CAF309065E +:10E220002A4601A9FFF7DCFC0746149807281CD0F2 +:10E2300000222946FFF794FC0028E1D12878400607 +:10E2400013D501208DF808000898ADF80C00BDF832 +:10E250000400ADF80E00ADF81060ADF8124002A950 +:10E260004846F8F7F1FF0028CAD12978E87801F08C +:10E27000030140EA0121AA78287902F0030240EA6A +:10E280000220564507D0B1F5007F04D9611E8142B6 +:10E2900001DD0B20B4E7864201D90720B0E7801BDF +:10E2A00085B2A54200D92546BBF1000F01D0ABF8DD +:10E2B0000050179818B1B9192A4600F0CCF8B8F1F7 +:10E2C000000F0DD03E4448464446169F04F09FFF81 +:10E2D0002146FF1DBCB232462B46009404F0ABFB36 +:10E2E00000208DE72DE9F04107461D4616460846F9 +:10E2F00000F072F8040002D02078400701D4012019 +:10E30000D3E4384604F004FE2178090605D52E49E9 +:10E31000897A814201D88720C7E422463146FFF737 +:10E320005FFC65B12178E07801F0030140EA01204B +:10E33000B0F5007F01D8012000E000202870002007 +:10E34000B3E42DE9F04107461D461646084600F0A5 +:10E3500043F8040002D02078400701D40120A4E44F +:10E36000384604F0D5FD2178090605D51649897A85 +:10E37000814201D8872098E422463146FFF75EFCAF +:10E38000FF2D14D02178E07801F0030240EA02204A +:10E3900040F20122B0FBF2F302FB130015B900F2C8 +:10E3A000012080B2E070000A60F3010121700020BA +:10E3B0007BE410B50C4600F00FF810B10178490766 +:10E3C00004D4012010BD0000FC050020C18821807C +:10E3D0004079A0700020F5E70749CA88824209D336 +:10E3E00040B1096800EB40006FF00B0202EB8000C7 +:10E3F0000844704700207047FC05002070B50446B3 +:10E400000D4621462B460AB9002070BD01E0491C8B +:10E410005B1C501E021E03D008781E78B042F6D056 +:10E4200008781E78801BF0E730B50C46014623467D +:10E43000051B954206D202E0521E9D5C8D54002AB7 +:10E44000FAD107E004E01D780D70491C5B1C521ED8 +:10E45000002AF8D130BDF0B50E460146334680EAB9 +:10E46000030404F00304B4B906E002B9F0BD13F8E4 +:10E47000017B01F8017B521E01F00307002FF4D14C +:10E480000C461D4602E080CD80C4121F042AFAD239 +:10E4900021462B4600BF04E013F8014B01F8014B65 +:10E4A000521E002AF8D100BFE0E7F0B50C46014645 +:10E4B000E6B204E002B9F0BD01F8016B521E01F0B2 +:10E4C0000307002FF6D10B46E5B245EA052545EADC +:10E4D000054501E020C3121F042AFBD2194602E0C1 +:10E4E00001F8016B521E002AFAD100BFE3E70000D9 +:10E4F00010B508F0F6FDF4F7EBF908F03DFCBDE8C7 +:10E50000104008F005BD302834BF012000207047BE +:10E51000202834BF4FF0A0420C4A012300F01F0016 +:10E5200003FA00F0002914BFC2F80C05C2F8080570 +:10E530007047202834BF4FF0A041044900F01F006D +:10E54000012202FA00F0C1F81805704700030050DC +:10E5500070B50346002002466FF02F050EE09C5C6C +:10E56000A4F130060A2E02D34FF0FF3070BD00EB4D +:10E57000800005EB4000521C2044D2B28A42EED308 +:10E5800070BD30B50A230BE0B0FBF3F403FB1404B9 +:10E59000B0FBF3F08D183034521E05F8014CD2B2A6 +:10E5A000002AF1D130BD30B500234FF6FF7510E0E1 +:10E5B000040A44EA002084B2C85C6040C0F303143B +:10E5C000604005EA00344440E0B25B1C84EA40103D +:10E5D0009BB29342ECD330BD2DE9F041FD4B0026B8 +:10E5E000012793F864501C7893F868C0B8B183F899 +:10E5F0009140A3F8921083F8902083F88E70BCF1BC +:10E60000000F0CBF83F8946083F89450F248806840 +:10E61000008804F0EAFDBDE8F04104F07FBA4FF64F +:10E62000FF7083F89140A3F8920083F8902083F85C +:10E630008E70BCF1000F14BF83F8945083F894607F +:10E64000BDE8F0812DE9F041E34D296891F89C2067 +:10E650000024012A23D091F89620012A30D091F885 +:10E660006C301422DB4E0127012B32D091F88E3012 +:10E67000012B4FD091F8A620012A1CBF0020BDE835 +:10E68000F08144701F2200F8042B2222A731FFF7EB +:10E69000E2FE286880F8A6400120BDE8F0814470C1 +:10E6A0001B220270D1F89D204260D1F8A120826027 +:10E6B00091F8A520027381F89C400120BDE8F0810B +:10E6C000447007220270D1F89820426081F8964089 +:10E6D000E2E78046447000F8042B20226E31FFF7F9 +:10E6E000BAFE88F80870286880F86C4090F86E00D0 +:10E6F0000028D1D1B6F87000A6F89800A868417B30 +:10E7000086F89A1086F89670008804F06EFD04F082 +:10E7100014FAC1E791F86C30012B0BD0447017222A +:10E720000270D1F890204260B1F89420028181F803 +:10E730008E40B1E78046447000F8042B20226E31F1 +:10E74000FFF789FE88F80870286880F86C4090F818 +:10E750006E000028A0D1CDE79F48006890F86C10AB +:10E76000002914BFB0F870004FF6FF70704770B505 +:10E77000994C06462068002808BFFFDF0025206866 +:10E7800045706660002808BFFFDF206841780029D7 +:10E790001CBFFFDF70BDCC220021FFF786FE206882 +:10E7A000FF2101707F2180F8381013214184282136 +:10E7B00080F86910012180F85C1080F8615009F040 +:10E7C00003FABDE8704008F004BB83490968097882 +:10E7D00081420CBF0120002070477F48006890F8FC +:10E7E0002200C0F3400070477B48006890F8220088 +:10E7F00000F0010070477848006890F82200C0F3EC +:10E80000001070472DE9F04373480024D0F800C091 +:10E810009CF82400BCF82230C0F38001C0F3400211 +:10E82000114400F001000844C3F3001139B3132B65 +:10E830001DD009DC102B02BF684931F81000BDE87B +:10E84000F083122B13D006E0152B08D01D2B04BF2C +:10E850006348BDE8F083FFDF2046BDE8F083614AEE +:10E86000002132F8102010FB0120BDE8F0835E4A41 +:10E87000002132F8102010FB0120BDE8F0839CF845 +:10E880005E209CF85F1040264FF47A774FF0140812 +:10E890004FF02E09022A04BF4AF2D745B5FBF7F51F +:10E8A00010D0012A04BF4AF22F75B5FBF7F510D03E +:10E8B0004AF62315B5FBF7F5082A4DD0042A08BF00 +:10E8C0004E4611D02646082A46D0042A0CD0022AE9 +:10E8D00048D004F12806042A08D0082A1CBF4FF0AB +:10E8E000190808223CD003E006F5A8764FF0100284 +:10E8F00018FB026212FB0052C0EB00103B4D00EB14 +:10E90000800005EB8000104413F0010F4FF4C87233 +:10E910004FF4BF7504BFC3F34006002E59D0C3F3B4 +:10E92000400600F5A5701EB3082904BF174640260F +:10E930000CD0042904BF2F46102607D0022907BF98 +:10E9400004F11807042604F12807082606EB8608B8 +:10E9500008EB86163E4421E04FF0140806F5A87631 +:10E960004022C5E704F118064FF019080422BFE75A +:10E97000082904BF164640270CD0042904BF2E46A0 +:10E98000102707D0022907BF04F11806042704F155 +:10E990002806082707EB871706EB8706304400F1A7 +:10E9A0009C069CF8690001F00C07002F08BF0020AE +:10E9B000304418BF00F5416028D1082904BF16462D +:10E9C00040271CD0042904BF2E46102717D0022947 +:10E9D0000EE077E008060020680000208063020057 +:10E9E000908913008863020078630200D4FEFFFF61 +:10E9F00007BF04F11806042704F128060827C7EB0F +:10EA0000C70707EB470706EB47063044983013F07B +:10EA1000010F17D0082908BF40210CD0042904BFDA +:10EA20002A46102107D0022907BF04F11802042149 +:10EA300004F12802082101EB410303EB0111114409 +:10EA400008443BE0082904BF134640260CD00429A3 +:10EA500004BF2B46102607D0022907BF04F1180374 +:10EA6000042604F12803082606EB861603EB86032A +:10EA70001844BCF84030EB2B20D944F2552C0B3312 +:10EA800003FB0CF39B0D082907D0042902D00229AF +:10EA900005D008E02A46102108E0402106E004F1F4 +:10EAA0001802042102E004F12802082101EB81117F +:10EAB00002EB810101F5A57103FB010000F2671073 +:10EAC000BDE8F08300F5A570082904BF1346402671 +:10EAD0000CD0042904BF2B46102607D0022907BFFB +:10EAE00004F11803042604F12803082606EB861611 +:10EAF00003EB86031844BCF84830EB2BDED944F214 +:10EB0000552C0B3303FB0CF39B0D0829C5D00429AE +:10EB1000C0D00229C7D1C2E7FE4840F27121006887 +:10EB2000806A48437047FB48006890F83700002827 +:10EB300018BF0120704710B5F74C207B022818BF82 +:10EB4000032808D1207D04F115010DF0CCFF082821 +:10EB50001CBF012010BD207B002816BF022800200A +:10EB60000120BDE8104009F049BDEB49087370472A +:10EB7000E849096881F8300070472DE9F047E54C15 +:10EB80002168087B002816BF022800200120487356 +:10EB900001F10E0109F01CFD2168087B022816BF57 +:10EBA00003280122002281F82F204FF0080081F86D +:10EBB0002D00487B01F10E034FF001064FF00007D6 +:10EBC000012804BF5B7913F0C00F0AD001F10E03D6 +:10EBD000012804D1587900F0C000402801D000205D +:10EBE00000E0012081F82E00002A04BF91F82200E5 +:10EBF00010F0040F07D0087D01F115010DF073FF2F +:10EC0000216881F82D002068476006F01BFB216811 +:10EC1000C14D4FF00009886095F82D000DF07FFF81 +:10EC2000804695F82F00002818BFB8F1000F04D0D7 +:10EC300095F82D000DF038FD68B195F830000028EA +:10EC40001CBF95F82E0000281DD0697B05F10E0031 +:10EC500001290ED012E06E734A4605F10E014046BE +:10EC600009F00CFD95F82D1005F10E000EF04EF890 +:10EC700009E0407900F0C000402831D0394605F164 +:10EC80000E0009F033FD2068C77690F8220010F0DE +:10EC9000040F08BFBDE8F087002795F82D000DF0A0 +:10ECA000B9FD050008BFBDE8F08710210EF065FD35 +:10ECB000002818BFBDE8F08720683A4600F11C0123 +:10ECC000C676284609F0DAFC206800F11C0160686D +:10ECD0000FF00CF96068BDE8F04701210FF021B991 +:10ECE0000EF051F84A4605F10E0109F0C7FCCAE7DB +:10ECF000884A1268137B0370D2F80E000860508AAD +:10ED00008880704778B584490446824E407B0873FA +:10ED10003268207810706088ADF8000080B200F092 +:10ED20000101C0F3400341EA4301C0F3800341EA1B +:10ED30008301C0F3C00341EAC301C0F3001341EAF9 +:10ED40000311C0F3401341EA4311C0F3801041EABC +:10ED500080105084E07D012808BF012507D00228DB +:10ED600008BF022503D0032814BFFFDF0825306841 +:10ED700080F85E50607E012808BF012507D0022878 +:10ED800008BF022503D0032814BFFFDF0825316820 +:10ED900081F85F5091F83500012829D0207B81F857 +:10EDA0002400488C1D280CBF002060688862607DAC +:10EDB00081F83700A07B002816BF02280020012020 +:10EDC0000875D4F80F00C1F81500B4F81300A1F8C5 +:10EDD0001900A07E91F86B2060F3071281F86B2078 +:10EDE000E07E012818BF002081F83400002078BDA3 +:10EDF00091F85E200420082A08BF81F85E00082DE3 +:10EE000008BF81F85F00C9E742480068408CC0F342 +:10EE1000001131B1C0F38000002804BF1F207047EB +:10EE200002E0C0F3400109B10020704710F0010F6B +:10EE300014BFEE20FF20704736480068408CC0F3B6 +:10EE4000001119B1C0F3800028B102E0C0F3400006 +:10EE500008B100207047012070472E490022096840 +:10EE60004A664B8C1D2B0CBF81F8682081F8680026 +:10EE700070470023274A126882F85D30D164A2F8F7 +:10EE80005000012082F85D007047224A002312687A +:10EE900082F85C30A2F858000120516582F85C00CD +:10EEA00070471C49096881F836007047194909689C +:10EEB00081F8610070471748006890F96100704759 +:10EEC0001448006890F82200C0F3401070471148C1 +:10EED000006890F82200C0F3C0007047012070471E +:10EEE0000C48006890F85F00704770B508F056FE57 +:10EEF00008F035FE08F0FCFC08F0AAFD054C20687F +:10EF0000416E491C416690F83300002558B108F065 +:10EF10005BFE03E0680000200806002007F059FFB0 +:10EF2000206880F833502068457090F8391021B17E +:10EF3000BDE8704004200AF000B890F86810D9B11C +:10EF4000406E814218D8042009F0F7FF206890F83D +:10EF5000220010F0010F07D0A06843220188BDE80D +:10EF600070400120FFF738BBBDE8704043224FF6E8 +:10EF7000FF710020FFF730BBBDE87040002009F0B2 +:10EF8000DCBF2DE9F04782B00F468146FE4E4FF0C0 +:10EF900000083068458C15F0030F10D015F0010FF4 +:10EFA00005F0020005D0002808BF4FF0010806D088 +:10EFB00004E0002818BF4FF0020800D1FFDF4FF037 +:10EFC000000A544615F0010F05F002000DD080B97B +:10EFD00015F0040F0DD04AF00800002F1CBF40F0C0 +:10EFE000010040F002044DD09EE010B115F0040F76 +:10EFF0000DD015F0070F10D015F0010F05F002002D +:10F0000043D0002808BF15F0040F34D04AE0002F89 +:10F0100018BF4AF0090444D141E037B14AF0080072 +:10F02000044615F0200F1BD07EE0316805F0200269 +:10F03000B1F84800104308BF4AF0010474D04AF008 +:10F040001800044615F0200F6ED191F85E1011F0F3 +:10F050000C0118BF0121C94361F30000044663E0BD +:10F06000316891F85E1011F00C0118BF012161F3B5 +:10F070000000044658E04AF00800002F18BF40F096 +:10F08000010451D140F010044EE0002818BF15F0E3 +:10F09000040F07D0002F18BF4AF00B0444D14AF0E8 +:10F0A000180441E015F0030F3DD115F0040F3AD0DC +:10F0B00077B130684AF0080490F85E0010F00C0157 +:10F0C00018BF012161F3410415F0200F24D02BE07B +:10F0D000306805F02002B0F84810114308BF4AF02C +:10F0E000030421D04AF0180415F0200F0AD000BF05 +:10F0F00090F85E0010F00C0018BF0120C04360F3D0 +:10F10000410411E090F85E1011F00C0118BF0121CC +:10F11000C94361F30004EBE710F00C0018BF0120B5 +:10F1200060F3000400E0FFDF15F0400F1CD0CFB902 +:10F130003168B1F84800002804BF488C10F0010F76 +:10F140000BD110F0020F08BF10F0200F05D115F001 +:10F15000010F08BF15F0020F04D091F85E0010F007 +:10F160000C0F01D144F040047068A0F800A00178B1 +:10F1700021F0200101704FF007010EF083FE41469F +:10F1800070680FF076F8214670680FF07EF814F082 +:10F19000010F0CD04FF006034FF000027B4970685E +:10F1A0000FF04DF83068417B70680EF0ADFE14F042 +:10F1B000020F18D0D6E90010B9F1000F4FF0060386 +:10F1C0004FF0010207D01C310FF039F801217068AF +:10F1D0000EF0A7FE07E015310FF031F83068017D21 +:10F1E00070680EF09EFE14F0040F18BFFFDF14F0DD +:10F1F000080F19D0CDF800A03068BDF80020022318 +:10F20000B0F86A1061F30B02ADF8002090F86B00C3 +:10F21000032201099DF8010061F307108DF8010038 +:10F22000694670680FF00BF8012F62D13068B0F8B2 +:10F230004810E1B390F82200C0F34000B8BB7068FA +:10F240000FF013F8401CC7B23068C7F1FF05B0F8E3 +:10F250004820B0F85A10511AA942B8BF0D46AA4228 +:10F260003BD990F8220010F0010F36D144F0100481 +:10F27000214670680FF009F8F81CC0B2ED1E284452 +:10F2800082B23068B0F86A10436EC1F30B0151FAD4 +:10F2900083F190F860303E4F1944BC460023E1FBF7 +:10F2A00007C31B096FF0240C03FB0C1100E020E0E6 +:10F2B00080F8601090F85F00012101F01EF90090C5 +:10F2C000BDF800009DF80210032340EA01400190C0 +:10F2D000042201A970680EF0B2FF3068AAB2416C36 +:10F2E00070680FF000F83068B0F85A102944A0F8A0 +:10F2F0005A1014F0400F06D0D6E900100123062260 +:10F3000061310EF09CFF14F0200F18BFFFDF0020CA +:10F31000002818BFFFDF02B0BDE8F0872DE9F043F9 +:10F32000194C89B02068002808BFFFDF20684178A9 +:10F33000002944D10178FF2941D0002680F83160AE +:10F34000A0F85A60867080F83960304608F0A0FB5B +:10F35000104802AD00F1240191E80E1085E80E106E +:10F36000D0E90D10CDE9061002A808F07FFB08F0E7 +:10F370000EF8206890F9610008F0E2F8064808F0FD +:10F38000E5F806480CE000006800002016060020A2 +:10F3900053E4B36E6C630200746302007163020095 +:10F3A00008F050FB606808F076FB206890F82400B5 +:10F3B00010F0010F07D0252008F0D0F80AE009B0BE +:10F3C0000C20BDE8F08310F0020F18BF262069D092 +:10F3D00008F0C4F8206890F85E10252007F095FF2B +:10F3E000206880F82C6008F04DFB206890F85E10D3 +:10F3F000002008F07AF90F21052008F04AF820686B +:10F4000090F82E10002901BF90F82F10002990F8D5 +:10F41000220010F0040F74D005F014FF0546206898 +:10F420002946806806F0FDFBDFF82884074690FB3C +:10F43000F8F008FB10704142284605F0EAFB21680D +:10F44000886097FBF8F04A68104448600DF048FB6C +:10F4500001462068426891426ED8C0E90165FE4DC0 +:10F460004FF0010895F82D000DF059FB814695F8F5 +:10F470002F000127002818BFB9F1000F04D095F81C +:10F480002D000DF011F9A0B195F8300000281CBF37 +:10F4900095F82E00002824D0687B05F10E01012884 +:10F4A00015D019E010F0040F14BF2720FFDF8FD113 +:10F4B00090E73A466F7305F10E01484609F0DEF811 +:10F4C00095F82D1005F10E000DF020FC09E04879AB +:10F4D00000F0C000402815D0414605F10E0009F0AB +:10F4E00005F9206890F8220010F0040F24D095F858 +:10F4F0002D000DF08FF905001ED010210EF03DF902 +:10F5000040B119E00DF03FFC3A4605F10E0109F05B +:10F51000B5F8E6E720683A4600F11C01C7762846B0 +:10F5200009F0ACF8206800F11C0160680EF0DEFC08 +:10F53000012160680EF0F5FC2068417B0E3007F079 +:10F540008AFF206890F85C1061B3B0F85810A0F8FA +:10F550004810416D416490F82210C1F30011F1B9D7 +:10F56000B0F86A000221C0F30B05ADF80050684600 +:10F5700007F002F828B1BDF80000C0F30B00A84264 +:10F5800004D1BDF80000401CADF800002168BDF8B2 +:10F590000000B1F86A2060F30B02A1F86A2020682D +:10F5A00080F85C60206890F85D1039B1B0F85010B8 +:10F5B000A0F84010C16CC16380F85D60B0F86A10BB +:10F5C000426EC1F30B0151FA82F190F86020DFF82E +:10F5D0008CC2114463460022E1FB0C3212096FF029 +:10F5E000240302FB031180F860100DF0FCFA0321E4 +:10F5F00060680DF07BFB216881F8330009B00020C2 +:10F60000BDE8F0839649886070472DE9F043944C3B +:10F6100083B0226892F831303BB1508C1D2808BF6E +:10F62000FFDF03B0BDE8F0435FE401260027F1B13E +:10F63000054692F8600007F091FF206890F85F108F +:10F64000FF2007F062FE20684FF4A57190F85F205C +:10F65000002008F010F9206890F8221011F0030F34 +:10F6600000F02C81002D00F0238100F027B992F8E2 +:10F6700022108046D07EC1F30011002956D00546E5 +:10F6800060680780017821F020010170518C1329F6 +:10F6900037D01FDC102908BF022144D0122908BF2F +:10F6A000062140D0FFDF6C4D606805F10E010EF0C1 +:10F6B0000FFC697B60680EF027FC2068418C1D29D7 +:10F6C00018BF152963D0B0F84820416C60680EF06F +:10F6D00034FC5CE0152918BF1D29E3D14FF001016E +:10F6E0000EF0D0FB6068017841F0200101702168C4 +:10F6F00085B11C310EF0FAFB012160680EF011FC9F +:10F70000D1E700210EF0BEFB6068017841F02001D6 +:10F710000170C8E715310EF0E9FB2068017D6068D3 +:10F720000EF0FFFBBFE70EF0ADFBBCE70021FFF7DB +:10F7300028FC6068C17811F03F0F28D0017911F0E2 +:10F74000100F24D00EF09CFB2368024693F824107F +:10F75000C1F38000C1F3400C604401F00101084492 +:10F7600093F82C10C1F3800CC1F34005AC4401F0B8 +:10F7700001016144401AC1B293F85E0000F0BDFE81 +:10F78000009003230422694660680EF058FD20684B +:10F79000002590F8241090F82C0021EA000212F0C5 +:10F7A000010F18BF01250ED111F0020F04D010F087 +:10F7B000020F08BF022506D011F0040F03D010F08D +:10F7C000040F08BF0425B8F1000F2BD0012D1BD06A +:10F7D000022D08BF26201BD0042D14BFFFDF2720D9 +:10F7E00016D0206890F85E10252007F08EFD206866 +:10F7F00090F82210C1F3001169B101224FF4967103 +:10F80000002008F038F80DE0252007F0A7FEE8E713 +:10F8100007F0A4FEE5E790F85E204FF49671002013 +:10F8200008F029F8206890F82C10294380F82C1053 +:10F8300090F8242032EA01011CD04670418C132933 +:10F840002BD026DC102904BF03B0BDE8F0831229B9 +:10F8500023D007E040420F000806002053E4B36EB7 +:10F8600068000020C1F30010002818BFFFDF03B0BC +:10F87000BDE8F083418C1D2908BF80F82C70DCD0D6 +:10F88000C1F30011002914BF80F8316080F8317095 +:10F89000D3E7152918BF1D29DBD190F85E2003B0EE +:10F8A0004FF00101BDE8F043084608F0D2B900BFAF +:10F8B00090F85F200121084608F0CBF92168002D5F +:10F8C000C87E7CD04A8C3D46C2F34000002808BF69 +:10F8D00047F0080512F0400F18BF45F0400500281A +:10F8E00019BFD1F83C90B1F84080D1F84490B1F8FC +:10F8F00048806068072107800EF0C4FA0021606824 +:10F900000EF0B7FC294660680EF0BFFC15F0080F3A +:10F9100017D02068BDF800100223B0F86A2062F307 +:10F920000B01ADF8001090F86B00032201099DF85F +:10F93000010061F307108DF80100694660680EF060 +:10F940007EFC60680EF05AFB2168C0F1FE00B1F841 +:10F950005A20A8EB02018142A8BF0146CFB2D019BC +:10F96000404544D245F0100160680EF08EFC60689E +:10F970000EF044FB2168C0F1FE00B1F85A10A8EB6C +:10F9800001018142A8BF0146CFB260680EF06DFC54 +:10F990003844421C2068B0F86A10436EC1F30B0172 +:10F9A00051FA83F190F86030FE4D1944AC460023C3 +:10F9B000E1FB05C34FEA131C6FF0240300E03CE0B9 +:10F9C0000CFB031180F8601090F85F00012100F03B +:10F9D00094FD0090BDF800009DF80210032340EA5A +:10F9E00001400190042201A960680EF028FC216802 +:10F9F00091F8220010F0400F05D00123062261315A +:10FA000060680EF01CFC20683A46B0F85A0000EB23 +:10FA1000090160680EF067FC2068B0F85A1039449C +:10FA2000A0F85A1008F0E7FC002818BFFFDF206894 +:10FA30004670867003B0BDE8F0830121FFF7A1FA9C +:10FA4000F0E7D94810B50068417841B90078FF283F +:10FA500005D000210846FFF7D8FD002010BD08F0B2 +:10FA60009DF808F07CF807F043FF07F0F1FF0C2049 +:10FA700010BD2DE9F041CC4D0446174628680E46CE +:10FA800090F86C00002818BFFFDF2868002F80F86E +:10FA90006E7018BFBDE8F0812188A0F870106188F1 +:10FAA000A0F88610A188A0F88810E188A0F88A1034 +:10FAB00094F88C1180F88C1090F82F10002749B121 +:10FAC000427B00F10E01012A04D1497901F0C00105 +:10FAD000402935D090F8301041B1427B00F10E0141 +:10FAE000012A04BF497911F0C00F29D000F17A0032 +:10FAF000F3F782FA6868FF2E0178C1F3801161760E +:10FB0000D0F80310C4F81A10B0F80700E083286892 +:10FB10001ED0C0F88010E18BA0F8841000F17402B0 +:10FB2000511E30460DF004F8002808BFFFDF28689A +:10FB300090F8731041F0020180F87310BDE8F08175 +:10FB4000D0F80E10C0F87A10418AA0F87E10D1E7E4 +:10FB5000C0F88070A0F88470617E80F87310D4F8CB +:10FB60001A104167E18BA0F87810BDE8F08170B5FC +:10FB70008D4C0125206890F82200C0F3C00038B1F8 +:10FB80003C22FF21A068FFF774FF206880F86C50CA +:10FB9000206890F8220010F0010F1CBFA0680188B7 +:10FBA0004FF03C0212BF01204FF6FF710020FEF71C +:10FBB00013FD206880F8395070BD7B49096881F8D1 +:10FBC000320070472DE9F041002509F082F9002844 +:10FBD00000F00A81744C2068417801270026012931 +:10FBE00006D0022901D003297ED0FFDFBDE8F081D5 +:10FBF000817802260029418C46D0C1F34002002AB8 +:10FC000008BF11F0010F70D090F85F204FF0010194 +:10FC10004FF0000008F01DF8216891F82200C0F3B1 +:10FC20004000002814BF0C20222091F85F1007F03C +:10FC30006CFB2068467090F8330058B107F0B5F8B7 +:10FC4000206890F85F0010F00C0F0CBF402045209A +:10FC500007F0B0FF206890F83400002818BF07F0C4 +:10FC6000C8FF216891F85F0091F8691010F00C0F3F +:10FC700008BF0021962007F02FFF08F0B3FB0028F3 +:10FC800018BFFFDFBDE8F081C1F3001282B1102977 +:10FC90003FD090F8330020B107F087F8402007F0FC +:10FCA00089FF206890F8221011F0040F36D043E04D +:10FCB00090F8242090F82C309A422AD1B0F84800CD +:10FCC000002808BF11F0010F05D111F0020F08BF85 +:10FCD00011F0200F65D04FF001014FF00000FFF749 +:10FCE00094FC2068418C01E040E034E011F0010F09 +:10FCF00004BFC1F34001002907D1B0F85A10B0F891 +:10FD00004820914218BFBDE8F08180F83170BDE80D +:10FD1000F081BDE8F0410021012076E490F8371031 +:10FD2000012914BF0329102545F00E0190F85E202B +:10FD30004FF0000007F08DFF206890F83400002895 +:10FD400018BF07F056FF0021962007F0C5FE206877 +:10FD50004670BDE8F081B0F85A10B0F84800814212 +:10FD600042D0BDE8F041012108464EE4817809B354 +:10FD7000418C11F0010F22D080F86C7090F86E2049 +:10FD8000B0F870100120FEF727FC2068467007F0DD +:10FD900005FF07F0E4FE07F0ABFD07F059FE032076 +:10FDA00004E021E053E4B36E68000020BDE8F041B8 +:10FDB00009F0C3B88178BDE8F041012025E411F0D5 +:10FDC000020F04BFFFDFBDE8F081B0F85A10B0F8B1 +:10FDD0004000814208D001210846FFF716FC216847 +:10FDE00003204870BDE8F081BDE8F041FFF77DB821 +:10FDF000FFF77BB810B5FE4C206890F8341049B17D +:10FE0000383007F005FF18B921687F2081F83800E5 +:10FE100007F0E5FE206890F8330018B107F0D4FE33 +:10FE200006F0D7FF09F055F8A8B1206890F8221025 +:10FE3000C1F3001179B14078022818BFFFDF00211B +:10FE40000120FFF7E2FB2068417800291EBF4078BF +:10FE50000128FFDF10BDBDE81040FFF746B82DE9CF +:10FE6000F047E34C0F4680462168B8F1030F488CF9 +:10FE700008BFC0F3400508D000F0010591F832003A +:10FE8000002818BF4FF0010901D14FF0000907F019 +:10FE900059FB0646B8F1030F0CBF4FF002084FF0B4 +:10FEA000010835EA090008BFBDE8F087206890F82E +:10FEB000330068B10CF07AFE38700146FF2807D095 +:10FEC0006068C01C0CF04BFE38780CF07CFE0643DA +:10FED00060680178C1F3801221680B7D9A4208D1D5 +:10FEE0000622C01C1531FEF789FA002808BF012040 +:10FEF00000D000203978FF2906D0C8B9206890F8D2 +:10FF00002D00884216D113E0A0B1616811F8030BEF +:10FF1000C0F380100CF0E7FD05460CF047FF38B148 +:10FF200028460CF077FC18B110210DF026FC08B122 +:10FF3000012000E00020216891F8221011F0040F48 +:10FF400001D0F0B11AE0CEB9AA4890F837000028E5 +:10FF500018BF404515D1616811F8030BC0F380103C +:10FF60000CF0C1FD04460CF021FF38B120460CF026 +:10FF700051FC18B110210DF000FC10B10120BDE8BA +:10FF8000F0870020BDE8F0872DE9F04F984D04463A +:10FF900083B0286800264078022818BFFFDF286851 +:10FFA0004FF07F0B90F8341049B1383007F030FE35 +:10FFB000002804BF286880F838B007F010FE686891 +:10FFC0000DF082FF8046002C00F0458207F05DFABC +:10FFD000002800F04082012400274FF0FF09B8F10B +:10FFE000050F1ED1686890F8240000F01F0010284B +:10FFF00017D9286890F8360098B18DF800906946B6 +:020000040001F9 +:100000000520FFF72CFF002800F02582286880F8E3 +:10001000A64069682222A730C91CFEF71CFA00F02E +:100020001ABA68680EF0DBF8002800F01482404627 +:10003000DFF8C0814FF0030A062880F01E82DFE857 +:1000400000F0FCFCFC03FCFB8DF8009069460320EB +:10005000FFF705FF002800F0F180296891F83400CF +:1000600010B191F89C00D8B12868817801294DD051 +:100070006868042107800DF005FF08F10E0168682B +:100080000DF026FF98F80D1068680DF03DFF286808 +:10009000B0F84020C16B68680DF073FF00F063B9E1 +:1000A0009DF8000081F89C400A7881F89D20FF2887 +:1000B0000FD001F19F029E310CF03AFD002808BFDD +:1000C000FFDF286890F89E1041F0020180F89E1032 +:1000D0000DE068680278C2F3801281F89E20D0F8A3 +:1000E0000320C1F89F20B0F80700A1F8A3002868FA +:1000F00000F1A50490F838007F2808BFFFDF2868CA +:1001000090F83810217080F838B0ADE790F82200F0 +:100110000721C0F3801938480479686869F38614A8 +:1001200007800DF0AFFE002168680EF0A2F82146AE +:1001300068680EF0AAF80623002208F10E0168682C +:100140000EF07DF82868417B68680DF0DDFE686878 +:100150000DF054FF2968B1F84020C0F1FE018A4239 +:10016000B8BF1146CFB2BA423CD9F81EC7B244F06C +:10017000100B594668680EF088F868680EF075F83C +:10018000384400F101082868B0F86A10426EC1F3E3 +:100190000B0151FA82F190F86020184C0A44A446F1 +:1001A0000023E2FB04C319096FF0240301FB0321C0 +:1001B00080F8601090F85F004246012100F09DF940 +:1001C0000190BDF804009DF80610032340EA0140A9 +:1001D0000290042202A968680EF031F85946686856 +:1001E0000EF053F8B9F1000F0FD0D5E9001007E079 +:1001F00068000020080600206C63020053E4B36E20 +:100200000123062261310EF01AF828683A46C16BC4 +:1002100068680EF068F82868A0F85A70B0F84010C6 +:100220008F420CBF0121002180F8311008F0E3F863 +:10023000002818BFFFDF96E007E01EE128688078FD +:10024000002840F00A8100F006B98DF80090686837 +:100250000178C1F38019D0F803100191B0F80700BC +:10026000ADF8080069460520FFF7F9FD0028286869 +:100270007DD0817800297CD090F85FB0D5E9010469 +:10028000D0F80F10C4F80E10B0F813106182417D41 +:100290002175817D6175B0F81710E182B0F81910F1 +:1002A0006180B0F81B10A180B0F81D10E18000F152 +:1002B0001F0104F1080015F042FF686890F824104F +:1002C00001F01F01217690F82400400984F88C0188 +:1002D00084F864B084F865B01BF00C0F0CBF0021EB +:1002E000012104F130000EF02EFA2868002290F867 +:1002F000691084F8661090F8610084F867009DF832 +:100300000010A868FFF7B5FB022008F016FEB04801 +:100310000DF1040B08210468686807800DF0B2FD38 +:10032000002168680DF0A5FF214668680DF0ADFF5B +:100330000623002208F10E0168680DF080FF28688E +:10034000417B68680DF0E0FD494668680DF0E9FD05 +:1003500006230122594668680DF071FF08F04BF83A +:10036000002818BFFFDF286880F801A077E06DE063 +:10037000FFE76868D5F808804FF00109027898F81F +:100380000D10C2F34012114088F80D10D0F80F1074 +:10039000C8F80E10B0F81310A8F81210417D88F8B4 +:1003A0001410817D88F81510B0F81710A8F81610F1 +:1003B000B0F81910A8F80210B0F81B10A8F8041033 +:1003C000B0F81D10A8F8061000F11F0108F1080090 +:1003D00015F0B5FE686890F8241001F01F0188F848 +:1003E000181090F824000021400988F88C0188F842 +:1003F000649088F8659008F130000EF0A4F9286840 +:10040000002290F8691088F8661090F8610088F86A +:1004100067009DF80010A868FFF72BFB286880F89C +:100420006C4090F86E20B0F870100120FEF7D4F800 +:100430002868477007F0B2FB07F091FB07F058FA05 +:1004400007F006FB012008F078FD08E090F8220094 +:10045000C0F3001008B1012601E0FEF746FD286850 +:1004600090F8330018B107F0AFFB06F0B2FC66B1AC +:1004700000210120FFF7C9F810E0286890F8220059 +:10048000C0F300100028E8D0E5E72868817801294A +:1004900004D190F85F10FF2006F037FF28684178FC +:1004A000002919BF4178012903B0BDE8F08F4078D9 +:1004B000032818BFFFDF03B0BDE8F08F70B5454CCF +:1004C00006460D462068807858B106F045FE216842 +:1004D0000346304691F85F202946BDE8704009F098 +:1004E000E3BA06F039FE21680346304691F85E20F3 +:1004F0002946BDE8704009F0D7BA78B50C4600210E +:100500000091082804BF4FF4C87040210DD0042882 +:1005100004BF4FF4BF70102107D0022807BF01F1BC +:100520001800042101F128000821521D02FB0106D8 +:1005300028489DF80010006890F8602062F30501DB +:1005400041F040058DF8005090F85F0001282AD056 +:1005500002282FD004281CBF0828FFDF30D000BF9E +:1005600025F080008DF80000C4EB041000EB800043 +:100570004FF01E0101EB800006FB04041648844284 +:1005800028BFFFDF1548A0FB0410BDF801100009CB +:1005900060F30C01ADF80110BDF800009DF80210E9 +:1005A00040EA014078BD9DF8020020F0E0008DF89F +:1005B0000200D5E79DF8020020F0E000203004E0C2 +:1005C0009DF8020020F0E00040308DF80200C7E7FF +:1005D0006C63020068000020C4BF0300898888881B +:1005E0000178406829B190F82C1190F88C0038B946 +:1005F00001E001F0B3BD19B1042901D00120704719 +:100600000020704770B50C460546062102F0BAFC82 +:10061000606008B1002006E00721284602F0B2FC25 +:10062000606018B101202070002070BD022070BDF4 +:100630002DE9FC470C4606466946FFF7E3FF002814 +:100640007DD19DF8000050B1FEF786F8B0427CD015 +:10065000214630460AF002FC002873D12DE00EF04E +:10066000BBF9B04271D02146304613F0DAFA0028C7 +:1006700068D1019D95F8F00022E0012000E0002003 +:10068000804695F839004FF0010A4FF00009F0B1AB +:1006900095F83A0080071AD584F8019084F800A0F4 +:1006A00084F80490E68095F83B102172A98F61814F +:1006B000E98FA18185F8399044E0019D95F82C01DE +:1006C00070350028DBD1287F0028D8D0D5E7304608 +:1006D00002F09DFD070000D1FFDF384601F0ABFFBF +:1006E00040B184F801900F212170E680208184F8C8 +:1006F00004A027E0304602F078FD070000D1FFDFBC +:10070000B8F1000F21D0384601F0EDFFB8B19DF8E7 +:10071000000038B90198D0F818014188B14201D1E0 +:1007200080F80090304607F0D1FE84F801900C214B +:10073000217084F80490E680697F217200E004E073 +:1007400085F81C900120BDE8FC870020FBE71CB564 +:100750006946FFF757FF00B1FFDF684601F00AFD69 +:10076000FE4900208968A1F8F2001CBD2DE9FC417A +:1007700004460E46062002F0ADFB0546072002F0B7 +:10078000A9FB2844C7B20025A8463E4417E02088AC +:10079000401C80B22080B04202D34046A4F80080C2 +:1007A00080B2B84204D3B04202D20020BDE8FC813E +:1007B0006946FFF727FF0028F8D06D1CEDB2AE4266 +:1007C000E5D84FF6FF7020801220EFE738B54FF6DE +:1007D000FF70ADF800000DE00621BDF8000002F04A +:1007E000E3FB04460721BDF8000002F0DDFB0CB17D +:1007F00000B1FFDF00216846FFF7B8FF0028EBD00B +:1008000038BD70B507F0D0FE0BF057FFD44C4FF653 +:10081000FF76002526836683D2A0257001680079C3 +:10082000A4F14002657042F8421FA11C1071601CC7 +:1008300013F013FB1B2020814FF4A4716181A08170 +:10084000E1810721217761770321217404226274F9 +:100850006082A082A4F13E00E18205704680BF481C +:100860000C300570A4F110000570468084F820500B +:1008700070BD70B5B94C16460D466060217007F02A +:100880000BFEFFF7A3FFFFF7BCFF207810F0DFFFA0 +:10089000B6480EF0F4F92178606813F083FA2078F6 +:1008A0000BF016F9284608F0CBFEB048FDF75FFFC5 +:1008B000217860680AF0ACFB3146207813F048FDDF +:1008C000BDE870400BF0F9BE10B501240AB100205C +:1008D00010BD21B1012903D00024204610BD022102 +:1008E0000DF03EFDF9E710B503780446002B406893 +:1008F00013460A46014609D05FF001000DF0DDF80D +:100900006168496A884203D9012010BD0020F5E7DB +:10091000002010BD2DE9F04117468A781E4680461A +:1009200042B11546C87838B10446690706D52AB1E0 +:10093000012104E00725F5E70724F6E70021620717 +:1009400002D508B1012000E00020014206D00122BA +:1009500011464046FFF7C7FF98B93DE051B100226C +:1009600001214046FFF7BFFF58B9600734D5012287 +:10097000114620E060B1012200214046FFF7B3FF9D +:1009800010B10920BDE8F081680725D5012206E0F5 +:1009900068074FEA44700AD5002814DB00220121C1 +:1009A0004046FFF7A0FFB8B125F0040514E0002889 +:1009B00012DA012200214046FFF795FF60B100BF27 +:1009C00024F0040408E0012211464046FFF78BFFA3 +:1009D00010B125F00405F3E73D7034700020D1E735 +:1009E00070B58AB0044600886946FFF70BFE002800 +:1009F00006D1A08830B1012804D0022802D01220EC +:100A00000AB070BD04AB03AA21466846FFF782FF17 +:100A10000500F5D19DF8001001200026002901995C +:100A200006D081F8C501019991F81012B1BB2DE0F3 +:100A300081F82F01019991F8561139B9019991F86E +:100A40002E1119B9019991F8971009B13A2519E0B9 +:100A50000199059681F82E01019A9DF80C0082F803 +:100A60003001019B9DF8102083F83121A388019C5F +:100A7000A4F832318DF814008DF8152005AA002055 +:100A80000DF05DF8019880F82F6126E0019991F84A +:100A9000C41119B9019991F8971009B13A2519E0D3 +:100AA0000199059681F8C40101989DF80C2080F801 +:100AB000C621019B9DF8100083F8C701A388019C03 +:100AC000A4F8C8318DF814208DF8150005AA01206E +:100AD0000DF035F8019880F8C561284690E710B50B +:100AE00004460020A17801B90120E2780AB940F05B +:100AF000020001F04EFB002803D12046BDE8104063 +:100B00006EE710BD70B5044691F8650091F8663047 +:100B10000D4610F00C0F00D100232189A0880CF0A5 +:100B2000C3FF696A814229D2401A401CA18840084B +:100B3000091A8AB2A2802189081A2081668895F84C +:100B4000641010460CF08EFF864200D23046608062 +:100B5000E68895F8651020890AE0000074000020FE +:100B600014080020FFFFFFFF1F000000D406002034 +:100B70000CF078FF864200D23046E08070BDF0B5C0 +:100B800085B00D46064603A9FFF73CFD00282DD190 +:100B90009DF80C0060B300220499FB20B1F84E30A0 +:100BA000FB2B00D30346B1F85040FB20FB2C00D3B5 +:100BB0000446DFF85CC59CE8811000900197CDF8F1 +:100BC00008C0ADF80230ADF806406846FFF79AFF5E +:100BD0006E80BDF80400E880BDF808006881BDF8AB +:100BE0000200A880BDF806002881002005B0F0BDF5 +:100BF0000122D1E72DE9F04186B00446008869461C +:100C0000FFF700FD002876D12189E08801F0DAFAAB +:100C1000002870D1A188608801F0D4FA00286AD138 +:100C20002189E08801F0C5FA002864D1A188608894 +:100C300001F0BFFA07005ED1208802A9FFF79FFFED +:100C400000B1FFDFBDF8101062880920914252D335 +:100C5000BDF80C10E28891424DD3BDF81210BDF8DA +:100C60000E2023891144A2881A44914243D39DF84F +:100C70000010019D4FF00008012640F6480041B1E8 +:100C800085F8BB61019991F8FC1105F5DD7541B955 +:100C90001AE085F82561019991F84A1105F59275D8 +:100CA00009B13A2724E0E18869806188E9802189D7 +:100CB000814200D30146A980A188814200D2084622 +:100CC0002881012201990FE0E18869806188E9802B +:100CD0002189814200D30146A980A188814200D2A6 +:100CE00008462881019900222846FFF70BFF2E7045 +:100CF00085F80180384606B044E67BE770B50446C7 +:100D00000DF020FEB0B12078182811D120790128EB +:100D10000ED1E088062102F035F9040008D02088C1 +:100D200007F0D4FB2088062102F03EF900B1FFDF76 +:100D3000012070BDF74D28780028FAD00026667093 +:100D40001420207020223146201DFDF7AEFB02202A +:100D500020712E70ECE710B50446FDF773FC0028F7 +:100D600013D0207817280FD1207968B1E0880721A7 +:100D700002F008F940B1008807F0A8FBE0880721DD +:100D800002F012F900B1FFDF012010BD2DE9F0479C +:100D90005FEA000800D1FFDFDE4802211A308146F9 +:100DA000FFF7E4FC00B1FFDFDA4C0620678B02F0AE +:100DB00091F80546072002F08DF82844C5B2681C5A +:100DC000C6B2608BB04203D14046FFF7C4FF58B9AA +:100DD000608BA84203D14046FFF790FF20B9608B9B +:100DE0004146FFF725FC38B1404601F0F9F90028EB +:100DF000E7D10120BDE8F08702214846FFF7B6FCA5 +:100E000010B9608BB842DCD14046BDE8F04713F022 +:100E1000E4BA10B501F049F908B10C2010BD0BF08F +:100E2000A0FC002010BD10B50446007818B10128C0 +:100E300001D0122010BD01F049F920B10BF042FEA3 +:100E400008B10C2010BD207801F009F9E21D04F171 +:100E50001703611CBDE810400BF029BD10B5044616 +:100E600001F023F908B10C2010BD207828B1012829 +:100E700003D0FF280BD0122010BD01F0F0F8611C48 +:100E80000BF02FFC08B1002010BD072010BD012081 +:100E90000BF061FCF7E710B50BF017FE08B100206E +:100EA00010BD302010BD10B5044601F00FF908B197 +:100EB0000C2010BD20460BF002FE002010BD10B526 +:100EC00001F004F920B10BF0FDFD08B10C2010BDBC +:100ED0000BF052FD002010BDFF2181704FF6FF7115 +:100EE00081808D4949680A7882718A88028149889F +:100EF000418101214170002070477CB50025022A04 +:100F000019D015DC12F10C0F15D009DC12F1280FE5 +:100F100011D012F1140F0ED012F1100F11D10AE0FE +:100F200012F1080F07D012F1040F04D04AB902E001 +:100F3000D31E052B05D8012806D0022808D0032887 +:100F40000AD0122528467CBD1046FDF7AFFFF9E711 +:100F500010460DF08FFEF5E7084614466946FFF788 +:100F600051FB08B10225EDE79DF80000019800252E +:100F700080F86740E6E710B5134601220CF03AFC12 +:100F8000002010BD10B5044611F053FA052804D016 +:100F9000204610F04BFC002010BD0C2010BD10B5F9 +:100FA000044601F093F808B10C2010BD2146002042 +:100FB00007F0FBFA002010BD10B5044610F0C5FC88 +:100FC00050B108F09FFD38B1207808F045FB20783B +:100FD0000EF071F9002010BD0C2010BD10B50446B4 +:100FE00001F074F808B10C2010BD2146012007F073 +:100FF000DCFA002010BD38B504464FF6FF70ADF89E +:101000000000A079E179884216D02079FDF77BFABB +:1010100090B16079FDF777FA70B10022A07911469E +:1010200013F0C2FD40B90022E079114613F0BCFD77 +:1010300010B9207A072801D9122038BD08F06FFDB9 +:1010400060B911F0F6F948B900216846FFF78EFB48 +:1010500020B1204606F032F9002038BD0C2038BD02 +:101060002DE9FC41817805461A2925D00EDC162988 +:101070002ED2DFE801F02D2D2D2D2D212D2D2D2D02 +:101080002D2D2D2D2D2D2D2D2D2121212A291FD026 +:101090000BDCA1F11E010C291AD2DFE801F01919AD +:1010A0001919191919191919190D3A3904290FD2D1 +:1010B000DFE801F00E020E022888B0F5706F07D24B +:1010C00001276946FFF79EFA20B10220BDE8FC81A6 +:1010D0001220FBE79DF8000000F0C8FF019C10B152 +:1010E00004F58A7401E004F5C8749DF8000000F06E +:1010F000BDFF019E10B106F2151601E006F2911631 +:101100006846FFF76DFA08B1207838B10C20DDE7AA +:10111000A863020014080020740000202770A8783B +:101120003070684601F026F80020CFE77CB50D4608 +:101130006946FFF767FA002618B12E602E7102206B +:101140007CBD9DF8000000F091FF019C9DF800001F +:10115000703400F08BFF019884F842608168296048 +:10116000017B297194F842100029F5D100207CBD43 +:1011700010B5044600F0AAFF20B10BF0A3FC08B1A3 +:101180000C2010BD207800F06AFFE279611C0BF0A2 +:101190001AFE08B1002010BD022010BD10B5886EE7 +:1011A00060B1002241F8682F0120CA718979884016 +:1011B00013F0EEFC002800D01F2010BD0C2010BD45 +:1011C0001CB50C466946FFF71DFA002809D19DF8A9 +:1011D000000000280198B0F8700000D0401C20806A +:1011E00000201CBD1CB5044600886946FFF70AFABA +:1011F00008B102201CBD606828B1DDE9000122466B +:1012000001F042F81CBDDDE90001FFF7C7FF1CBD7E +:1012100070B51C460D4618B1012801D0122070BDD2 +:101220001946104601F06EF830B12146284601F00B +:1012300073F808B1002070BD302070BD70B5044651 +:1012400000780E46012804D018B1022801D00328E6 +:1012500040D1607828B1012803D0022801D00328AA +:1012600038D1E07B10B9A078012833D1A07830F0D4 +:1012700005012FD110F0050F2CD06289E188E078AC +:101280003346FFF7C5FF002825D1A07805281DD1DA +:101290006589A289218920793346FFF7B9FF0028A3 +:1012A00019D1012004EB40014A8915442218D37852 +:1012B000927893420ED1CA8889888A420AD1401C0A +:1012C000C0B20228EED3E088A84203D3A07B08B1C5 +:1012D000072801D9122070BD002070BD10B586B05E +:1012E000044600F0D7FE10B10C2006B010BD02215C +:1012F00004F10A0001F025F8A0788DF80800A07824 +:101300008DF8000060788DF8040020788DF80300D7 +:10131000A07B8DF80500E07B00B101208DF8060070 +:10132000A078C10717D0E07801F002F88DF801002D +:10133000E088ADF80A006089ADF80C00A07840079D +:1013400016D5207900F0F4FF8DF802002089ADF861 +:101350000E00A0890AE040070AD5E07800F0E8FF17 +:101360008DF80200E088ADF80E006089ADF810003D +:1013700002A810F0F6FA0028B7D168460DF0A0FFD9 +:10138000B3E710B504460121FFF758FF002803D149 +:101390002046BDE81040A1E710BD0278012A01D027 +:1013A000BAB118E042783AB1012A05D0022A12D126 +:1013B00089B1818879B100E059B1418849B180880B +:1013C00038B101EB8101490000EB8000B1EB002F47 +:1013D00001D2002070471220704770B50446007893 +:1013E0000D46012809D011F024F8052803D010F08B +:1013F000C8F9002800D00C2070BD0DF02EFE88B179 +:101400000DF040FE0DF03CFF0028F5D125B16078CD +:101410000DF0D0FE0028EFD1A1886088BDE87040B3 +:1014200010F0C5BA122070BD10B504460121FFF7B7 +:10143000B4FF002804D12046BDE810400121CCE7CC +:1014400010BDF0B5871FDDE9056540F67B44A74276 +:1014500013D28F1FA74210D288420ED8B2F5FA7F5E +:101460000BD2A3F10A00241FA04206D2521C4A4309 +:10147000B2EB830F01DAAE4201D90020F0BD0120AA +:10148000F0BD2DE9FC47477A8946044617F0050F61 +:101490007ED0F8087CD194F83A0008B9012F77D1B2 +:1014A0000025A8462E46F90789F0010A19D0208A9E +:1014B000514600F027FFE8B36089514600F02CFF49 +:1014C000C0B3208A6189884262D8A18EE08DCDE9BF +:1014D0000001238D628CA18BE08AFFF7B2FF48B335 +:1014E0000125B8070ED504EB4500828EC18DCDE9EC +:1014F0000012038D428C818BC08AFFF7A2FFC8B116 +:10150000A8466D1C78071ED504EB45065146308A67 +:1015100000F0F8FE70B17089514600F0FDFE48B150 +:10152000308A7189884253D8B18EF08DCDE900019F +:10153000338D00E00BE0728CB18BF08AFFF781FFF6 +:1015400028B12E466D1CB9F1000F03D030E03020D9 +:10155000BDE8FC87F80707D0780705D504EB4601FE +:1015600060894989884233D1228A01211BE04145A3 +:1015700003D004EB4100008A024404EB4100C38A1B +:10158000868AB34224D1838B468BB34220D100E0BC +:101590001EE0438C068CB3421AD1038DC08C83426B +:1015A00016D1491CC9B2A942E1D3608990420FD338 +:1015B000207810B101280BD102E0A0780028F9D1E1 +:1015C000607838B1012805D0022803D0032801D063 +:1015D0001220BDE70020BBE7002152E70178C907D0 +:1015E00002D0406812F0CDBE12F09ABE10B500785D +:1015F000012800D00020FDF754FC002010BD2DE98B +:10160000F0478EB00D46AFF6A422D2E90092014613 +:1016100090462846FFF735FF06000CD100F03AFD52 +:1016200040B9FE4F387828B90DF0D6F9A0F57F41C2 +:10163000FF3903D00C200EB0BDE8F087032105F17F +:10164000100000F07EFEF54809AA3E380990F448E3 +:101650000A90F248062110380B900CA801F060FCAB +:10166000040037D000210BF02FFE04F130017B8AFB +:10167000BA8ACB830A84797C0091BA463B7CBA8AC9 +:10168000798A208801F03AFD00B1FFDF208806F05A +:101690001CFF218804F10E0000F022FDE1A004F1FE +:1016A000120700680590032105A804F05BFF0020E5 +:1016B00005A90A5C3A54401CC0B20328F9D3A88B90 +:1016C0006080688CA080288DE080687A410703D50F +:1016D00008270AE00920AEE7C10701D0012704E08E +:1016E000800701D5022700E000273A46BAF8160025 +:1016F000114610F0F1F90146A062204610F0FAF907 +:101700003A46214600200CF0FDF900B90926C34AEB +:1017100021461C3200200CF012FA002784F8767063 +:1017200084F87770A87800F09AFC6076D5F803000A +:10173000C4F81A00B5F80700E083C4F8089084F8EC +:101740000C80012084F8200101468DF80070684665 +:1017500004F008FF9DF8000000F00701C0F3C1028B +:101760001144C0F3401008448DF80000401D20765D +:10177000092801D208302076012120460BF0A4FD73 +:1017800068780DF075FCEEBBA9782878EA1C0DF09E +:1017900042FC48B10DF076FCA9782878EA1C0DF0DF +:1017A000E3FC060002D052E0122650E0687A00F016 +:1017B00005010020CA0700D001208A0701D540F0AA +:1017C0000200490701D540F008000DF00DFC0600AD +:1017D0003DD1214603200DF0F1FC060037D10DF07C +:1017E000F6FC060033D1697A01F005018DF8081086 +:1017F000697AC90708D06889ADF80A00288AADF867 +:101800000C0000E023E00120697A8A0700D5401C23 +:10181000490707D505EB40004189ADF80E10008A55 +:10182000ADF8100002A810F09CF8064695F83A00B2 +:1018300000B101200DF0EAFB4EB90DF021FD0600CC +:1018400005D1A98F204610F02DF8060008D0208879 +:1018500006F03CFE2088062101F0A6FB00B1FFDF68 +:101860003046E8E601460020C9E638B56B48007806 +:1018700078B910F0DEFD052805D00DF0ADF8A0F523 +:101880007F41FF3905D0684610F0D5F8040002D03A +:101890000CE00C2038BD0098008806F017FE009878 +:1018A0000621008801F080FB00B1FFDF204638BD33 +:1018B0001CB582894189CDE900120389C2888188DB +:1018C0004088FFF7BEFD08B100201CBD30201CBDC4 +:1018D00070B50546FFF7ECFF00280ED128880621D9 +:1018E00001F050FB040007D000F038FC20B1D4F820 +:1018F0001801017831B901E0022070BDD4F86411FB +:10190000097809B13A2070BD05218171D4F8181108 +:1019100000200881D4F81811A8884881D4F818113B +:10192000E8888881D4F818112889C881D4F818016A +:10193000028941898A4204D88279082A01D88A42D8 +:1019400001D3122070BD29884180D4F818110220DB +:101950000870002070BD3EB504460BF0DDFEB0B14E +:101960002E480125A0F140024570236842F8423F0D +:1019700023790021137141706946062001F08BFA2A +:1019800000B1FFDF684601F064FA10B10EE01220EA +:101990003EBDBDF80440029880F82051684601F031 +:1019A00058FA18B9BDF80400A042F4D100203EBD99 +:1019B00070B505460088062101F0E4FA040007D05E +:1019C00000F0CCFB20B1D4F81811087830B901E050 +:1019D000022070BDD4F86401007808B13A2070BDCF +:1019E000B020005D10F0010F22D0D5F80200486051 +:1019F000D5F806008860D4F8180169891022818121 +:101A0000D4F8180105F10C010E3004F58C74FCF7C4 +:101A100022FD216803200870288805E014080020B2 +:101A2000800000201122330021684880002070BD12 +:101A30000C2070BD38B504460078EF284DD860887A +:101A4000ADF80000009800F08DFC88B361880807AD +:101A500008D4D4E9012082423FD8202A3DD3B0F5F2 +:101A6000804F3AD8207B18B3072836D8607B28B13E +:101A7000012803D0022801D003282ED14A0703D41D +:101A8000022801D0032805D1A07B08B1012824D168 +:101A9000480707D4607D28B1012803D0022801D06F +:101AA00003281AD1C806E07D03D5012815D110E01E +:101AB00013E0012801D003280FD1C80609D4607EA5 +:101AC000012803D0022801D0032806D1A07E0F28C8 +:101AD00003D8E07E18B1012801D0122038BD0020C3 +:101AE00038BDF8B514460D46064608F018F808B19A +:101AF0000C20F8BD3046FFF79DFF0028F9D1FDF717 +:101B0000DAF92870B07554B9FF208DF800006946E5 +:101B10000020FDF7BAF969460020FDF7AAF9304622 +:101B2000BDE8F840FDF7EEB80022DAE70078C1081A +:101B300001D012207047FD4981F820000020704735 +:101B400010B504460078C00704D1608810B1FDF7D5 +:101B500073F980B12078618800F00102607800F0AC +:101B600025FC002806D1FDF74FF901466088884220 +:101B700003D9072010BD122010BD6168FDF785F95B +:101B8000002010BD10B504460078C00704D160885D +:101B900010B1FCF722FE70B12078618800F00102DC +:101BA000607800F003FC002804D160886168FDF7CC +:101BB00060F9002010BD122010BD7CB504464078AD +:101BC0004225012808D8A078FCF7FFFD20B1207835 +:101BD0001225012802D090B128467CBDFDF777F987 +:101BE00020B1A0880028F7D08028F5D8FDF776F935 +:101BF00060B160780028EFD02078012808D006F086 +:101C000087FD044607F079FC00287FD00C207CBDBE +:101C1000FCF791FF10B9FDF753F990B307F07FFF80 +:101C20000028F3D1FCF798FDA0F57F41FF39EDD1F5 +:101C3000FCF7A3FFA68842F210704643A079FDF797 +:101C40000CF9FCF7D1FDF8B10022072101A801F041 +:101C500067F9040058D0B6480021846020460BF094 +:101C600040FA2046FDF7CEFCB04D04F130006A8A00 +:101C7000A98AC2830184FCF7BEFD60B1E88A012114 +:101C80000DE0FFE712207CBD3146002007F0E7FCA5 +:101C900088B3FFDF44E0FDF723F90146E88A07F047 +:101CA00089FD0146A0620022204606F034FDFCF7C3 +:101CB000A2FD38B9FDF714F90246214601200BF0C8 +:101CC00021FFD0B1994A21461C3201200BF037FF89 +:101CD000687C00902B7CAA8A698A208801F00EFA21 +:101CE00000B1FFDF208806F0F0FB3146204607F008 +:101CF000B6FC00B1FFDF13E008E00721BDF80400E7 +:101D000001F052F900B1FFDF09207CBD44B1208809 +:101D100006F0DCFB2088072101F046F900B1FFDF67 +:101D200000207CBD002148E770B50D46072101F079 +:101D300029F9040003D094F8930110B10AE00220BD +:101D400070BD94F87D00142801D0152802D194F8B4 +:101D5000E00108B10C2070BD1022294604F5CA70BC +:101D6000FCF779FB012084F89301002070BD10B5C9 +:101D7000072101F007F918B190F8931111B107E0AC +:101D8000022010BD90F87D10142903D0152901D030 +:101D90000C2010BD022180F89311002010BD2DE908 +:101DA000FC410C464BF68032122194421DD8E4B11E +:101DB0006946FEF727FC002815D19DF8000000F0C9 +:101DC00055F9019E9DF80000703600F04FF9019D15 +:101DD000AD1C2F882246394630460BF078F928880A +:101DE000B842F6D10020BDE8FC810846FBE77CB58F +:101DF000044600886946FEF705FC002810D19DF8CE +:101E0000000000F033F9019D9DF80000703500F0EE +:101E10002DF90198A27890F82C10914201D10C2054 +:101E20007CBD7F212972A9720021E972E17880F8D6 +:101E30002D10217980F82E10A17880F82C10002028 +:101E40007CBD1CB50C466946FEF7DCFB00280AD1B8 +:101E50009DF8000000F00AF9019890F88C0000B19C +:101E60000120207000201CBD7CB50D46144669463B +:101E7000FEF7C8FB002809D19DF8000000F0F6F835 +:101E8000019890F82C00012801D00C207CBD9DF811 +:101E9000000000F0EBF8019890F87810297090F8A5 +:101EA0007900207000207CBD70B50D4616460721D4 +:101EB00001F068F818B381880124C388428804EBD4 +:101EC0004104AC4217D842F210746343A410624339 +:101ED000B3FBF2F2521E94B24FF4FA72944200D95C +:101EE0001446A54200D22C46491C641CB4FBF1F2F6 +:101EF0004A43521E91B290F8CC211AB901E0022057 +:101F000070BD01843180002070BD10B50C460721E2 +:101F100001F038F870B180F8FF4024B190F8FD105E +:101F200009B107F05DFC002010BD0000140800207E +:101F3000740000200220F7E7017889B1417879B177 +:101F400041881B290CD381881B2909D3C188022908 +:101F500006D3F64902680A65406848650020704764 +:101F60001220704710B504460FF0B2FD204607F06E +:101F7000F0FB0020D8E710B507F0EEFB0020D3E718 +:101F80002DE9F04115460F46064601221146384616 +:101F90000FF0A2FD04460121384607F00BFC8442F5 +:101FA00000D204460121304600F065F806460121C2 +:101FB000002000F060F83118012096318C4206D9DB +:101FC00001F19600611AB1FBF0F0401C80B228804C +:101FD0000020BDE8F08110B5044600F077F808B1A4 +:101FE0000C20A1E7601C0AF0C9FE207800F0010077 +:101FF000FCF7BEFD207800F001000DF03EF8002057 +:1020000092E710B50446072000F056FF08B10C20F7 +:102010008AE72078C00711D000226078114612F0BC +:10202000C3FD08B112207FE7A06809F062FB607869 +:10203000D4F8041009F066FB002075E7002009F0D1 +:1020400058FB00210846F5E710B505F01AFE002000 +:102050006AE710B5006805F07CF8002064E718B165 +:10206000022801D0012070470020704708B10020ED +:1020700070470120704710B5012904D0022905D00E +:10208000FFDF204650E7C000503001E080002C30D8 +:1020900084B2F6E710B510F0CCF9042803D0052877 +:1020A00001D0002040E701203EE710B5FFF7F2FF26 +:1020B00010B10DF0A9F828B907F031FD20B1FCF7F7 +:1020C00032FD08B101202FE700202DE710B5FFF702 +:1020D000E1FF18B907F023FD002800D0012023E715 +:1020E0002DE9FE4300250F4680460A26042140467E +:1020F00004F061FA40460BF0B0FA062000F0EAFE68 +:10210000044616E06946062000F0C5FE0BE000BF5D +:10211000BDF80400B84206D00298042241460E30B1 +:10212000FCF76CF950B1684600F093FE0500EFD063 +:10213000641E002C06DD002DE4D005E040460BF0C7 +:1021400095FAF5E705B9FFDFD8F800000BF0A9FA1A +:10215000761E01D00028C9D0BDE8FE8390F8F010AB +:1021600090F88C0020B919B1042901D001207047E2 +:1021700000207047017800290AD0416891F8FD20BD +:10218000002A05D0002281F8FD20406807F028BB16 +:10219000704770B514460546012200F01BF900286F +:1021A00006D121462846BDE87040002200F012B951 +:1021B00070BDFB2802D8B1F5296F01D911207047F5 +:1021C000002070471B38E12806D2B1F5A47F03D365 +:1021D00044F29020814201D91220704700207047BC +:1021E0001FB55249403191F82010CA0702D1027838 +:1021F0001D2A0AD08A0702D402781C2A28D049074F +:102200003DD40178152937D039E08088ADF8000039 +:1022100002A9FEF7F7F900B1FFDF9DF80800FFF70C +:1022200025FF039810F8601F8DF8021040788DF894 +:1022300003000020ADF8040001B9FFDF9DF80300A2 +:1022400000B9FFDF6846FEF74AFCD8B1FFDF19E0AE +:102250008088ADF800004FF42961FB20ADF8041030 +:10226000ADF80200ADF80600ADF808106846FEF7BC +:1022700044FD38B1FFDF05E0807BC00702D00020BD +:1022800004B051E60120FBE7F8B507465089154632 +:102290000C4640B1B0F5004F05D20022A878114697 +:1022A00012F082FC08B11220F8BDA06E04F1700695 +:1022B00030B1A97894F86E00814201D00C20F8BDAD +:1022C000012184F86F10A97884F86E106968A166FE +:1022D0006989A4F86C102889B084002184F86F10F3 +:1022E00028886946FEF76CFFB08CBDF80010081A0C +:1022F00000B2002804DD21463846FEF74FFFDDE737 +:102300000020F8BD042803D321B9B0F5804F01D9CE +:102310000020704701207047042803D321B9B0F58D +:10232000804F01D90020704701207047D40700205A +:10233000012802D018B10020704702207047012008 +:10234000704710B500224FF4C84408E030F812304E +:10235000A34200D9234620F81230521CD2B28A423E +:10236000F4D3E1E580B2C1060BD401071CD4810689 +:102370004FEAC07101D5B9B900E099B1800713D413 +:1023800010E0410610D481060ED4C1074FEA8071D7 +:1023900004D0002902DB400704D405E0010703D480 +:1023A000400701D4012070470020704770B50C46EB +:1023B0000546FF2904D8FCF71EFA18B11F2C01D9D5 +:1023C000122070BD2846FCF700FA08B1002070BD4D +:1023D000422070BD0AB1012200E00222024202D175 +:1023E000C80802D109B100207047112070470000D1 +:1023F00030B5058825F4004421448CB24FF40041E7 +:1024000094420AD2121B92B21B339A4201D2A943C0 +:1024100007E005F40041214303E0A21A92B2A94368 +:102420001143018030BD0844083050434A3108440C +:1024300080B2704770B51D4616460B4604462946C5 +:102440003046049AFFF7EFFF0646B34200D2FFDFA3 +:10245000282200212046FCF728F84FF6FF70A082C2 +:10246000283EB0B265776080B0F5004F00D9FFDF3D +:10247000618805F13C00814200D2FFDF60880835A9 +:10248000401B343880B220801B2800D21B202080C3 +:102490000020A07770BD8161886170472DE9F05FF1 +:1024A0000D46C188044600F12809008921F4004640 +:1024B00020F4004800F063FB10B10020BDE8F09F5D +:1024C0004FF0000A4FF0010BB0450CD9617FA8EB2B +:1024D0000600401A0838854219DC09EB0600002185 +:1024E000058041801AE06088617F801B471A083FA1 +:1024F0000DD41B2F00DAFFDFBD4201DC294600E0CE +:10250000B9B2681A0204120C04D0424502DD84F804 +:1025100017A0D2E709EB06000180428084F817B0CB +:10252000CCE770B5044600F12802C088E37D20F4B2 +:1025300000402BB110440288438813448B4201D2DF +:10254000002070BD00258A4202D30180458008E04A +:10255000891A0904090C418003D0A01D00F01FFB5B +:1025600008E0637F00880833184481B26288A01DA8 +:10257000FFF73EFFE575012070BD70B5034600F121 +:102580002804C588808820F400462644A84202D149 +:102590000020188270BD98893588A84206D3401B58 +:1025A00075882D1A2044ADB2C01E05E02C1AA5B2C4 +:1025B0005C7F20443044401D0C88AC4200D90D8023 +:1025C0009C8924B1002414700988198270BD0124EB +:1025D000F9E770B5044600F12801808820F4004036 +:1025E0004518208A002825D0A189084480B2A081FE +:1025F00029886A881144814200D2FFDF28886988CF +:1026000000260844A189884212D1A069807F2871E0 +:10261000698819B1201D00F0C2FA08E0637F28889C +:102620000833184481B26288201DFFF7E1FEA681BD +:102630002682012070BD2DE9F0414189878800265E +:10264000044600F12805B94219D004F10A0800BF78 +:1026500021F400402844418819B1404600F09FFA17 +:1026600008E0637F00880833184481B262884046DE +:10267000FFF7BEFE761C6189B6B2B942E8D130469A +:10268000BDE8F0812DE9F04104460B46278928304A +:10269000A68827F40041B4F80A8001440D46B742E9 +:1026A00001D10020ECE70AB1481D106023B1627F20 +:1026B000691D1846FBF7CFFE2E88698804F10800D3 +:1026C00021B18A1996B200F06AFA06E0637F628847 +:1026D0000833991989B2FFF78BFE474501D120894C +:1026E00060813046CCE78188C088814201D10120D9 +:1026F00070470020704701898088814201D1012004 +:1027000070470020704770B58588C38800F12804A1 +:1027100025F4004223F4004114449D421AD08389D9 +:10272000058A5E1925886388EC18A64214D313B174 +:102730008B4211D30EE0437F08325C19224440885B +:1027400092B2801A80B22333984201D211B103E0D1 +:102750008A4201D1002070BD012070BD2DE9F047F3 +:102760008846C1880446008921F4004604F1280700 +:1027700020F4004507EB060900F001FA002178BBC0 +:10278000B54204D9627FA81B801A002503E0608847 +:10279000627F801B801A083823D4E28962B1B9F8BD +:1027A0000020B9F802303BB1E81A2177404518DB28 +:1027B000E0893844801A09E0801A217740450ADB15 +:1027C000607FE1890830304439440844C01EA4F8D1 +:1027D0001280BDE8F087454503DB01202077E7E75D +:1027E000FFE761820020F4E72DE9F74F044600F18E +:1027F0002805C088884620F4004A608A05EB0A064E +:1028000008B1404502D20020BDE8FE8FE08978B1D2 +:102810003788B6F8029007EB0901884200D0FFDF45 +:10282000207F4FF0000B50EA090106D088B33BE04F +:102830000027A07FB9463071F2E7E18959B1607F86 +:102840002944083050440844B4F81F1020F8031DF0 +:1028500094F821108170E28907EB080002EB08016F +:10286000E1813080A6F802B002985F4650B1637FE4 +:1028700030880833184481B26288A01DFFF7B8FD84 +:10288000E78121E0607FE189083050442944084411 +:102890002DE0FFE7E089B4F81F102844C01B20F8A2 +:1028A000031D94F82110817009EB0800E28981B2C0 +:1028B00002EB0800E081378071800298A0B1A01D72 +:1028C00000F06DF9A4F80EB0A07F401CA077A07DA9 +:1028D00008B1E088A08284F816B000BFA4F812B056 +:1028E00084F817B001208FE7E0892844C01B30F836 +:1028F000031DA4F81F10807884F82100EEE710B5BE +:10290000818800F1280321F400442344848AC2888A +:10291000A14212D0914210D0818971B9826972B1FD +:102920001046FFF7E8FE50B91089283220F4004025 +:10293000104419790079884201D1002010BD184651 +:1029400010BD00F12803407F08300844C01E10600D +:10295000088808B9DB1E136008884988084480B2DB +:1029600070472DE9F04100F12806407F1C460830F1 +:102970009046431808884D88069ADB1EA0B1C01CFB +:1029800080B2904214D9801AA04200DB204687B260 +:1029900098183A464146FBF731FD002816D1E01B56 +:1029A00084B2B844002005E0ED1CADB2F61EE8E7A5 +:1029B000101A80B20119A94206D830442246414675 +:1029C000BDE8F041FBF71ABD4FF0FF3058E62DE9A6 +:1029D000F04100F12804407F1E460830904643181D +:1029E000002508884F88069ADB1E90B1C01C80B273 +:1029F000904212D9801AB04200DB304685B2991855 +:102A00002A464046FBF727FD701B86B2A8440020EB +:102A100005E0FF1CBFB2E41EEAE7101A80B281197C +:102A2000B94206D8211832464046FBF714FDA819D2 +:102A300085B2284624E62DE9F04100F12804407FC4 +:102A40001E46083090464318002508884F88069A8D +:102A5000DB1E90B1C01C80B2904212D9801AB042E5 +:102A600000DB304685B298182A464146FBF7F3FC56 +:102A7000701B86B2A844002005E0FF1CBFB2E41E14 +:102A8000EAE7101A80B28119B94206D820443246CA +:102A90004146FBF7E0FCA81985B22846F0E5401D49 +:102AA000704710B5044600F12801C288808820F4E0 +:102AB00000431944904206D0A28922B9228A12B951 +:102AC000A28A904201D1002010BD0888498831B106 +:102AD000201D00F064F800202082012010BD637FDB +:102AE00062880833184481B2201DFFF781FCF2E7A9 +:102AF0000021C18101774182C175817570470388CA +:102B00001380C28942B1C28822F4004300F1280236 +:102B10001A440A60C08970470020704710B5044607 +:102B2000808AA0F57F41FF3900D0FFDFE088A082D6 +:102B3000E08900B10120A07510BD4FF6FF718182C0 +:102B400000218175704710B50446808AA0F57F4149 +:102B5000FF3900D1FFDFA07D28B9A088A18A884273 +:102B600001D1002010BD012010BD8188828A9142D0 +:102B700001D1807D08B1002070470120704720F40A +:102B8000004221F400439A4207D100F4004001F4CE +:102B90000041884201D0012070470020704730B5C5 +:102BA000044600880D4620F40040A84200D2FFDF12 +:102BB00021884FF4004088432843208030BD70B501 +:102BC0000C00054609D0082C00D2FFDF1DB1A1B2D0 +:102BD000286800F044F8201D70BD0DB10020286069 +:102BE000002070BD0021026803E093881268194438 +:102BF00089B2002AF9D100F032B870B500260D462E +:102C00000446082900D2FFDF206808B91EE0044608 +:102C100020688188A94202D001680029F7D1818803 +:102C20000646A94201D100680DE005F1080293B201 +:102C30000022994209D32844491B026081802168FF +:102C4000096821600160206000E00026304670BD08 +:102C500000230B608A8002680A60016070470023CD +:102C60004360021D018102607047F0B50F46018884 +:102C7000408815460C181E46AC4200D3641B3044F5 +:102C8000A84200D9FFDFA019A84200D9FFDF3819F8 +:102C9000F0BD2DE9F041884606460188408815467A +:102CA0000C181F46AC4200D3641B3844A84200D91C +:102CB000FFDFE019A84200D9FFDF70883844708038 +:102CC00008EB0400BDE8F0812DE9F04105460088DD +:102CD0001E461746841B8846BC4200D33C442C80C9 +:102CE00068883044B84200D9FFDFA019B84200D943 +:102CF000FFDF68883044688008EB0400E2E72DE9D4 +:102D0000F04106881D460446701980B21746884671 +:102D10002080B84201D3C01B20806088A84200D226 +:102D2000FFDF7019B84200D9FFDF6088401B608068 +:102D300008EB0600C6E730B50D460188CC18944272 +:102D400000D3A41A4088984200D8FFDF281930BD6C +:102D50002DE9F041C84D04469046A8780E46A042A1 +:102D600000D8FFDF05EB8607B86A50F8240000B1F1 +:102D7000FFDFB868002816D0304600F044F901465D +:102D8000B868FFF73AFF05000CD0B86A082E40F883 +:102D9000245000D3FFDFB9484246294650F8263078 +:102DA000204698472846BDE8F0812DE9F8431E46A5 +:102DB0008C1991460F460546FF2C00D9FFDFB1451F +:102DC00000D9FFDFE4B200954DB300208046E81C37 +:102DD00020F00300A84200D0FFDF4946DFF89892B8 +:102DE000684689F8001089F8017089F8024089F86E +:102DF000034089F8044089F8054089F8066089F89D +:102E00000770414600F008F9002142460F464B4644 +:102E10000098C01C20F00300009012B10EE00120C9 +:102E2000D4E703EB8106B062002005E0D6F828C0A5 +:102E30004CF82070401CC0B2A042F7D30098491C47 +:102E400000EB8400C9B200900829E1D3401BBDE823 +:102E5000F88310B50446EEF722FA08B1102010BD31 +:102E60002078854A618802EB800092780EE0836AC0 +:102E700053F8213043B14A1C6280A180806A50F827 +:102E80002100A060002010BD491C89B28A42EED802 +:102E90006180052010BD70B505460C460846EEF76A +:102EA000FEF908B1102070BD082D01D3072070BDB8 +:102EB00025700020608070BD0EB56946FFF7EBFFFE +:102EC00000B1FFDF6846FFF7C4FF08B100200EBD68 +:102ED00001200EBD10B50446082800D3FFDF664868 +:102EE000005D10BD3EB5054600246946FFF7D3FFDF +:102EF00018B1FFDF01E0641CE4B26846FFF7A9FFE8 +:102F00000028F8D02846FFF7E5FF001BC0B23EBD01 +:102F100059498978814201D9C0B27047FF20704772 +:102F20002DE9F041544B062903D007291CD19D7986 +:102F300000E0002500244FF6FF7603EB810713F82D +:102F400001C00AE06319D7F828E09BB25EF823E0DD +:102F5000BEF1000F04D0641CA4B2A445F2D83346DD +:102F600003801846B34201D100201CE7BDE8F041C0 +:102F7000EEE6A0F57F43FF3B01D0082901D30020F6 +:102F80007047E5E6A0F57F42FF3A0BD0082909D249 +:102F9000394A9378834205D902EB8101896A51F855 +:102FA00020007047002070472DE9F04104460D468F +:102FB000A4F57F4143F20200FF3902D0082D01D36E +:102FC0000720F0E62C494FF000088A78A242F8D991 +:102FD00001EB8506B26A52F82470002FF1D0274821 +:102FE0003946203050F8252020469047B16A2846BF +:102FF00041F8248000F007F802463946B068FFF730 +:1030000027FE0020CFE61D49403131F810004FF671 +:10301000FC71C01C084070472DE9F843164E8846E5 +:10302000054600242868C01C20F0030028602046C4 +:10303000FFF7E9FF315D4843B8F1000F01D00022EE +:1030400000E02A680146009232B100274FEA0D00E5 +:10305000FFF7B5FD1FB106E001270020F8E706EBFA +:103060008401009A8A602968641C0844E4B22860DC +:10307000082CD7D3EBE6000038080020B463020028 +:1030800070B50E461D46114600F0D5F80446294697 +:10309000304600F0D9F82044001D70BD2DE9F04104 +:1030A00090460D4604004FF0000610D00027E01CAB +:1030B00020F00300A04200D0FFDFE5B14146002030 +:1030C000FFF77DFD0C3000EB850617B113E00127FB +:1030D000EDE7624F04F10C00AA003C6025726060CD +:1030E00000EB8500206000216068FBF7DEF94146B7 +:1030F0003868FFF764FD3046BDE8F0812DE9FF4FE9 +:10310000564C804681B020689A46934600B9FFDF4E +:103110002068027A424503D9416851F8280020B15D +:1031200043F2020005B0BDE8F08F5146029800F06E +:1031300082F886B258460E9900F086F885B270196A +:10314000001D87B22068A14639460068FFF755FD8B +:1031500004001FD0678025802946201D0E9D07464C +:103160005A4601230095FFF765F920883146384417 +:103170000123029ACDF800A0FFF75CF92088C1195D +:103180003846FFF788F9D9F800004168002041F877 +:103190002840C7E70420C5E770B5304C05462068D5 +:1031A00000B9FFDF2068017AA9420ED9426852F8BF +:1031B000251051B1002342F825304A880068FFF7F6 +:1031C00047FD216800200A7A08E043F2020070BD42 +:1031D0004B6853F8203033B9401CC0B28242F7D854 +:1031E0000868FFF7FFFC002070BD70B51B4E054658 +:1031F0000024306800B9FFDF3068017AA94204D9A1 +:10320000406850F8250000B1041D204670BD70B51F +:10321000124E05460024306800B9FFDF3068017A9D +:10322000A94206D9406850F8251011B131F8040BB5 +:103230004418204670BD10B50A460121FFF7F3F887 +:10324000C01C20F0030010BD10B50A460121FFF795 +:10325000EAF8C01C20F0030010BD00008800002028 +:1032600070B50446C2F110052819FBF7F4F815F003 +:10327000FF0109D0491ECAB28020A0542046BDE8F3 +:1032800070400021FBF711B970BD30B505E05B1E41 +:10329000DBB2CC5CD55C6C40C454002BF7D130BDA4 +:1032A00010B5002409E00B78521E44EA430300F8ED +:1032B000013B11F8013BD2B2DC09002AF3D110BD69 +:1032C0002DE9F04389B01E46DDE9107990460D00E6 +:1032D000044622D002460846F949FDF74CFE10226A +:1032E00021463846FFF7DCFFE07B000606D5F44AAE +:1032F0003946102310320846FFF7C7FF102239461F +:103300004846FFF7CDFFF87B000606D5EC4A494654 +:10331000102310320846FFF7B8FF10220021204684 +:10332000FBF7C3F80DE0103EB6B208EB0601102320 +:1033300022466846FFF7A9FF224628466946FDF760 +:103340001AFE102EEFD818D0F2B241466846FFF7A9 +:1033500087FF10234A46694604A8FFF796FF10230B +:10336000224604A96846FFF790FF22462846694690 +:10337000FDF701FE09B0BDE8F08310233A4641464F +:10338000EAE770B59CB01E460546134620980C46E9 +:103390008DF80800202219460DF10900FBF75BF8B3 +:1033A000202221460DF12900FBF755F817A913A893 +:1033B000CDE90001412302AA31462846FFF780FFEC +:1033C0001CB070BD2DE9FF4F9FB014AEDDE92D5448 +:1033D00010AFBB49CDE90076202320311AA8FFF7B2 +:1033E0006FFF4FF000088DF808804FF001098DF84D +:1033F000099054F8010FCDF80A00A088ADF80E002E +:1034000014F8010C1022C0F340008DF8100055F89C +:10341000010FCDF81100A888ADF8150015F8010CC2 +:103420002C99C0F340008DF8170006A88246FBF7E0 +:1034300012F80AA8834610222299FBF70CF8A0483C +:103440003523083802AA40688DF83C80CDE9007623 +:103450000E901AA91F98FFF733FF8DF808808DF89A +:1034600009902068CDF80A00A088ADF80E0014F885 +:10347000010C1022C0F340008DF810002868CDF830 +:103480001100A888ADF8150015F8010C2C99C0F3AF +:1034900040008DF817005046FAF7DDFF584610221D +:1034A0002299FAF7D8FF86483523083802AA4068DF +:1034B0008DF83C90CDE900760E901AA92098FFF780 +:1034C000FFFE23B0BDE8F08FF0B59BB00C4605467B +:1034D000DDE922101E461746DDE92032D0F801C092 +:1034E000CDF808C0B0F805C0ADF80CC00078C0F346 +:1034F00040008DF80E00D1F80100CDF80F00B1F8B2 +:103500000500ADF8130008781946C0F340008DF8A7 +:1035100015001088ADF8160090788DF818000DF1A0 +:1035200019001022FAF797FF0DF1290010223146F9 +:10353000FAF791FF0DF1390010223946FAF78BFFA7 +:1035400017A913A8CDE90001412302AA2146284664 +:10355000FFF7B6FE1BB0F0BDF0B5A3B017460D46A1 +:1035600004461E46102202A82899FAF774FF06A8FE +:1035700020223946FAF76FFF0EA820222946FAF7D3 +:103580006AFF1EA91AA8CDE90001502302AA3146FC +:1035900016A8FFF795FE1698206023B0F0BDF0B591 +:1035A00089B00446DDE90E070D463978109EC1F357 +:1035B00040018DF8001031789446C1F340018DF838 +:1035C00001101968CDF802109988ADF806109979A4 +:1035D0008DF808100168CDF809108188ADF80D103C +:1035E00080798DF80F0010236A46614604A8FFF722 +:1035F0004CFE2246284604A9FDF7BDFCD6F8010082 +:103600000090B6F80500ADF80400D7F80100CDF839 +:103610000600B7F80500ADF80A000020039010235B +:103620006A46214604A8FFF730FE2246284604A930 +:10363000FDF7A1FC09B0F0BD1FB51C6800945B68E4 +:103640000193136802935268039202460846694642 +:10365000FDF791FC1FBD10B588B0044610680490BA +:103660005068059000200690079008466A4604A915 +:10367000FDF781FCBDF80000208008B010BD1FB52B +:103680001288ADF800201A88ADF8022000220192BD +:1036900002920392024608466946FDF76CFC1FBD84 +:1036A0007FB5074B14460546083B9A1C6846FFF752 +:1036B000E6FF224669462846FFF7CDFF7FBD0000A2 +:1036C0000C64020070B5044600780E46012813D041 +:1036D000052802D0092813D10EE0A0686169057899 +:1036E000042003F04FFA052D0AD07823002204208D +:1036F000616903F09DF903E00420616903F042FA77 +:1037000031462046BDE8704001F08AB810B500F19E +:103710002D03C2799C78411D144064F30102C271EB +:10372000D2070DD04A795C7922404A710A791B7917 +:103730001A400A718278C9788A4200D9817010BD16 +:1037400000224A71F5E74178012900D00C2101706F +:1037500070472DE9F04F93B04FF0000B0C690D4608 +:103760008DF820B0097801260C2017464FF00D087F +:103770004FF0110A4FF008091B2975D2DFE811F04C +:103780001B00C40207031F035E037103A303B803F6 +:10379000F9031A0462049504A204EF042D05370509 +:1037A00055056005F3053606390668068406FE06EB +:1037B0002207EB06F00614B120781D282AD0D5F890 +:1037C00008805FEA08004FD001208DF82000686A69 +:1037D00002220D908DF824200A208DF82500A8697A +:1037E0000A90A8880028EED098F8001091B10F290F +:1037F00010D27DD2DFE801F07C1349DEFCFBFAF940 +:10380000F8F738089CF6F50002282DD124B120786D +:103810000C2801D00026F0E38DF82020CBE1042015 +:10382000696A03F0AFF9A8880728EED1204600F0B6 +:10383000F2FF022809D0204600F0EDFF032807D947 +:10384000204600F0E8FF072802D20120207004E0A3 +:10385000002CB8D020780128D7D198F80400C11FD7 +:103860000A2902D30A2061E0C4E1A070D8F8001050 +:10387000E162B8F80410218698F8060084F8320056 +:10388000012028700320207044E00728BDD1002CBF +:1038900099D020780D28B8D198F8031094F82F20EB +:1038A000C1F3C000C2F3C002104201D0062000E004 +:1038B0000720890707D198F805100142D2D198F85E +:1038C00006100142CED194F8312098F8051020EA74 +:1038D00002021142C6D194F8322098F806109043A3 +:1038E0000142BFD198F80400C11F0A29BAD200E0F2 +:1038F00008E2617D81427CD8D8F800106160B8F898 +:103900000410218198F80600A072012028700E2072 +:10391000207003208DF82000686A0D9004F12D00BE +:103920000990601D0A900F300B9022E12875FCE38E +:10393000412891D1204600F06EFF042802D1E078A2 +:10394000C00704D1204600F066FF0F2884D1A88C60 +:10395000D5F80C8080B24FF0400BE669FFF745FCCC +:10396000324641465B464E46CDF80090FFF72FF8B1 +:103970000B208DF82000686A0D90E0690990002105 +:1039800008A8FFF79FFE2078042806D0A07D58B134 +:10399000012809D003280AD04AE30520207003201B +:1039A00028708DF82060CEE184F800A032E7122064 +:1039B0002070EAE11128BCD1204600F02CFF042839 +:1039C00002D1E078C00719D0204600F024FF062875 +:1039D00005D1E078C00711D1A07D02280ED0204685 +:1039E00008E0CCE084E072E151E124E103E1E9E0A8 +:1039F00019E0B0E100F00FFF11289AD1102208F170 +:103A0000010104F13C00FAF726FD607801286ED030 +:103A100012202070E078C00760D0A07D0028C8D0B8 +:103A20000128C6D05AE0112890D1204600F0F3FEBC +:103A3000082804D0204600F0EEFE132886D104F1B9 +:103A40006C00102208F101010646FAF704FD207807 +:103A500008280DD014202070E178C8070DD0A07D73 +:103A600002280AD06278022A04D00328A1D035E0C7 +:103A70000920F0E708B1012837D1C80713D0A07D8D +:103A800002281DD000200090D4E9062133460EA85C +:103A9000FFF777FC10220EA904F13C00FAF7AEFC08 +:103AA000C8B1042042E7D4E90912201D8DE80700BF +:103AB00004F12C0332460EA8616BFFF770FDE9E7B5 +:103AC000606BC1F34401491E0068C84000F001006A +:103AD00040F08000D7E72078092806D185F80090CB +:103AE0008DF8209036E32870EFE30920FBE79EE194 +:103AF000112899D1204600F08EFE0A2802D1E078E4 +:103B0000C00704D1204600F086FE15288CD104F1B0 +:103B10003C00102208F101010646FAF79CFC2078CF +:103B20000A2816D016202070D4E90932606B611D76 +:103B30008DE80F0004F15C0304F16C0247310EA81C +:103B4000FFF7C2FC10220EA93046FAF757FC18B155 +:103B5000F9E20B20207073E22046FFF7D7FDA07832 +:103B6000216AC0F110020B1800211846FAF79DFCDB +:103B700026E3394608A8FFF7A5FD06463CE20228E1 +:103B8000B7D1204600F047FE042804D3204600F0B9 +:103B900042FE082809D3204600F03DFE0E2829D316 +:103BA000204600F038FE122824D2A07D0228A0D1A1 +:103BB0000E208DF82000686A0D9098F801008DF8AD +:103BC0002400F5E3022894D1204600F024FE0028CA +:103BD00010D0204600F01FFE0128F9D0204600F04A +:103BE0001AFE0C28F4D004208DF8240098F8010067 +:103BF0008DF8250060E21128FCD1002CFAD0207845 +:103C00001728F7D16178606A022912D05FF00001AD +:103C100001EB4101182606EBC1011022405808F1C2 +:103C20000101FAF718FC0420696A00F0E7FD26702C +:103C3000F0E50121ECE70B28DCD1002CDAD020786C +:103C40001828D7D16078616A02281CD05FF0000084 +:103C500000EB4002102000EBC2000958B8F8010048 +:103C600008806078616A02280FD0002000EB4002D3 +:103C7000142000EBC2000958404650F8032F0A6098 +:103C80004068486039E00120E2E70120EEE71128B2 +:103C9000B0D1002CAED020781928ABD16178606A01 +:103CA000022912D05FF0000101EB41011C2202EB5E +:103CB000C1011022405808F10101FAF7CCFB0420A1 +:103CC000696A00F09BFD1A20B6E00121ECE70828A4 +:103CD00090D1002C8ED020781A288BD1606A98F869 +:103CE0000120017862F347010170616AD8F802206F +:103CF00041F8012FB8F8060088800420696A00F0B6 +:103D00007DFD90E2072011E63878012894D1182231 +:103D100004F114007968FAF79EFBE079C10894F881 +:103D20002F0001EAD001E07861F30000E070217D0E +:103D3000002974D12178032909D0C00725D0032098 +:103D400028708DF82090686A0D90412008E3607D0E +:103D5000A178884201D90620E8E502262671E1799A +:103D6000204621F0E001E171617A21F0F0016172F9 +:103D7000A17A21F0F001A172FFF7C8FC2E708DF836 +:103D80002090686A0D900720EAE20420ABE63878BC +:103D900005289DD18DF82000686A0D90B8680A90BA +:103DA0000720ADF824000A988DF830B061680160F2 +:103DB00021898180A17A817104202070F8E239780C +:103DC000052985D18DF82010696A0D91391D09AE3C +:103DD0000EC986E80E004121ADF824108DF830B0F0 +:103DE0001070A88CD7F80C8080B24026A769FFF726 +:103DF0000EFA41463A463346C846CDF80090FEF7E3 +:103E00001AFE002108A8FFF75DFCE07820F03E00D4 +:103E1000801CE0702078052802D00F200CE04AE1D9 +:103E2000A07D20B1012802D0032802D002E10720A2 +:103E3000BEE584F80080EDE42070EBE4102104F18D +:103E40005C0002F0B8FB606BB0BBA07D18B101282C +:103E500001D00520FDE006202870F8486063A063CB +:103E6000C2E23878022894D1387908B12875B7E3CE +:103E7000A07D022802D0032805D022E0B8680028DF +:103E8000F5D060631CE06078012806D0A07994F832 +:103E90002E10012805D0E94806E0A17994F82E00FB +:103EA000F7E7B8680028E2D06063E078C00701D087 +:103EB000012902D0E14803E003E0F8680028D6D0E9 +:103EC000A06306200FE68DF82090696A0D91E178D5 +:103ED0004846C90709D06178022903D1A17D29B1DB +:103EE000012903D0A17D032900D00720287033E1E8 +:103EF00038780528BBD1207807281ED084F800A088 +:103F000005208DF82000686A0D90B8680A90ADF819 +:103F100024A08DF830B003210170E178CA070FD0DA +:103F2000A27D022A1AD000210091D4E9061204F1E0 +:103F30005C03401CFFF725FA6BE384F80090DFE791 +:103F4000D4E90923211D8DE80E0004F12C0304F1AE +:103F50005C02401C616BFFF722FB5AE3626BC1F30A +:103F60004401491E1268CA4002F0010141F080017B +:103F7000DAE738780528BDD18DF82000686A0D9001 +:103F8000B8680A90ADF824A08DF830B0042100F88C +:103F9000011B102204F15C01FAF75DFA002108A868 +:103FA000FFF790FB2078092801D0132044E70A206E +:103FB00020709AE5E078C10742D0A17D012902D0A6 +:103FC000022927D038E0617808A8012916D004F129 +:103FD0006C010091D4E9061204F15C03001DFFF7A7 +:103FE000BBFA0A20287003268DF82080686A0D909D +:103FF000002108A8FFF766FBE1E2C7E204F15C01DB +:104000000091D4E9062104F16C03001DFFF7A4FA26 +:104010000026E9E7C0F3440114290DD24FF00061F6 +:1040200001EBB0104FEAB060E0706078012801D079 +:104030001020BDE40620FFE6607801283FF4B6AC0E +:104040000A2050E5E178C90708D0A17D012903D1F4 +:104050000B202870042030E028702EE00E202870FD +:104060006078616B012818D004F15C0304F16C02E4 +:104070000EA8FFF7E1FA2046FFF748FBA0780EAE46 +:10408000C0F1100230440021FAF70FFA06208DF833 +:104090002000686A09960D909BE004F16C0304F11E +:1040A0005C020EA8FFF7C8FAE8E73978022903D1C5 +:1040B00039790029D0D0297592E28DF82000686AFC +:1040C0000D9056E538780728F6D1D4E909216078B3 +:1040D000012808D004F16C00CDE90002029105D15D +:1040E00004F16C0304E004F15C00F5E704F15C0307 +:1040F00004F14C007A680646216AFFF763F960789C +:10410000012822D1A078216AC0F110020B180021E9 +:104110001846FAF7CAF9D4E90923606B04F12D01B6 +:104120008DE80F0004F15C0300E05BE204F16C0237 +:1041300031460EA8FFF7C8F910220EA904F13C0081 +:10414000FAF75CF908B10B20ACE485F8008000BFF9 +:104150008DF82090686A0D908DF824A009E53878D4 +:104160000528A9D18DF82000686A0D90B8680A90DA +:10417000ADF824A08DF830B080F800806178012976 +:104180001AD0D4E9092104F12D03A66B03910096FE +:10419000CDE9013204F16C0304F15C0204F14C013D +:1041A000401CFFF791F9002108A8FFF78BFA60780F +:1041B000012805D015203FE6D4E90912631DE4E784 +:1041C0000E20287006208DF82000686ACDF824B0F3 +:1041D0000D90A0788DF82800CBE438780328C0D162 +:1041E000E079C00770D00F202870072065E7387885 +:1041F00004286BD11422391D04F11400FAF72BF9AD +:10420000616A208CA1F80900616AA078C871E1791F +:10421000626A01F003011172616A627A0A73616A6B +:10422000A07A81F8240016205DE485F800A08DF8BE +:104230002090696A50460D9192E000000C640200E3 +:104240003878052842D1B868A8616178606A022987 +:1042500001D0012100E0002101EB4101142606EB11 +:10426000C1014058082102F0A6F96178606A02296C +:1042700001D0012100E0002101EB410106EBC10169 +:10428000425802A8E169FFF70BFA6078626A0228D7 +:1042900001D0012000E0002000EB4001102000EBE5 +:1042A000C1000223105802A90932FEF7EEFF626A2C +:1042B000FD4B0EA80932A169FFF7E1F96178606A48 +:1042C000022904D0012103E044E18DE0BFE0002198 +:1042D00001EB4101182606EBC101A27840580EA956 +:1042E000FAF7B9F86178606A022901D0012100E08B +:1042F000002101EB410106EBC1014158A0780B18E8 +:10430000C0F1100200211846FAF7CFF805208DF809 +:104310002000686A0D90A8690A90ADF824A08DF875 +:1043200030B0062101706278616A022A01D0012250 +:1043300000E0002202EB420206EBC202401C895858 +:104340001022FAF788F8002108A8FFF7BBF912201D +:10435000C5F818B028708DF82090686A0D900B2071 +:104360008DF8240005E43878052870D18DF82000F8 +:10437000686A0D90B8680A900B20ADF824000A987E +:10438000072101706178626A022901D0012100E0F1 +:10439000002101EB4103102101EBC30151580988B1 +:1043A000A0F801106178626A022902D0012101E0BF +:1043B0002FE1002101EB4103142101EBC30151580E +:1043C0000A6840F8032F4968416059E019202870B5 +:1043D00001208DF8300074E6162028708DF830B07A +:1043E000002108A8FFF76EF9032617E114202870B2 +:1043F000AEE6387805282AD18DF82000686A0D903D +:10440000B8680A90ADF824A08DF830B080F800901C +:104410006278616A4E46022A01D0012200E0002241 +:1044200002EB42021C2303EBC202401C89581022FB +:10443000FAF711F8002108A8FFF744F915202870B1 +:104440008DF82060686A0D908DF8246039E680E070 +:10445000387805287DD18DF82000686A0D90B868FD +:104460000A90ADF824900921017061690978490822 +:104470004170616951F8012FC0F802208988C1801C +:1044800020781C28A8D1A1E7E078C00702D04FF01F +:10449000060C01E04FF0070C607802280AD000BF3C +:1044A0004FF0000000EB040101F1090105D04FF0CD +:1044B000010004E04FF00100F4E74FF000000B783A +:1044C000204413EA0C030B7010F8092F02EA0C02C7 +:1044D000027004D14FF01B0C84F800C0D2B394F8E2 +:1044E00001C0BCF1010F00D09BB990F800C0E046BC +:1044F0005FEACC7C04D028F001060670102606E0A6 +:104500005FEA887C05D528F00206067013262E7017 +:10451000032694F801C0BCF1020F00D092B991F8C3 +:1045200000C05FEACC7804D02CF001060E70172191 +:1045300006E05FEA8C7805D52CF002060E70192192 +:10454000217000260078D0BBCAB3C3BB1C202070EA +:1045500035E012E002E03878062841D11A2015E44F +:10456000207801283CD00C283AD02046FFF7EBF801 +:1045700009208DF82000686A0D9031E03878052810 +:1045800005D00620387003261820287046E0052044 +:104590008DF82000696A0D91B9680A910221ADF881 +:1045A000241001218DF830100A990870287D487078 +:1045B000394608A8FFF786F8064618202870012E0D +:1045C0000ED02BE001208DF82000686A0D900320AA +:1045D0008DF82400287D8DF8250085F814B012E0B0 +:1045E000287D80B11D202070172028708DF8209024 +:1045F000686A0D9002208DF82400394608A8FFF75C +:1046000061F806460AE00CB1FE2020709DF82000FB +:1046100020B1002108A8FFF755F80CE413B030468C +:10462000BDE8F08F2DE9F04387B00C464E690021BC +:104630008DF8041001202578034602274FF0070962 +:104640004FF0050C85B1012D53D0022D39D1FE203C +:1046500030708DF80030606A059003208DF80400FA +:10466000207E8DF8050063E02179012925D00229FB +:104670002DD0032928D0042923D1B17D022920D1AE +:1046800031780D1F042D04D30A3D032D01D31D29BC +:1046900017D12189022914D38DF804702370208941 +:1046A0009DF80410884201E00464020018D208203A +:1046B0008DF80000606A059057E070780128EBD013 +:1046C000052007B0BDE8F0831D203070E4E7717865 +:1046D0000229F5D131780C29F3D18DF80490DDE76A +:1046E000083402F804CB94E80B0082E80B000320A6 +:1046F000E7E71578052DE4D18DF800C0656A0595CA +:10470000956802958DF8101094F80480B8F1010FA7 +:1047100013D0B8F1020F2DD0B8F1030F1CD0B8F1AF +:10472000040FCED1ADF804700E202870207E687082 +:1047300000216846FEF7C6FF0CE0ADF804700B20C0 +:104740002870207E002100F01F0068706846FEF788 +:10475000B9FF37700020B4E7ADF804708DF8103061 +:1047600085F800C0207E6870277011466846FEF705 +:10477000A9FFA6E7ADF804902B70207F6870607FDA +:1047800000F00100A870A07F00F01F00E870E27F39 +:104790002A71C0071CD094F8200000F0070068714F +:1047A00094F8210000F00700A87100216846FEF788 +:1047B00089FF2868F062A8883086A87986F83200D8 +:1047C000A069407870752879B0700D203070C1E70D +:1047D000A9716971E9E700B587B004280CD10120FF +:1047E0008DF800008DF80400002005918DF805007B +:1047F00001466846FEF766FF07B000BD70B50C467F +:10480000054602F0BFF921462846BDE870407823EE +:10481000002202F00DB908B1007870470C207047F3 +:1048200070B50C0005784FF000010CD021702146C6 +:10483000F0F77DFD69482178405D884201D1032071 +:1048400070BD022070BDF0F772FD002070BD0279CE +:10485000012A05D000220A704B78012B02D003E018 +:10486000042070470A758A6102799300521C027114 +:10487000C15003207047F0B587B00F4605460124AC +:10488000287905EB800050F8046C7078411E0229ED +:104890000AD252493A46083901EB8000314650F8B5 +:1048A000043C2846984704460CB1012C11D12879C4 +:1048B000401E10F0FF00287101D00324E0E70A2019 +:1048C0008DF80000706A0590002101966846FFF798 +:1048D000A7FF032CD4D007B02046F0BD70B5154615 +:1048E0000A46044629461046FFF7C5FF064674B13E +:1048F0002078FE280BD1207C30B10020287029467A +:1049000004F10C00FFF7B7FF2046FEF71CFF30460E +:1049100070BD704770B50E4604467C220021F9F741 +:10492000C4FD0225012E03D0022E04D0052070BD47 +:104930000120607000E065702046FEF704FFA57559 +:10494000002070BD28B1027C1AB10A4600F10C01AA +:10495000C4E70120704710B5044686B0042002F079 +:1049600011F92078FE2806D000208DF80000694655 +:104970002046FFF7E7FF06B010BD7CB50E460021CC +:104980008DF804104178012903D0022903D00024B6 +:1049900005E0046900E044690CB1217C89B16D46F1 +:1049A00001462846FFF753FF032809D1324629461E +:1049B0002046FFF793FF9DF80410002900D0042043 +:1049C0007CBD04F10C05EBE730B40C460146034A0C +:1049D000204630BC024B0C3AFEF751BE4864020040 +:1049E0000464020070B50D46040011D085B12201A7 +:1049F00000212846F9F759FD102250492846F9F7B9 +:104A00002AFD4F480121017044704560002070BDAF +:104A1000012070BD70B505460024494E11E0706854 +:104A2000AA7B00EB0410817B914208D1C17BEA7B19 +:104A3000914204D10C222946F9F7E0FC30B1641C04 +:104A4000E4B230788442EAD3002070BD641CE0B246 +:104A500070BD70B50546FFF7DDFF002805D1384C65 +:104A600020786178884201D3002070BD61681022EF +:104A700001EB00102946F9F7EEFC2078401CC0B28B +:104A8000207070BD2E48007870472D4908780128A5 +:104A900002D0401E08700020704770B50D460021FE +:104AA000917014461180022802D0102815D105E01B +:104AB000288890B10121A17010800CE0284613B124 +:104AC000FFF7C7FF01E0FFF7A5FFA07010F0FF0F91 +:104AD00003D0A8892080002070BD012070BD002374 +:104AE000DBE770B5054614460E0009D00020307093 +:104AF000A878012806D003D911490A7890420AD92A +:104B0000012070BD24B1287820702888000A5070D8 +:104B1000022008700FE064B14968102201EB001117 +:104B200020461039F9F797FC287820732888000A66 +:104B3000607310203070002070BD000057640200C8 +:104B40008C0000202DE9F04190460C4607460025D8 +:104B5000FE48072F00EB881607D2DFE807F00707AB +:104B6000070704040400012500E0FFDF06F81470C5 +:104B7000002D13D0F548803000EB880191F8270014 +:104B8000202803D006EB4000447001E081F8264065 +:104B900006EB44022020507081F82740BDE8F081E8 +:104BA000F0B51F4614460E460546202A00D1FFDF09 +:104BB000E649E648803100EB871C0CEB440001EB32 +:104BC0008702202E07D00CEB460140784B784870C6 +:104BD000184620210AE092F82530407882F8250016 +:104BE000F6E701460CEB410005704078A142F8D190 +:104BF00092F82740202C03D00CEB4404637001E0B2 +:104C000082F826300CEB41042023637082F82710D1 +:104C1000F0BD30B50D46CE4B44190022181A72EB88 +:104C2000020100D2FFDFCB48854200DDFFDFC9482B +:104C30004042854200DAFFDFC548401C844207DA63 +:104C4000002C01DB204630BDC148401C201830BD7F +:104C5000BF48C043FAE710B504460168407ABE4A2F +:104C600052F82020114450B10220084420F07F4027 +:104C7000EDF7F5FF94F90810BDE81040C9E70420EE +:104C8000F3E72DE9F047B14E803696F82D50DFF866 +:104C9000BC9206EB850090F8264034E009EB8517BE +:104CA0004FF0070817F81400012806D004282ED06A +:104CB00005282ED0062800D0FFDF01F01BF90146A1 +:104CC00007EB4400427806EB850080F8262090F838 +:104CD0002720A24202D1202280F82720084601F096 +:104CE00014F92A4621460120FFF72CFF9B48414634 +:104CF00000EB041002682046904796F82D5006EB12 +:104D0000850090F82640202CC8D1BDE8F08702200D +:104D100000E003208046D0E710B58C4C2021803481 +:104D200084F8251084F8261084F82710002084F8D1 +:104D3000280084F82D0084F82E10411EA16044F84C +:104D4000100B2074607420736073A0738449E07743 +:104D500020750870487000217C4A103C02F8110050 +:104D6000491CC9B22029F9D30120EDF768FE0020C3 +:104D7000EDF765FE012084F82200EEF791F87948FE +:104D8000EEF7A3F8764CA41E20707748EEF79DF856 +:104D90006070BDE81040EDF7DFBD10B5EDF701FE26 +:104DA0006F4CA41E2078EEF7A9F86078EEF7A6F80D +:104DB000BDE8104001F0D6B8202070470020EDF784 +:104DC00017BE70B5054601240E46AC405AB1FFF738 +:104DD000F5FF0146654800EBC500C0F81015C0F8A6 +:104DE0001465634801E06248001D046070BD2DE950 +:104DF000F34F564C0025803404EB810A89B09AF8B1 +:104E00002500202821D0691E02915449009501EB0C +:104E10000017391D03AB07C983E80700A18BADF864 +:104E20001C10A07F8DF81E009DF81500A046C8B18B +:104E30000226494951F820400399A219114421F052 +:104E40007F41019184B102210FE00120EDF7F7FDD0 +:104E50000020EDF7F4FDEDF7C2FD01F083F884F8D2 +:104E60002F50A9E00426E4E700218DF8181002284D +:104E700001D0012820D1039801190998081A801C33 +:104E80009DF81C1020F07F4001B102213531814294 +:104E90000BD203208DF815000398C4F13201401A9B +:104EA00020F07F40322403900CE098F8240018B9D9 +:104EB00001F039FA002863D0322C03D214B101F08A +:104EC00045F801E001F04EF8254A107818B39346F2 +:104ED0005278039B121B00219DF818409946012827 +:104EE0001AD0032818D000208DF81E00002A04DDF7 +:104EF000981A039001208DF818009DF81C0000B14D +:104F0000022103981B4A20F07F40039003AB0998CD +:104F100001F034F810B110E00120E5E79DF81D0024 +:104F200018B99BF80000032829D08DF81C50CDF843 +:104F30000C908DF818408DF81E509DF8180010B395 +:104F40000398012381190022184615E0800A0020E9 +:104F5000FF7F841E0020A1076864020080080020F3 +:104F600096000020DF680100834C010000F0014042 +:104F700004F50140FFFF3F00EDF7B4FD06E000201F +:104F80000BB0BDE8F08F0120EDF759FD97F90C202B +:104F9000012300200199EDF7A5FDF87BC00701D0A2 +:104FA000EDF789FE012188F82F108AF82850202279 +:104FB0006946FE48F9F74FFA0120E1E72DE9F05F75 +:104FC000DFF8E883064608EB860090F82550202D90 +:104FD0001FD0A8F180002C4600EB8617A0F50079C1 +:104FE000DFF8CCB305E0A24607EB4A004478202C5A +:104FF0000AD0EDF7C2FD09EB04135A4601211B1D2F +:1050000000F0BCFF0028EED0AC4202D0334652463E +:105010001EE0E84808B1AFF30080EDF7AEFD98F868 +:105020002F206AB1D8F80C20411C891A0902CA172E +:1050300001EB12610912002902DD0020BDE8F09F9A +:105040003146FFF7D4FE08B10120F7E733462A4680 +:1050500020210420FFF7A4FDEFE72DE9F041D34C18 +:105060002569EDF78AFD401B0002C11700EB1160B6 +:10507000001200D4FFDF94F8220000B1FFDF012707 +:1050800084F8227094F82E00202800D1FFDF94F8D5 +:105090002E60202084F82E00002584F82F5084F8FC +:1050A000205084F82150C44825600078022833D06D +:1050B000032831D000202077A068401C05D04FF095 +:1050C000FF30A0600120EDF7BAFC0020EDF7B7FC3F +:1050D000EDF7B3FDEDF7ABFDEDF781FC0FF000FE52 +:1050E000B648056005604FF0E0214FF40040B84637 +:1050F000C1F88002EDF74DFE94F82D703846FFF7A9 +:105100005DFF0028FAD0A948803800EB871010F81E +:105110001600022802D006E00120CCE73A463146CC +:105120000620FFF70FFD84F8238004EB870090F83A +:105130002600202804D0A048801E4078EDF7E4FE29 +:10514000207F002803D0EDF768FD2577657725E5FA +:10515000964910B591F82D200024803901EB821179 +:1051600011F814302BB1641CE4B2202CF8D32020A9 +:1051700010BD934901EB041108600020C87321465B +:105180000120FFF7DFFC204610BD10B5012801D03B +:10519000032800D171B3854A92F82D30834C002248 +:1051A000803C04EB831300BF13F812400CB10820BD +:1051B00010BD521CD2B2202AF6D37F4A48B1022831 +:1051C00007D0072916D2DFE801F01506080A0C0EF1 +:1051D000100000210AE01B2108E03A2106E05821D6 +:1051E00004E0772102E0962100E0B52151701070B3 +:1051F000002010BD072010BD6F4810B54078EDF7B6 +:105200002EFD80B210BD10B5202811D2674991F84B +:105210002D30A1F1800202EB831414F810303BB161 +:1052200091F82D3002EB831212F81020012A01D0E0 +:10523000002010BD91F82D2001460020FFF782FCD0 +:10524000012010BD10B5EDF798FCBDE81040EDF75A +:1052500006BD2DE9F0410E46544F01782025803FD0 +:105260000C4607EB831303E0254603EB4504647803 +:10527000944202D0202CF7D108E0202C06D0A14285 +:1052800006D103EB41014978017007E0002085E475 +:1052900003EB440003EB450140784870494F7EB171 +:1052A00027B1002140F22D40AFF300803078A042BA +:1052B00006D127B100214FF48660AFF3008035702E +:1052C00027B1002140F23540AFF30080012065E4B2 +:1052D00010B542680B689A1A1202D41702EB1462D6 +:1052E000121216D4497A91B1427A82B9364A0068CC +:1052F00052F82110126819441044001D891C081A24 +:105300000002C11700EB11600012322801DB0120FE +:1053100010BD002010BD2DE9F047294E814606F54D +:1053200000709846144600EB811712E006EB041556 +:10533000291D4846FFF7CCFF68B988F80040A97BD3 +:1053400099F80A00814201D80020DEE407EB44000E +:105350004478202CEAD10120D7E42DE9F047824699 +:1053600012480E4600EB8600DFF8548090F8254086 +:105370002020107008F500709946154600EB86173E +:105380000BE000BF08EB04105146001DFFF7A0FF23 +:1053900028B107EB44002C704478202CF2D12978F6 +:1053A00089F800104B46224631460FE0000B0020E2 +:1053B000FFFF3F00000000009600002000F50040C5 +:1053C0008008002000000000686402005046BDE82C +:1053D000F047A0E72DE9FC410E4607460024FE4DAC +:1053E00009E000BF9DF8000005EB00108168384619 +:1053F00000F0D8FD01246B4601AA31463846FFF77C +:10540000ACFF0028EED02046BDE8FC8170B5044614 +:10541000F2480125A54300EB841100EB85104022E2 +:10542000F9F719F8EE4E26B100214FF49360AFF36F +:105430000080EA48803000EB850100EB8400D0F862 +:105440002500C1F8250026B1002140F29C40AFF3B1 +:105450000080284670BD8A4203D003460520FFF72E +:105460009FBB202906D0DD4A02EB801000EB4100F3 +:1054700040787047D949803101EB800090F82500D1 +:105480007047D54901EB0010001DFFF7E4BB7CB568 +:105490001D46134604460E4600F1080221461846F2 +:1054A000EDF7EAFB94F908000F2804DD1F3820729D +:1054B0002068401C206096B10220CA4951F826108D +:1054C000461820686946801B20F07F40206094F9D0 +:1054D00008002844C01C1F2803DA012009E004202A +:1054E000EBE701AAEDF7C8FB9DF8040010B10098A6 +:1054F000401C00900099206831440844C01C20F0F2 +:105500007F4060607CBDFEB50C4606460978607938 +:10551000907220791F461546507279B12179002288 +:105520002846A368FFF7B3FFAC492846803191F8BD +:105530002E20202A0AD00969491D0DE0D4E9022352 +:10554000217903B02846BDE8F040A0E7A649497894 +:10555000052900D20521314421F07F4100F022FDD0 +:1055600039462846FFF736FFD4E9023221796846EA +:10557000FFF78DFF2B4600213046019A00F0FEFC1C +:10558000002806D103B031462846BDE8F04000F0BF +:1055900009BDFEBD2DE9FE4F814600F0BFFC38B1CC +:1055A0005FF0000799F8000020B10020BDE8FE8FF1 +:1055B0000127F7E7894D8A4C4FF0000A803524B166 +:1055C000002140F2FF40AFF3008095F82D8085F870 +:1055D00023A0002624B1002140F20450AFF3008044 +:1055E0001FB94046FFF712FF804624B1002140F268 +:1055F0000C50AFF30080EDF7C0FA43466A464946C7 +:10560000FFF781FF24B1002140F21250AFF3008078 +:1056100095F82E0020280CD029690098401A000225 +:10562000C21700EB1260001203D5684600F0BAFC06 +:10563000012624B1002140F21C50AFF3008095F800 +:1056400023000028BBD124B1002140F22250AFF347 +:105650000080EDF792FA6B46644A002100F08EFC60 +:105660000028A3D027B941466846FFF7B3FE06439A +:1056700026B16846FFF7EFFAC9F8080024B1002107 +:1056800040F23550AFF3008001208FE72DE9F04F55 +:1056900089B08B46824600F041FC504C803428B3E0 +:1056A0009BF80000002710B1012800D0FFDF4C4D0F +:1056B00025B1002140F2F750AFF3008046490120A8 +:1056C00001EB0A18A94607905FEA090604D00021F9 +:1056D00040F2FF50AFF30080079800F016FC94F8FA +:1056E0002D50002084F8230067B119E094F82E00B3 +:1056F0000127202800D1FFDF9BF800000028D6D02A +:10570000FFDFD4E72846FFF781FE054626B10021DA +:1057100040F20960AFF3008094F823000028D3D151 +:1057200026B1002140F21360AFF30080EDF725FAB7 +:105730002B4602AA59460790FFF7E5FE98F80F009E +:105740005FEA060900F001008DF8130004D0002183 +:1057500040F21D60AFF300803B462A4602A9CDF817 +:1057600000A0079800F029FC064604EB850090F89D +:1057700028000090B9F1000F04D0002140F224600D +:10578000AFF3008000F0B6FB0790B9F1000F04D032 +:10579000002140F22A60AFF3008094F82300002833 +:1057A00092D1B9F1000F04D0002140F23260AFF382 +:1057B00000800DF1080C9CE80E00C8E90112C8F841 +:1057C0000C30B6B35FEA090604D0002140F23F6016 +:1057D000AFF3008000980BE080080020800A0020D2 +:1057E000000000006864020096000020FFFF3F00F8 +:1057F000B84312D094F82E0020280ED126B10021F3 +:1058000040F24460AFF300802846FFF7D7FB20B991 +:105810009BF80000D8B3012849D0B9F1000F04D09B +:10582000002140F26160AFF30080284600F05BFB8E +:1058300001265FEA090504D0002140F26A60AFF357 +:105840000080079800F061FB25B1002140F26E60F6 +:10585000AFF300808EB194F82D0004EB800090F837 +:105860002600202809D025B1002140F27560AFF351 +:105870000080F8484078EDF747FB25B1002140F261 +:105880007A60AFF3008009B03046BDE8F08FFFE7E3 +:10589000B9F1000F04D0002140F24C60AFF300805A +:1058A00094F82D2051460420FFF74CF9C0E7002E54 +:1058B0003FF40AAF002140F25760AFF3008003E7E6 +:1058C0002DE9F84FE44D814695F82D004FF0000882 +:1058D000E24C4FF0010B474624B100214FF4D16058 +:1058E000AFF30080584600F010FB85F8237024B118 +:1058F000002140F28D60AFF3008095F82D00FFF796 +:1059000085FD064695F8230028B1002CE4D000213F +:1059100040F293604BE024B1002140F29760AFF376 +:105920000080CD48803800EB861111F8190003285B +:1059300056D1334605EB830A4A469AF82500904231 +:1059400001D1012000E0002000900AF12500002193 +:10595000FFF77FFC01460098014203D001228AF83C +:105960002820AF77E1B324B1002140F29C60AFF36F +:105970000080324649460120FFF7E4F89AF828A053 +:1059800024B1002140F2A760AFF3008000F0B2FA2A +:10599000834624B1002140F2AC60AFF3008095F85B +:1059A000230038B1002C97D000214FF4D660AFF31C +:1059B000008091E7BAF1000F07D095F82E0020285B +:1059C00003D13046FFF7FAFAE0B124B1002140F2EA +:1059D000C460AFF30080304600F085FA4FF0010854 +:1059E00024B1002140F2CD60AFF30080584600F0B2 +:1059F0008CFA24B1002140F2D160AFF30080404620 +:105A0000BDE8F88F002CF1D0002140F2BF60AFF369 +:105A10000080E6E70120ECF7EBBF8E480078704786 +:105A20002DE9F0418C4C94F82E0020281FD194F8D9 +:105A30002D6004EB860797F82550202D00D1FFDF5D +:105A40008549803901EB861000EB4500407807F866 +:105A5000250F0120F87084F82300294684F82E5081 +:105A6000324602202234FFF76DF8002020700EE449 +:105A70002DE9F0417A4E784C012538B1012821D02A +:105A8000022879D003287DD0FFDF20E400F05EFA01 +:105A9000FFF7C6FF207E00B1FFDF84F82150002011 +:105AA000ECF7CDFFA168481C04D001230022184662 +:105AB000EDF718F814F82E0F217806EB01110A689B +:105AC000012154E0FFF7ACFF0120ECF7B8FF94F898 +:105AD000210050B1A068401C07D014F82E0F217887 +:105AE00006EB01110A68062141E0207EDFF864819F +:105AF000002708F10208012803D002281ED0FFDF8A +:105B0000B5E7A777EDF789F898F80000032801D1E9 +:105B100065772577607D534951F8200094F820106F +:105B200051B948B161680123091A00221846ECF7FF +:105B3000D9FF022020769AE7277698E784F820504C +:105B400000F004FAA07F50B198F8010061680123C9 +:105B5000091A00221846ECF7C5FF257600E02776E3 +:105B600014F82E0F217806EB01110A680021BDE818 +:105B7000F041104700E005E036480078BDE8F0410C +:105B8000EDF7C2B9FFF74CFF14F82E0F217806EBA2 +:105B900001110A680521EAE710B52F4C94F82E0090 +:105BA000202800D1FFDF14F82E0F21782C4A02EBB9 +:105BB00001110A68BDE81040042110477CB5264C4D +:105BC000054694F82E00202800D1FFDFA068401C75 +:105BD00000D0FFDF94F82E00214901AA01EB00104C +:105BE000694690F90C002844EDF746F89DF9040049 +:105BF0000F2801DD012000E00020009908446168C1 +:105C0000084420F07F41A16094F82100002807D0CB +:105C100002B00123BDE8704000221846ECF762BFD5 +:105C20007CBD30B5104A0B1A541CB3EB940F1FD334 +:105C3000451AB5EB940F1BD3934203D9101A43189E +:105C40005B1C15E0954211D9511A0844401C43428F +:105C50000EE0000094000020000B00200000000077 +:105C60008008002068640200FF7F841EFFDF00239D +:105C7000184630BD0123002201460220ECF732BF56 +:105C80000220ECF7DCBEECF778BF2DE9FE4FED4CBF +:105C900005468A4694F82E00202800D1FFDFE94E01 +:105CA00094F82E10A0462046A6F5207202EB0114AF +:105CB00020218DF8001090F82D10376900EB81013C +:105CC000D8F8000091F82590284402AA01A90C36C2 +:105CD000ECF7D2FF9DF90800002802DD0198401C76 +:105CE0000190A0680199642D084451D3D64B00223D +:105CF0005B1B72EB02014BD36168411A21F07F41BB +:105D0000B1F5800F44D220F07F40706086F80AA081 +:105D100098F82D1044466B464A463046FFF7FBFA8A +:105D2000A8B3A068401C10D0ECF727FFA168081AA0 +:105D30000002C11700EB1160001202282ADD0120C9 +:105D4000ECF77DFE4FF0FF30A06094F82D009DF839 +:105D5000002020210F34FFF77EFBA17FB94A803A53 +:105D600002EB8111E27F01EB4201487054F80F0C05 +:105D7000284444F80F0C012020759DF800002028CD +:105D800003D0B2484078EDF7BFF801200EE401E0FF +:105D900000200BE47760FBE72DE9F047A94C0746AC +:105DA00094F82D00A4F1800606EB801010F817007F +:105DB00000B9FFDF94F82D50A046A54C24B1002176 +:105DC00040F6E800AFF3008040F6F40940F6FD0A23 +:105DD00006EB851616F81700012819D0042811D0F3 +:105DE00005280FD006280DD01CB100214846AFF37E +:105DF000008010F09DF8002CECD000215046AFF34D +:105E00000080E7E72A4639460120FEF79BFEF2E7CD +:105E10004FF0010A4FF00009454624B1002140F639 +:105E20000410AFF30080504600F06FF885F823901F +:105E300024B1002140F60910AFF3008095F82D0041 +:105E4000FFF7E4FA064695F8230028B1002CE4D0C9 +:105E5000002140F60F101FE024B1002140F613107E +:105E6000AFF3008005EB860000F1270133463A4688 +:105E70002630FFF7EEF924B1002140F61710AFF3FA +:105E8000008000F037F8824695F8230038B1002CE6 +:105E9000C3D0002140F61D10AFF30080BDE785F8A8 +:105EA0002D60012085F82300504600F02EF8002CCC +:105EB00004D0002140F62A10AFF30080BDE8F0873F +:105EC00030B504465F480D4690F82D005D49803995 +:105ED00001EB801010F8140000B9FFDF5D4800EB03 +:105EE0000410C57330BD574981F82D00012081F899 +:105EF0002300704710B5584808B1AFF30080EFF3A6 +:105F0000108000F0010072B610BD10B5002804D159 +:105F1000524808B1AFF3008062B610BD5048006827 +:105F2000C005C00D10D0103840B2002804DB00F1CD +:105F3000E02090F8000405E000F00F0000F1E02000 +:105F400090F8140D400970470820704710B53D4C7B +:105F500094F82400002804D1F5F7BCFE012084F851 +:105F6000240010BD10B5374C94F82400002804D04C +:105F7000F5F7D9FE002084F8240010BD10B51C6888 +:105F80005B68241A181A24F07F4420F07F40A14255 +:105F900006D8B4F5800F03D2904201D8012010BD7D +:105FA000002010BDD0E90032D21A21F07F43114405 +:105FB00021F07F41C0E9003170472DE9FC41844662 +:105FC000204815468038089C00EB85160F4616F8C9 +:105FD0001400012804D0022802D00020BDE8FC8172 +:105FE0000B46204A01216046FFF7C8FFF0B101AB24 +:105FF0006A4629463846FFF7B0F9B8B19DF8042043 +:106000009DF800102846FFF726FA06EB4401487079 +:106010009DF8000020280DD006EB400044702A4671 +:1060200021460320FEF78EFD0120D7E72A462146B0 +:106030000420F7E70348012100EB850000F8254F15 +:10604000C170ECE7000B0020FF1FA10794000020A7 +:106050000000000080080020000000000000000098 +:1060600004ED00E0FFFF3F002DE9F041044680070A +:106070004FF000054FF001060CD56B480560066037 +:1060800000F0E8F920B16948016841F480610160DD +:1060900024F00204E0044FF0FF3705D56448466061 +:1060A000C0F8087324F48054600003D5614805608B +:1060B00024F08044E0050FD55F48C0F80052C0F8D6 +:1060C00008735E490D60091D0D605C4A04210C32A5 +:1060D0001160066124F48074A00409D55848466014 +:1060E000C0F80052C0F808735648056024F4005404 +:1060F000C4F38030C4F3C031884200D0FFDF14F411 +:10610000404F14D050484660C0F808734F4886602E +:10611000C0F80052C0F808734D490D600A1D1660A2 +:106120008660C0F808730D60166024F440442005B2 +:106130000AD5484846608660C0F80873C0F84873BE +:106140004548056024F400640EF0A4FD4348044271 +:1061500000D0FFDFBDE8F081F0B50022202501234B +:106160004FEA020420FA02F1C9072DD051B20029EA +:1061700010DB00BF4FEA51174FEA870701F01F06F7 +:1061800007F1E02703FA06F6C7F88061BFF34F8FE7 +:10619000BFF36F8F0CDB00BF4FEA51174FEA870741 +:1061A00001F01F0607F1E02703FA06F6C7F8806240 +:1061B00004DB01F1E02181F8004405E001F00F016A +:1061C00001F1E02181F8144D02F10102AA42C9D384 +:1061D000F0BD10B5224C20600846F5F794FE20680B +:1061E000FFF742FF2068FFF7B7FF0EF079F900F0E4 +:1061F00092F90EF04FFD0EF08CFCECF751FEBDE86D +:1062000010400EF021BA10B5154C2068FFF72CFF96 +:106210002068FFF7A1FF0EF03DFDF5F773FF0020AA +:10622000206010BD0A207047FC1F00403C17004052 +:1062300000C0004004E501400080004004850040AB +:1062400000D0004004D5004000E0004000F00040D5 +:1062500000F5004000B0004008B50040FEFF0FFD13 +:106260009800002070B526490A680AB30022154636 +:1062700001244B685B1C4B600C2B00D34D600E79E6 +:1062800004FA06F30E681E420FD0EFF3108212F0EC +:10629000010272B600D001220C689C430C6002B966 +:1062A00062B649680160002070BD521C0C2AE0D320 +:1062B000052070BD4FF0E0214FF48000C1F80002CE +:1062C0007047EFF3108111F0010F72B64FF0010229 +:1062D00002FA00F20A48036842EA0302026000D1AF +:1062E00062B6E7E70648002101604160704701217E +:1062F000814003480068084000D00120704700003A +:106300009C00002001208107086070470121880758 +:1063100041600021C0F8001118480170704717490A +:106320000120087070474FF08040D0F8000101282C +:1063300003D012480078002800D001207047104890 +:106340000068C00700D0012070470D480C3000687D +:10635000C00700D00120704709481430006870471A +:10636000074910310A68D20306D5096801F0030114 +:10637000814201D10120704700207047A400002015 +:10638000080400404FF08050D0F830010A2801D0B6 +:10639000002070470120704700B5FFF7F3FF20B1E0 +:1063A0004FF08050D0F8340108B1002000BD01202A +:1063B00000BD4FF08050D0F830010E2801D00020F1 +:1063C0007047012070474FF08050D0F83001062808 +:1063D00003D0401C01D000207047012070474FF0CF +:1063E0008050D0F830010D2801D0002070470120E6 +:1063F00070474FF08050D0F83001082801D00020BD +:106400007047012070474FF08050D0F830011028BD +:1064100001D0002070470120704700B5FFF7F3FF5F +:1064200030B9FFF7DCFF18B9FFF7E3FF002800D011 +:10643000012000BD00B5FFF7C6FF38B14FF0805016 +:10644000D0F83401062803D3401C01D0002000BD41 +:10645000012000BD00B5FFF7B6FF48B14FF08050F6 +:10646000D0F83401062803D3401C01D0012000BD20 +:10647000002000BD00210170084670470146002041 +:1064800008707047EFF3108101F0010172B60278D5 +:10649000012A01D0012200E000220123037001B98A +:1064A00062B60AB1002070474FF400507047E9E728 +:1064B000EFF3108111F0010F72B64FF0000202707D +:1064C00000D162B600207047F2E700002DE9F041EC +:1064D00015460E460446002700F0EBF8A84215D3F7 +:1064E000002341200FE000BF94F84220A25CF25448 +:1064F00094F84210491CB1FBF0F200FB12115B1C36 +:1065000084F84210DBB2AB42EED3012700F0DDF895 +:106510003846BDE8F081724910B5802081F800044A +:106520007049002081F8420081F84100433181F830 +:10653000420081F84100433181F8420081F8410076 +:106540006948FFF797FF6848401CFFF793FFECF797 +:106550002FFCBDE8104000F0B8B8402070476148FB +:1065600000F0A7B80A4601465E48AFE740207047F2 +:106570005C48433000F09DB80A4601465948433014 +:10658000A4E7402101700020704710B5044655482B +:10659000863000F08EF82070002010BD0A460146BB +:1065A000504810B58630FFF791FF08B1002010BDAC +:1065B00042F2070010BD70B50C460646412900D9CD +:1065C000FFDF4A480068103840B200F054F8C5B206 +:1065D0000D2000F050F8C0B2854201D3012504E03F +:1065E000002502E00DB1ECF726FC224631463D487D +:1065F000FFF76CFF0028F5D070BD2DE9F0413A4F50 +:106600000025064617F1040757F82540204600F0FC +:1066100041F810B36D1CEDB2032DF5D33148433072 +:1066200000F038F8002825D02E4800F033F8002874 +:1066300020D02C48863000F02DF800281AD0ECF736 +:10664000D0FB2948FFF71EFFB0F5005F00D0FFDF49 +:10665000BDE8F0412448FFF72BBF94F841004121E9 +:10666000265414F8410F401CB0FBF1F201FB12005C +:106670002070D3E74DE7002804DB00F1E02090F81C +:10668000000405E000F00F0000F1E02090F8140D88 +:106690004009704710F8411F4122491CB1FBF2F339 +:1066A00002FB13114078814201D101207047002084 +:1066B000704710F8411F4078814201D3081A02E068 +:1066C000C0F141000844C0B2704710B50648FFF75A +:1066D000D9FE002803D1BDE81040ECF76DBB10BD1A +:1066E0000DE000E0300B0020A800002004ED00E0E9 +:1066F00070B5154D2878401CC4B26878844202D029 +:1067000000F0DBFA2C7070BD2DE9F0410E4C4FF01B +:10671000E02600BF00F0C6FA0FF00AFC40BF20BF21 +:10672000677820786070D6F80052EAF734FE854327 +:1067300005D1D6F8040210B92078B842EAD000F0AA +:10674000ACFA0020BDE8F081B80000202DE9F0414E +:1067500001264FF0E02231034FF000084046C2F816 +:106760008011BFF34F8FBFF36F8F204CC4F800012F +:106770000C2000F02EF81E4D2868C04340F300178F +:10678000286840F010002860C4F8046326607F1C6D +:1067900002E000BF0FF0CCFBD4F800010028F9D0D4 +:1067A0001FB9286820F0100028601248056866604C +:1067B000C4F80863C4F800810C2000F00AF82846E9 +:1067C000BDE8F08110B50446FFF7C0FF206000204F +:1067D00010BD002809DB00F01F0201219140400993 +:1067E000800000F1E020C0F88012704700C0004037 +:1067F00010ED00E008C500402DE9F047FF4C0646CB +:10680000FF21A06800EB061211702178FF2910D03B +:106810004FF0080909EB011109EB06174158C0595F +:1068200000F0F4F9002807DDA168207801EB0611DB +:1068300008702670BDE8F08794F8008045460DE0AA +:10684000A06809EB05114158C05900F0DFF9002894 +:1068500006DCA068A84600EB08100578FF2DEFD1F4 +:10686000A06800EB061100EB08100D700670E1E760 +:10687000F0B5E24B0446002001259A680C269B786F +:106880000CE000BF05EB0017D75DA74204D106EB73 +:106890000017D7598F4204D0401CC0B28342F1D8B0 +:1068A000FF20F0BD70B5FFF7EEF9D44C0825227833 +:1068B000A16805EB0212895800F0A8F9012808DD4B +:1068C0002178A06805EB01114058BDE87040FFF742 +:1068D000D1B9FFF7A2F8BDE87040ECF715BB2DE980 +:1068E000F041C64C2578FFF7CEF9FF2D6ED04FF062 +:1068F0000808A26808EB0516915900F087F90228EC +:10690000A06801DD80595DE000EB05110978217078 +:10691000022101EB0511425C5AB1521E42548159C9 +:1069200001F5800121F07F4181512846FFF764FF86 +:1069300034E00423012203EB051302EB051250F8A7 +:1069400003C0875CBCF1000F10D0BCF5007F10D9EC +:10695000CCF3080250F806C00CEB423C2CF07F4C04 +:1069600040F806C0C3589A1A520A09E0FF21815420 +:106970000AE0825902EB4C3222F07F42825100221F +:1069800042542846FFF738FF0C21A06801EB05119F +:106990004158E06850F82720384690472078FF2873 +:1069A00014D0FFF770F92278A16808EB021245466F +:1069B000895800F02BF9012893DD2178A06805EBB8 +:1069C00001114058BDE8F041FFF754B9BDE8F0812E +:1069D000F0B51D4614460E460746FF2B00D3FFDFD9 +:1069E000A00700D0FFDF8548FF210022C0E9024751 +:1069F000C57006710170427082701046012204E079 +:106A000002EB0013401CE154C0B2A842F8D3F0BD21 +:106A100070B57A4C064665782079854200D3FFDF51 +:106A2000E06840F825606078401C6070284670BDC2 +:106A30002DE9FF5F1D468B460746FF24FFF723F92C +:106A4000DFF8B891064699F80100B84200D8FFDF98 +:106A500000214FF001084FF00C0A99F80220D9F8F4 +:106A600008000EE008EB0113C35CFF2B0ED0BB4205 +:106A700005D10AEB011350F803C0DC450CD0491CCA +:106A8000C9B28A42EED8FF2C02D00DE00C46F6E7E0 +:106A900099F803108A4203D1FF2004B0BDE8F09FAB +:106AA0001446521C89F8022008EB04110AEB041268 +:106AB000475440F802B00421029B0022012B01EB55 +:106AC00004110CD040F801204FF4007808234FF057 +:106AD000020C454513D9E905C90D02D002E0455025 +:106AE000F2E7414606EB413203EB041322F07F420A +:106AF000C250691A0CEB0412490A81540BE005B923 +:106B0000012506EB453103EB041321F07F41C15011 +:106B10000CEB0411425499F800502046FFF76CFE2C +:106B200099F80000A84201D0FFF7BCFE3846B4E750 +:106B300070B50C460546FFF7A6F8064621462846DE +:106B4000FFF796FE0446FF281AD02C4D082101EBD2 +:106B50000411A8684158304600F058F800F58050FC +:106B6000C11700EBD14040130221AA6801EB0411C8 +:106B7000515C09B100EB4120002800DC012070BD10 +:106B8000002070BD2DE9F04788468146FFF770FE72 +:106B90000746FF281BD0194D2E78A8683146344689 +:106BA00005E0BC4206D0264600EB06121478FF2C06 +:106BB000F7D10CE0FF2C0AD0A6420CD100EB01105B +:106BC00000782870FF2804D0FFF76CFE03E0002057 +:106BD00030E6FFF755F841464846FFF7A9FF012385 +:106BE000A968024603EB0413FF20C854A878401E8E +:106BF000B84200D1A87001EB041001E0FC0B0020AA +:106C000001EB061100780870104613E6081A00021E +:106C1000C11700EB116000127047000010B5202072 +:106C200000F07FF8202000F08DF84D49202081F8F9 +:106C30000004EAF7AEFB4B4908604B48D0F8041358 +:106C400041F00101C0F80413D0F8041341F0807141 +:106C5000C0F80413424901201C39C1F8000110BDDD +:106C600010B5202000F05DF83E480021C8380160D2 +:106C7000001D01603D4A481E10603B4AC2F80803EF +:106C8000384B1960C2F80001C2F860013849086049 +:106C9000BDE81040202000F055B834493548091FA0 +:106CA0000860704731493348086070472D48C8383C +:106CB0000160001D521E026070472C4901200860CF +:106CC000BFF34F8F70472DE9F0412849D0F8188065 +:106CD00028480860244CD4F800010025244E6F1E7B +:106CE00028B14046EAF7AEFA40B9002111E0D4F8E5 +:106CF000600198B14046EAF7A5FA48B1C4F80051DE +:106D0000C4F860513760BDE8F041202000F01AB8A7 +:106D100031684046BDE8F0410FF014B9FFDFBDE82F +:106D2000F08100280DDB00F01F0201219140400995 +:106D3000800000F1E020C0F88011BFF34F8FBFF357 +:106D40006F8F7047002809DB00F01F02012191407E +:106D50004009800000F1E020C0F880127047000078 +:106D600020E000E0C8060240000002401805024092 +:106D700000040240010000015E48002101704170E2 +:106D800010218170704770B5054616460C460220EA +:106D9000EBF7B0FD5749012008705749F01E086015 +:106DA00056480560001F046070BD10B50220EBF767 +:106DB000A1FD50490120087051480021C0F8001180 +:106DC000C0F80411C0F808114E494FF400000860E3 +:106DD00010BD48480178D9B14B4A4FF40001116009 +:106DE0004749D1F800310022002B1CBFD1F80431F3 +:106DF000002B02D0D1F8081119B142704FF01001E8 +:106E000004E04FF00101417040490968817002704F +:106E10004FF00000EBF76EBD10B50220EBF76AFDF6 +:106E200034480122002102703548C0F80011C0F832 +:106E30000411C0F80811026010BD2E480178002925 +:106E400004BF407870472E48D0F80011002904BFD5 +:106E500002207047D0F8001100291CBFD0F804119F +:106E6000002905D0D0F80801002804BF0120704790 +:106E7000002070471F4800B50278214B4078C82198 +:106E8000491EC9B282B1D3F800C1BCF1000F10D0C5 +:106E9000D3F8000100281CBFD3F8040100280BD050 +:106EA000D3F8080150B107E0022802D0012805D02C +:106EB00002E00029E4D1FFDF002000BD012000BD79 +:106EC0000C480178002904BF807870470C48D0F83E +:106ED000001100291CBFD0F80411002902D0D0F8FD +:106EE000080110B14FF01000704708480068C0B2A8 +:106EF00070470000BA00002010F5004008F500407F +:106F000000F0004004F5014008F5014000F40040A5 +:106F10005748002101704170704770B5064614460D +:106F20000D460120EBF7E6FC52480660001D0460A8 +:106F3000001D056050490020C1F850014F49032051 +:106F4000086050494E480860091D4F48086070BDF0 +:106F50002DE9F041054646480C46012606704B498E +:106F600045EA024040F080700860FFF72CFA0028E4 +:106F700004BF474804600027464CC4F804714749E1 +:106F800045480860002D02BFC4F800622660BDE8D5 +:106F9000F081012D18BFFFDFC4F80072266041495F +:106FA0003F480860BDE8F0813148017871B13B4A43 +:106FB000394911603749D1F804210021002A08BF5E +:106FC000417002D0384A1268427001700020EBF71D +:106FD00091BC27480178002904BF407870472D48AC +:106FE000D0F80401002808BF70472F480068C0B2DD +:106FF0007047002808BF70472DE9F0471C4800780B +:10700000002808BFFFDF234CD4F80401002818BF74 +:10701000BDE8F0874FF00209C4F80493234F3868A5 +:10702000C0F30018386840F010003860D4F804014C +:10703000002804BF4FF400454FF0E02608D100BF00 +:10704000C6F880520EF074FFD4F804010028F7D07F +:10705000B8F1000F03D1386820F010003860C4F890 +:107060000893BDE8F0870B49012088607047000055 +:10707000BD00002008F50040001000401CF5004055 +:107080005011004098F501400CF0004004F500401C +:1070900018F5004000F000400000020308F5014030 +:1070A0000000020204F5014000F4004010ED00E091 +:1070B000012804BF41F6A4707047022804BF41F2C2 +:1070C00088307047042804BF46F21800704708282B +:1070D00004BF47F2A030704700B5FFDF41F6A4704F +:1070E00000BD10B5FE4800240121447004704472B4 +:1070F0008472C17280F82540C462846380F83C4089 +:1071000080F83D40FF2180F83E105F2180F83F105D +:1071100018300FF00FF8F349601E0860091D086071 +:10712000091D0C60091D0860091D0C60091D08601F +:10713000091D0860091D0860091D0860091D086017 +:10714000091D0860091D0860091D0860091D086007 +:1071500010BDE54948607047E448016801F00F013F +:10716000032904BF01207047016801F00F010429C1 +:1071700004BF02207047016801F00F01052904D007 +:10718000006800F00F00062807D1D948006810F009 +:10719000060F0CBF08200420704700B5FFDF012058 +:1071A00000BD012812BF022800207047042812BF2A +:1071B00008284FF4C870704700B5FFDF002000BDFD +:1071C000012804BF28207047022804BF18207047F8 +:1071D000042812BF08284FF4A870704700B5FFDFDD +:1071E000282000BD70B5C148016801F00F010329D6 +:1071F00008BF012414D0016801F00F01042904BF65 +:10720000022418210DD0016801F00F0105294BD08F +:10721000006800F00F0006281CBFFFDF012443D0E8 +:107220002821AF48C26A806A101A0E18082C04BFC1 +:107230004EF6981547F2A0302DD02046042C08BFFA +:107240004EF628350BD0012808BF41F6A47506D0AC +:10725000022C1ABFFFDF41F6A47541F28835012CDC +:1072600008BF41F6A47016D0022C08BF002005D03C +:10727000042C1ABFFFDF00204FF4C8702D1A022C17 +:1072800008BF41F2883006D0042C1ABFFFDF41F658 +:10729000A47046F21800281A4FF47A7100F2E73011 +:1072A000B0FBF1F0304470BD9148006810F0060F5B +:1072B0000CBF082404244FF4A871B2E710B58D491F +:1072C000026801F118040A6342684A63007A81F88F +:1072D0003800207E48B1207FF7F72BF9A07E011CF3 +:1072E00018BF0121207FF7F713F9607E002808BF3F +:1072F00010BD607FF7F71DF9E07E011C18BF01216A +:10730000607FBDE81040F7F703B930B500240546AB +:1073100001290AD0022908BF4FF0807405D0042942 +:1073200016BF08294FF0C744FFDF44F4847040F4CF +:1073300080107149086045F4403001F1040140F0CB +:107340000070086030BD30B50024054601290AD020 +:10735000022908BF4FF0807405D0042916BF082900 +:107360004FF0C744FFDF44F4847040F4801062495A +:10737000086045F4403001F1040140F000700860FD +:107380005E48D0F80001002818BFFFDF30BD2DE9AE +:10739000F04102274FF0E02801250024C8F8807151 +:1073A000BFF34F8FBFF36F8F554804600560FFF741 +:1073B00051F8544E18B1306840F480603060FFF7E7 +:1073C00002F838B1306820F0770040F0880040F0D3 +:1073D000004030604D494C4808604FF01020806CF0 +:1073E000B0F1FF3F04D04A490A6860F317420A60CF +:1073F000484940F25B600860091F40F203100860D2 +:10740000081F056039490320086043480560444A65 +:1074100042491160444A43491160121F43491160B7 +:10742000016821F440710160016841F480710160DC +:10743000C8F8807231491020C1F80403284880F848 +:107440003140C46228484068002808BFBDE8F08188 +:10745000BDE8F0410047274A0368C2F81A30808827 +:10746000D08302F11800017270471D4B10B51A7AD3 +:107470008A4208D101460622981CF6F7BFFF002871 +:1074800004BF012010BD002010BD154890F8250054 +:107490007047134A517010707047F0B50546800070 +:1074A00000F1804000F580508B88C0F820360B78C2 +:1074B000D1F8011043EA0121C0F8001605F10800D7 +:1074C000012707FA00F61A4C002A04BF2068B043CF +:1074D00004D0012A18BFFFDF20683043206029E074 +:1074E000240C0020000E0040C000002010150040B9 +:1074F000141400400C0C0020141500400010004033 +:10750000FC1F00403C1700402C0000897817004009 +:107510008C150040381500405016004000000E0445 +:1075200008F5014040800040A4F5014010110040E2 +:1075300040160040206807FA05F108432060F0BDBE +:107540000DF0F8BCF94890F832007047F84AC1785D +:1075500011600068F749000208607047252808BFDD +:1075600002210ED0262808BF1A210AD0272808BFDA +:10757000502106D00A2894BF0422062202EB4001C3 +:10758000C9B2ED4A1160ED49086070472DE9F04736 +:10759000E64CA17A012956D0022918BFBDE8F08730 +:1075A000627E002A08BFBDE8F087012950D0E17E45 +:1075B000667F0D1C18BF01255FF02401DFF8809362 +:1075C0004FF00108C9F84C80DFF878A34718DAF8C3 +:1075D0000000B84228BFFFDF0020C9F84C01CAF8FC +:1075E0000070300285F0010140EA015040F00311C3 +:1075F00094F82000820002F1804202F5C042C2F8F5 +:107600001015D14901EB8001A07FC20002F1804238 +:1076100002F5F832C2F81415CC4BC2F81035E27FEF +:10762000D30003F1804303F5F833C3F81415C849B8 +:10763000C3F8101508FA00F008FA02F10843C5492A +:107640000860BDE8F087227E002AAED1BDE8F08751 +:10765000A17E267F002914BF012500251121ADE759 +:107660002DE9F041BC4E804603200D46C6F80002CD +:10767000B849BA48086028460DF09BFCAB4F01247E +:10768000B8F1000F04BFBC72346026D0B8F1010F0E +:1076900023D1B348006860B915F00C0F09D0C6F8C3 +:1076A0000443012000F0B0FEF463346487F83C40EA +:1076B00002E0002000F0A8FE28460DF062FD022046 +:1076C000B872FEF7B7FE38B9FEF7C4FE20B9A54878 +:1076D000016841F4C021016074609948C46499480C +:1076E00000682946BDE8F04150E72DE9F0479A4E81 +:1076F000814603200D46C6F80002DFF858829748FD +:10770000C8F8000008460DF054FC28460DF039FD7D +:107710000124864FB9F1000F03D0B9F1010F0AD04F +:1077200026E0BC72B86B40F48010B8634FF4801050 +:10773000C8F800001CE00220B872B86B40F40010DA +:10774000B8634FF40010C8F800008548006860B9BD +:1077500015F00C0F09D0C6F80443012000F054FEC8 +:10776000F463346487F83C4002E0002000F04CFEF3 +:10777000EBF79EFA2946BDE8F04707E72DE9F84FF9 +:10778000754C8246032088461746C4F80002DFF88D +:10779000C4917248C9F8000010460DF00AFCDFF8E9 +:1077A000C8B1624E0125BAF1000F04BFCBF800400A +:1077B000B57204D0BAF1010F18BFFFDF2FD06B48AC +:1077C000C0F800806B496A480860B06B40F4002044 +:1077D000B063D4F800321021C4F808130020C4F8B4 +:1077E0000002DFF894C18A03CCF80020C4F800013D +:1077F000C4F80C01C4F81001C4F80401C4F8140161 +:10780000C4F818015D4800680090C4F80032C9F857 +:107810000020C4F80413BAF1010F09D01BE0384668 +:107820000DF0AFFC5648CBF800000220B072C6E75E +:107830004B48006860B917F00C0F09D0C4F8045326 +:10784000012000F0E1FDE563256486F83C5002E08C +:10785000002000F0D9FD4FF40020C9F8000038489E +:10786000C56438480068404528BFFFDF39464046B8 +:10787000BDE8F84F8AE62DE9F0412C4C064600257C +:1078800094F8310017468846002808BFFFDF16B17C +:10789000012E16D021E094F83100012808D094F888 +:1078A0003020394640460DF099FBE16A451814E056 +:1078B00094F830103A4640460DF0CEFBE16A451888 +:1078C0000BE094F8310094F8301001283A46404615 +:1078D00009D00DF0E9FBE16A45183A4629463046E1 +:1078E000BDE8F0414AE70DF099FBE16A4518F4E77D +:1078F0002DE9F84F184CD4F8000220F00309D4F811 +:1079000004034FF0100AC0F30018C4F808A30026BF +:10791000C4F8006218481B490160044D0127A97A88 +:10792000012931D0022932D044E00000240C00208B +:10793000241500401C150040081500405415004057 +:10794000008000404C850040006000404C810040B9 +:107950001011004004F50140001000400000040434 +:107960008817004068150040ACF50140488500408C +:1079700048810040A8F5014008F501401811004079 +:107980000410004000000E04297E11B912E0697E47 +:1079900081B1A97FEA7F07FA01F107FA02F21143E8 +:1079A000016095F82000800000F1804000F5C040A3 +:1079B000C0F81065FF208DF80000C4F81061276141 +:1079C00005E000BF9DF80000401E8DF800009DF806 +:1079D000000018B1D4F810010028F3D09DF8000081 +:1079E000002808BFFFDFC4F81061002000F00CFD84 +:1079F0006E72AE72EF72C4F80092B8F1000F18BF49 +:107A0000C4F804A3BDE8F88FFF2008B58DF8000086 +:107A1000FE480021C0F810110121016105E000BFFE +:107A20009DF80010491E8DF800109DF8001019B146 +:107A3000D0F810110029F3D09DF80000002808BFED +:107A4000FFDF08BD0068F24920F07F400860704702 +:107A50004FF0E0200221C0F8801100F5C070BFF3A4 +:107A60004F8FBFF36F8FC0F80011704710B490E8CC +:107A70001C10E84981E81C10D0E90420C1E9042069 +:107A800010BC70474FF0E0210220C1F800017047A0 +:107A9000E14908707047E1490860704770B50546D4 +:107AA000EBF706F9DE4C2844E16A884298BFFFDF15 +:107AB00001202074EBF7FCF8DA4A284400216061C9 +:107AC000C2F84411D8490860A06BD84940F480003E +:107AD000A063D001086070BD70B5D14C0546D44A92 +:107AE0000220207410680E4600F00F00032808BF23 +:107AF000012213D0106800F00F00042808BF0222F2 +:107B00000CD0106800F00F0005281BD0106800F0A2 +:107B10000F0006281CBFFFDF012213D094F83100AC +:107B200094F83010012815D028460DF004FBBD490B +:107B300060610020C1F844016169E06A0844BA4903 +:107B4000086070BDBB48006810F0060F0CBF08222B +:107B50000422E3E7334628460DF0BBFAE7E7B649CF +:107B60004FF480000860AE48816B21F4800181638E +:107B7000002101747047C20002F1804202F5F83220 +:107B8000AE4BC2F81035C2F8141501218140A74848 +:107B90000160A348826B114381637047A1480121B2 +:107BA0004160C1600021C0F844119F4801609C48B9 +:107BB000C1627047A24908609448D0F8001241F0B1 +:107BC0004001C0F8001270479048D0F8001221F030 +:107BD0004001C0F800129A490020086070478B48A5 +:107BE000D0F8001221F01001C0F8001201218161CB +:107BF00070478B49FF2081F83E0084480021C0F87F +:107C00001C11D0F8001241F01001C0F800127047AA +:107C10007E4981B0D1F81C21012A0DD0804991F80C +:107C20003E10FF290DBF00204942017001B008BF7E +:107C30007047012001B07047824A126802F07F024B +:107C4000524202700020C1F81C017F480068009079 +:107C5000EFE7F0B517460C00064608BFFFDF704D92 +:107C600014F0010F2F731CBF012CFFDF002E0CBF7F +:107C7000012002206872EC7201281CBF0228FFDF7D +:107C8000F0BD674981F83F0070472DE9F84F624821 +:107C90000078042828BFFFDF614CDFF89C815B4D32 +:107CA00094F83C0000260127E0B1D5F8040110F15A +:107CB000000918BF4FF00109D5F81001002818BFBE +:107CC000012050EA09014FF4002B17D08021C5F89C +:107CD0000813C8F800B084F83C6090F0010F18BF9A +:107CE000BDE8F88FDFF83C91D9F84C0100287DD031 +:107CF000A07A01287BD002287AD0D8E0D5F80001FC +:107D0000DFF840A130B3C5F800616F61FF2000903B +:107D100002E0401E009005D0D5F81C010028009814 +:107D2000F7D000B9FFDFDAF8000000F07F0A94F81E +:107D30003F0050453CBF002000F066FB84F83EA0A9 +:107D4000C5F81C61C5F808733F48006800902F64AF +:107D5000AF6302E0B9F1000F03D0B9F1000F2BD0EF +:107D600087E0DAF8000000F07F0184F83E10C5F8E3 +:107D70001C6194F83D0048B194F83F00884218D245 +:107D8000002000F041FB2F64AF6312E02F48006831 +:107D900094F83F3082B2000C994203D30F2A06D9DF +:107DA000022804D2012000F02FFB2F6401E02F6491 +:107DB000AF632548006800908022C5F80423194865 +:107DC000876423490B68A1F1040CDCF800C043F67A +:107DD00098273B44634543D20A6842F210731A4421 +:107DE0000A60C0F848611B481B4902E05FE047E0B9 +:107DF00049E00860091F194808600C48C0F800B045 +:107E0000A06B40F40020A063BDE8F88F0010004094 +:107E10003C1500400C0C0020C00000200415004060 +:107E2000240C0020008000404485004004F50140FF +:107E3000101500401414004008F5014004110040E2 +:107E400060150040481500401C11004074150040AA +:107E50004885004014100040ACF5014048810040C6 +:107E60000E60C0F84861C5F80823C8F800B0C0F833 +:107E700048618020C5F80803C8F800B0BDE8F88F55 +:107E8000207E10B913E0607E88B1A07FE17F07FA01 +:107E900000F007FA01F10843C8F8000094F8200048 +:107EA000800000F1804000F5C040C0F81065F74840 +:107EB000A16B0160A663217C002019B1D9F844119F +:107EC000012900D00021A27A012A6DD0022A73D0A4 +:107ED000D5F8101101290CBF1021002141EA00083A +:107EE000EB48016811F0FF0F03D0D5F814110129F8 +:107EF00000D0002184F83210006810F0FF0F03D08A +:107F0000D5F81801012800D0002084F83300E1489A +:107F1000006884F83400FEF790FF012818BF0020A5 +:107F200084F83500C5F80061C5F80C61C5F810612A +:107F3000C5F80461C5F81461C5F81861D648006831 +:107F40000090D648C0F84461D5480068DFF85493E3 +:107F50000090D9F80000A062A9F104000068E06276 +:107F6000D148016801F00F01032908BF012013D097 +:107F7000016801F00F01042908BF02200CD001683C +:107F800001F00F01052926D0006800F00F00062837 +:107F90001CBFFFDF01201ED084F83000A07A84F8D7 +:107FA000310002282CD11EE0D5F80C01012814BFA5 +:107FB000002008208CE7FFE7D5F80C01012814BF4A +:107FC00000200220B94A1268012A14BF04220022AC +:107FD000104308437CE7B648006810F0060F0CBF5A +:107FE00008200420D8E7607850B1B24909680978C0 +:107FF0000840217831EA000008BF84F8247001D0DD +:1080000084F82460DFF8B0A218F0020F06D0EAF777 +:108010004FFEA16A081ADAF81010884718F0010F0D +:1080200018BF4FF0000B0DD0EAF742FEE16ADAF814 +:108030001420081A59469047A048007810F0010F04 +:108040002FD10CE018F0020F18BF4FF0010BEBD14D +:1080500018F0080F18BF4FF0020BE5D1ECE7DFF87E +:1080600054B2DBF80000007800F00F00072828BFAA +:1080700084F8256015D2DBF80000062200F1090122 +:10808000A01CF6F7BBF940B9207ADBF8001009789C +:10809000B0EBD11F08BF012001D04FF0000084F8E1 +:1080A0002500E17A4FF0000011F0020F1CBF18F01C +:1080B000020F18F0040F19D111F0100F1CBF94F823 +:1080C0003320002A02D094F835207AB111F0080F3D +:1080D0001CBF94F82420002A08D111F0040F02D00C +:1080E00094F8251011B118F0010F01D04FF00100E4 +:1080F000617A19B168B1FFF7FBFB10E06348704982 +:108100000160D5F8000220F00300C5F80002E77214 +:1081100005E001290AD0022918BFFFDF0DD018F0B1 +:10812000010F14D0DAF80000804745E06672E7726C +:10813000A7729621227B002006E06672E772022079 +:10814000A072227B96210120FFF795FBE7E718F04C +:10815000020F2AD018F0040F21D1FEF76BF9F0B905 +:10816000FEF778F9D8B957480168001F0068C0F3D6 +:10817000006CC0F3425500F00F03C0F30312C0F3CC +:108180000320BCF1000F0AD0002B1CBF002A0028DE +:1081900005D1002918BF032D38BF48F0040827EA8D +:1081A0009800DAF80410884706E018F0080F18BFA6 +:1081B000DAF8080024D08047A07A022818BFBDE86A +:1081C000F88F207C002808BFBDE8F88F3349C1F83C +:1081D000446102281CD0012818BFFFDFE16A6069F2 +:1081E000884298BFFFDF6069C9F80000A06B4FF4B8 +:1081F000800140F48000A06333480160BDE8F88F3F +:1082000018F0100F14BFDAF80C00FFDFD3D1D3E75A +:108210006169E06A0844E7E738B52C490446022062 +:10822000887201212046FFF7B1F91E4A04F13D0092 +:1082300010601A4B0020C3F844012549C1F8000121 +:10824000C1F80C01C1F81001C1F80401C1F8140112 +:10825000C1F8180110480068009001209864101DB2 +:1082600000681168884228BFFFDF38BD2DE9F84358 +:10827000164A88460024917A0125044F012902D02C +:10828000022927D039E0117E31BB36E008F50140E4 +:1082900040160040101400401811004000800040BB +:1082A0004481004044850040101500400014004007 +:1082B00014140040041500400C0C0020C0000020E5 +:1082C000000004045414004004F50140240C002074 +:1082D00000100040517E81B1917FD37F05FA01F1FA +:1082E00005FA03F31943396092F82010890001F16F +:1082F000804101F5C041C1F8104506460220907248 +:1083000001213046FFF742F9504906F13D0008606F +:108310004F4AC2F844414F48C0F80041C0F80C41F0 +:10832000C0F81041C0F80441C0F81441C0F8184129 +:108330004948006800909564081D006809688842F3 +:1083400028BFFFDFB8F1000F1CBF4FF400303860CA +:10835000BDE8F883022810B50DD0012804BF42F60D +:10836000CE3010BD042817BF082843F6A440FFDF15 +:1083700041F66A0010BDFEF70FF830B9FEF723F89A +:10838000002808BF41F6583001D041F2643041F274 +:108390009A01084410BD2F4910B50020C1F8000211 +:1083A0002F492E48086030492E480860091D2F4883 +:1083B0000860091D2E480860091D2E480860091D27 +:1083C0002D480860091D2D48086001200CF0F1FDC2 +:1083D0002B494FF43810086010BD21494FF4381074 +:1083E000086070472748016803291BBF00680228FE +:1083F000012000207047234801680B291BBF00683B +:108400000A280120002070471F490968C9B91F4A7E +:108410001F49136870B123F0820343F07D0343F0DA +:10842000004313600A6822F0100242F0600242F03A +:10843000004205E023F0004313600A6822F0004286 +:108440000A60144981F83D007047000044850040EF +:10845000008000400010004018110040000004049B +:1084600008F501401011004098F50140041000404B +:1084700044810040141000401C11004010100040C6 +:1084800004F5014050150040881700403C1700409B +:108490007C170040240C002010B540482222002107 +:1084A000F6F703F83D480024017821F0100101702F +:1084B000012105F055FF3A494FF6FF7081F822403F +:1084C000888438490880488010BD704734498A8CB8 +:1084D000824218BF7047002081F822004FF6FF70DB +:1084E000888470472D49016070472E490880704785 +:1084F0002B498A8CA2F57F43FF3B03D0002101600A +:108500000846704791F822202549012A1ABF0160C8 +:10851000012000207047224901F1220091F8222019 +:10852000012A04BF00207047012202701D48008804 +:108530008884104670471B49488070471849194B7A +:108540008A8C5B889A4206D191F82220002A1EBFAD +:10855000016001207047002070471148114A818C4A +:108560005288914209D14FF6FF71818410F8221F81 +:1085700019B10021017001207047002070470848A0 +:10858000084A818C5288914205D190F82200002837 +:108590001CBF002070470120704700008A0C00209B +:1085A000640C0020C80000207047584A012340B1E5 +:1085B000012818BF70471370086890608888908100 +:1085C000704753700868C2F802008888D0807047EE +:1085D0004E4A10B1012807D00EE0507860B1D2F8B1 +:1085E00002000860D08804E0107828B19068086024 +:1085F000908988800120704700207047434910B15E +:10860000012803D006E0487810B903E0087808B1E3 +:10861000012070470020704730B58DB00C460546EC +:108620000D22002104A8F5F740FFE0788DF81F0027 +:1086300020798DF81E0060798DF81D002868009063 +:1086400068680190A8680290E868039068460BF09B +:10865000E5FF20789DF82F1088420CD160789DF8B6 +:108660002E10884207D1A0789DF82D10884202BFB5 +:1086700001200DB030BD00200DB030BD30B50C462E +:1086800005468DB04FF0030104F1030012B1FDF770 +:1086900073FF01E0FDF78FFF60790D2220F0C0002D +:1086A00040F040006071002104A8F5F7FEFEE0787C +:1086B0008DF81F0020798DF81E0060798DF81D005F +:1086C0002868009068680190A8680290E8680390A4 +:1086D00068460BF0A3FF9DF82F0020709DF82E0038 +:1086E00060709DF82D00A0700DB030BD10B5002950 +:1086F00004464FF0060102D0FDF73EFF01E0FDF712 +:108700005AFF607920F0C000607110BDCC000020DD +:10871000FE48406870472DE9F0410F460646014685 +:108720001446012006F0CFF8054696F86500FEF7DE +:10873000BFFC4AF2B12108444FF47A71B0FBF1F06A +:10874000718840F271225143C0EB4100001BA0F23E +:10875000673402F0D1FF002818BF1E3CAF4234BF7F +:1087600028463846A04203D2AF422CBF3C462C4696 +:108770007462BDE8F0812DE9FF4F93B0044690F894 +:10878000650088460F90DDE9151008431190E04818 +:10879000002705780C2D28BFFFDFDE4E36F8159038 +:1087A00094F88C510C2D28BFFFDFDA4830F8150003 +:1087B000484480B2009094F87D000D280CBF012041 +:1087C00000200A901598002804BF94F82C01032873 +:1087D0002BD10A9848B3B4F8AE01404525D1D4F85E +:1087E0003401C4F82001608840F2E2414843C4F8F3 +:1087F0002401B4F87A01B4F806110844C4F8280139 +:10880000204602F083FFB4F8B201E08294F8B00190 +:108810006075B4F8B4016080B4F8B601A080B4F813 +:10882000B801E080022084F82C01D4F884010E9075 +:10883000D4F880010D90B4F80661B4F87801D4F84A +:1088400074110591159921B194F8401151B100F0BE +:10885000D6B804F58071069174310B9104F5B075AA +:10886000091D07E004F5AA710691091D0B9104F595 +:10887000A275091D0C91B4F87010A8EB0000A8EBCC +:1088800001010FFA80F90FFA81FBB9F1000F05DA47 +:10889000D4F8700105900120D94611909C484FF002 +:1088A000000A0079A8B3F3F753FB90B3B4F81801AA +:1088B00002282ED394F82C0102282AD094F84301E0 +:1088C00038BB94F88C0100900C2828BFFFDF91483A +:1088D000009930F8110000F5C86080B2009094F85B +:1088E0002C0101287ED0608840F2E2414843009983 +:1088F00001F01BF9D4F8342180B206EB0B01A1EB97 +:108900000901821A01FB02AAC4F83401012084F88B +:10891000430194F82C01002865D0012800F00B8257 +:10892000022800F06A81032818BFFFDF00F03D82B3 +:10893000A7EB0A010598FCF76CF90B99012640F2A8 +:10894000712208600C98A0F80080002028702E7119 +:108950000B980068A8606188D4F834015143C0EBDB +:1089600041006B49A0F23730C8618969814287BFF5 +:1089700006990860069801600698616A00680844D4 +:1089800000F2A710E86002F0B7FE10B1E8681E30F0 +:10899000E8606E71B4F8F000A0EB080000B20028A7 +:1089A000C4BF032068710A980028169800F05F82FF +:1089B000E0B100BFB4F8181100290CBF0020B4F8D2 +:1089C0001A01A4F81A0194F81C21401C5043884253 +:1089D0000CD26879401E002808DD6E71B4F81A01C7 +:1089E000401C01E00FE05AE0A4F81A011598002895 +:1089F00000F0608294F84001002800F0578217B020 +:108A00000220BDE8F08F94F8800003283DD03F4855 +:108A100094F8651090F8300005F019FAE28A40F2F7 +:108A20007121514300EB4100CDF81000D4F824012E +:108A3000009901F07AF8D4F82021D4F82811821A8C +:108A400001FB02AAC4F820010099049801F06DF816 +:108A5000D4F83011C4F83001411A8A44608840F2D9 +:108A6000E2414843009901F060F806EB0B01D4F8AD +:108A70002821A1EB0901891AD4F83421C4F8340162 +:108A8000821A491E01FB02AA40E7E18A40F27122E4 +:108A9000D4F82401514300EB41000490C6E70D983F +:108AA000002808BFFFDF94F86510184890F83000E0 +:108AB00005F0CDF90890E08A40F271214143089811 +:108AC00000EB4100009901F030F8C4F830016088F3 +:108AD00040F2E2414843009901F027F8C4F834011C +:108AE00086B221460120D4F8289005F0ECFE074616 +:108AF00094F86500FEF7DCFA4AF2B12108444FF41D +:108B00007A7BB0FBFBF0618806E00000AC0C002033 +:108B1000DC0000208064020040F271225143C0EB6F +:108B20004100801BA0F2673602F0E6FD002818BF66 +:108B30001E3EB94534BF38464846B04203D2B94517 +:108B40002CBF4E463E46666294F86500FEF729FB50 +:108B500000F2E140B0FBFBF10D980F1894F86500AE +:108B6000FEF71FFB064694F86500FEF7A1FA3044B5 +:108B70004AF2AB310844B0FBFBF1E08A40F27122CB +:108B800042430898D4F8306100EB4200401A801B41 +:108B90003844A0F12007607D40F2E24110FB01F96A +:108BA00094F86500009010F00C0F0ABF00984EF684 +:108BB0002830FEF77DFA4AF2B1210844B0FBFBF001 +:108BC00000EB460000EB09060098FEF7F9FA304486 +:108BD00000F16201FB48816194F86500FEF7E1FA5B +:108BE00000F2E140B0FBFBF10D980844381A40F266 +:108BF000F721884238BFFFDF9AE6E18A40F271220E +:108C0000D4F82401514300EB4100009900F08DFF9E +:108C1000C4F83001618840F2E2404843009900F016 +:108C200084FFC4F8340187B221460120D4F828B06B +:108C300005F049FE814694F86500FEF739FA4AF2DC +:108C4000B12101444FF47A70B1FBF0F0618840F239 +:108C500071225143C0EB4100C01BA0F2673702F004 +:108C60004BFD002818BF1E3FCB4534BF4846584631 +:108C7000B84203D2CB452CBF5F464F46676216BB56 +:108C8000169800B394F865603046FEF711FA4AF280 +:108C9000B12101444FF47A70B1FBF0F0D4F83011F7 +:108CA00040F271230844E18AD4F82421594302EBAD +:108CB00041010F1A3046FEF783FA0E99081A38441C +:108CC000A0F120070AE0E18A40F27122D4F82401E1 +:108CD000514300EB4100D4F83011471AD4F8282151 +:108CE000D4F82011D4F8300101FB020B607D40F272 +:108CF000E24110FB01F994F8656016F00C0F0ABF11 +:108D000030464EF62830FEF7D3F94AF2B12101443D +:108D10004FF47A70B1FBF0F000EB4B008144304629 +:108D2000FEF74EFA484400F16001A6488161012037 +:108D300084F82C01FCE5608840F271225043D4F89D +:108D40003411D4F82821C1EB400000FB09F706EBF1 +:108D50000B00801AD4F820C1D4F83031401E0CFB2F +:108D6000023200FB012B607D40F2E24110FB01F971 +:108D700094F8656016F00C0F0ABF30464EF62830A6 +:108D8000FEF796F94AF2B12101444FF47A70B1FB33 +:108D9000F0F000EB4B0081443046FEF711FA4844F6 +:108DA00000F1600187488161C2E5618840F271226B +:108DB000D4F834015143C0EB410000FB09F794F8AB +:108DC0007C0024281CBF94F87D0024280BD1B4F823 +:108DD000AE01A8EB000000B2002804DB94F8B1015A +:108DE000002818BF0F90119800B3FEB90E98002804 +:108DF0001ABF0D980028FFDF94F8650010F00C0FE3 +:108E000014BF4EF62830FEF753F94AF2B12101445F +:108E10004FF47A70B1FBF0F03F1A94F86500FEF75A +:108E2000CFF90E99081A3844A0F12007D4F834116C +:108E300006EB0B0000FB01F60F9810F00C0F0ABFB9 +:108E40000F984EF62830FEF733F94AF2B12101446B +:108E50004FF47A70B1FBF0F000EB46060F98FEF786 +:108E6000AFF9304400F160015648816160E50028A7 +:108E70007FF4A0AD94F82C0100283FF4B7AD6188D1 +:108E800040F27122D4F834015143C0EB410128462D +:108E900004F0A0FD0004000C3FF4A8AD20990029C7 +:108EA00018BF0880012017B0BDE8F08F94F87C014E +:108EB000FCF706FD94F87C012946FCF7E7FB20B19E +:108EC000159880F0010084F8410117B00020BDE83A +:108ED000F08F70B53C4C607A00281CBF002070BD3C +:108EE00094F8340038B1A16B606A884203D9F6F770 +:108EF0003EFE002070BDA06AE8B1F5F70DFE054604 +:108F0000F5F780FC284442F210714618FCF79AF9F4 +:108F100005462946E06AFCF784FEE562A16A8219EB +:108F2000914224BF081AA06205D20120A062F6F780 +:108F30001EFE002070BD012070BDF8B5224C024617 +:108F4000204F00256168606A052A4FD2DFE802F0F1 +:108F50000331363E4500A07A002660B10121684603 +:108F6000FDF70AFB9DF8000042F210710002B0FB11 +:108F7000F1F201FB1206F5F7CFFD8119A069FBF7AD +:108F800048FEA06125740320607501202075607A79 +:108F900038B9207B04F11001FCF778FB002808BFEA +:108FA000FFDF2584FCF759F87879BDE8F840E9F748 +:108FB000ABBFBDE8F840002100F0D4BDC1F880018E +:108FC000F8BD0000DC000020AC0C0020D1F88001CE +:108FD000BDE8F840012100F0C5BD84F83450FCF72D +:108FE0003CF87879BDE8F840E9F78EBFFFDFE7E7A6 +:108FF0002DE9F04FDFF80494044683B099F800009F +:109000008B4601270025FE4E4FF00208032804BFBF +:1090100099F80C00A0427DD1D9F80400706199F84C +:109020000000032818BFFFDF0324BBF1080F72D232 +:10903000DFE80BF0040F32322DD2D2C9C9F8245028 +:10904000F6F76CF9002818BFFFDFB47003B0BDE875 +:10905000F08FF5F7D7FB0446D9F81C00A04228BFD3 +:10906000C9F81C4006D2201A0421FCF70EFEC9F8EC +:109070001C4038B1F6F7E5FC002818BFFFDF03B04D +:10908000BDE8F08F03B00020BDE8F04F55E703B016 +:10909000BDE8F04FFEF7F9BD89F8147089F810505B +:1090A00099F834004FF0010A42F2107B68B14FF496 +:1090B0007A71D9F81800FBF7ACFDC9F81800002147 +:1090C00009F1100004F086FC1BE001216846FDF761 +:1090D00049FA9DF800000002B0FBFBF10BFB110AFE +:1090E000F5F71AFD82445146D9F81800FBF791FDB7 +:1090F000C9F81800514609F1100004F06BFC00F1AA +:10910000010AB9F82000411C0A293CBF5044A9F8C3 +:10911000200001E064E05FE0D9F8040038B1B9F85C +:109120002000401C0A2828BF89F8158001D289F840 +:10913000154099F8090070BB99F8340040B1D9F88E +:109140003810D9F82400884202D9F6F710FD22E041 +:10915000D9F8280058B3F5F7DFFC0446F5F752FBC1 +:10916000204400EB0B08FCF76DF804462146D9F8C3 +:109170002C00FCF756FDC9F82C40D9F8281000EB5C +:109180000802914224BF081AC9F828000FD2C9F872 +:109190002870F6F7ECFC99F80C00FCF734F889F825 +:1091A0000050707903B0BDE8F04FE9F7ADBE99F813 +:1091B0000C0009F11001FCF769FA002808BFFFDF75 +:1091C00003B0BDE8F08F99F80C00FCF71CF889F8A3 +:1091D000005003B0BDE8F08FFFDF03B0BDE8F08FB3 +:1091E000202C28BFFFDFDFF81C92072139F814007C +:1091F000F9F7C8FE5FEA000A08BFFFDF202C28BF8E +:10920000FFDF39F81400BAF80010884218BFFFDFFA +:109210005446C6F814A04FF0200ABBF1080F80F0A6 +:109220006881DFE80BF00498A2A29BF3F2F1C4F886 +:109230008051F580C4F8845194F8410138B9FCF7A5 +:1092400001F8D4F84C11FCF7ECFC00281DDCB4F854 +:109250003E01B4F87010884208D1B4F8F400401A06 +:10926000A4F8F6002046B4F8F41005E0401AA4F87B +:10927000F600B4F83E112046A4F87010D4F8681136 +:10928000C4F84C11C0F870111DE0B4F83C11B4F8EA +:109290007000081AA4F8F600B4F83C112046A4F8AF +:1092A0007010D4F84C11C4F86811C4F87011D4F8D7 +:1092B0005411C4F80011D4F85811C4F87411B4F85A +:1092C0005C11A4F8781102F0FCF8FBF795FF8146D9 +:1092D00094F86500FDF7ECFE4AF2B12108444FF422 +:1092E0007A71B0FBF1F0D4F8341140F271220844E5 +:1092F00061885143C0EB4100A0F1300AB9F1B70FCA +:1093000098BF4FF0B7092146012005F0DCFA484428 +:10931000AAEB0000A0F54779A2462146012005F0FE +:10932000D2FADAF824109C30814288BF0D1AC6F8B0 +:109330000C904D4528BF4D46B560D4F86C01A0F2A5 +:10934000A7103061FCF73AFC84F8407186F802807F +:1093500003B0BDE8F08F02F0CAF901E0FEF795FC1A +:1093600084F8407103B0BDE8F08FFBF76BFFD4F8D1 +:10937000702101461046FCF754FC48B1628840F267 +:109380007123D4F834115A43C1EB4201B0FBF1F020 +:1093900094F87D100D290FD0B4F87010B4F83E2168 +:1093A0000B189A42AEBF501C401C0844A4F83E0162 +:1093B00094F8420178B905E0B4F83E01401CA4F8E5 +:1093C0003E0108E0B4F83E01B4F8F410884204BF4E +:1093D000401CA4F83E01B4F87A010DF1040B401CC6 +:1093E000A4F87A01B4F89A00B4F89810401AB4F8C6 +:1093F0007010401E08441FFA80F814E0AC0C0020E6 +:10940000DC000020E80C002065E059E071E000235A +:109410001A462046CDF800B0FFF7ADF948B3012851 +:1094200018BFFFDF44D0B4F83E11A8EB010000B232 +:109430000028ECDA082084F88D0084F88C7020462F +:1094400001F0F0FD84F82C5194F87C514FF6FF7731 +:10945000202D00D3FFDF29F8157094F87C01FBF76D +:10946000D2FE84F87CA1707903B0BDE8F04FE9F733 +:109470004BBDA06E002804BF03B0BDE8F08FB4F868 +:109480003E01B4F89420801A01B20029DCBF03B079 +:10949000BDE8F08FB4F86C000144491E91FBF0F177 +:1094A00089B201FB0020A4F8940003B0BDE8F08F5E +:1094B000B4F83E01BDF804100844A4F83E01B2E738 +:1094C000FEF7A2FAFEF7E1FB4FF0E020C0F8808241 +:1094D00003B0BDE8F08F94F82C01042818BFFFDF1B +:1094E00084F82C5194F87C514FF6FF77202DB2D39D +:1094F000B0E7FFDF03B0BDE8F08F10B5FC4C20787B +:1095000050B101206072F6F758FB2078032805D08F +:10951000207A002808BF10BD0C2010BD207BFCF76E +:10952000CFF9207BFCF738FC207BFBF76CFE002892 +:1095300008BFFFDF0020207010BD2DE9F04FEC4F79 +:1095400083B0387801244FF0000840B17C720120CC +:10955000F6F733FB3878032818BF387A0DD0DFF8D8 +:10956000949389F8034069460720F9F794FC002892 +:1095700018BFFFDF4FF6FF7440E0387BFCF7A0F91F +:10958000387BFCF709FC387BFBF73DFE002808BF61 +:10959000FFDF87F80080E2E7029800281CBF90F800 +:1095A0002C1100292AD00088A0421CBFDFF848A354 +:1095B0004FF0200B3AD00721F9F7E4FC040008BF74 +:1095C000FFDF94F87C01FCF7E7FB84F82C8194F82A +:1095D0007C514FF6FF76202D28BFFFDF2AF815605B +:1095E00094F87C01FBF70FFE84F87CB169460720F4 +:1095F000F9F751FC002818BFFFDF12E06846F9F7C1 +:1096000028FC0028C8D011E0029800281CBF90F860 +:109610002C11002905D00088A0F57F41FF39CAD15F +:1096200004E06846F9F715FC0028EDD089F80380BE +:1096300087F8348087F80B8003B00020BDE8F08FF6 +:10964000AC4948710020887001220A7048700A7184 +:10965000C870A749087070E7A649087070472DE9DF +:10966000F84FA34C064688462078002860D1A348CE +:10967000FBF76EFD207320285AD003276660277001 +:10968000002565722572AEB1012106F58E70FCF7DA +:1096900092FF0620F9F71EFC81460720F9F71AFC15 +:1096A00096F81C114844B1FBF0F200FB1210401C6C +:1096B00086F81C01FBF7A0FD40F2F651884238BF46 +:1096C00040F2F65000F23F101FFA80F9F5F79AF8D1 +:1096D000E061F5F721FA012668B3A672FBF7B2FD47 +:1096E000824601216846FCF73DFF9DF8000042F2EA +:1096F00010710002B0FBF1F201FB120000EB090156 +:109700005046FBF786FAA061C4E90A8A2675677598 +:109710002574207B04F11001FBF7B8FF002808BF77 +:10972000FFDF25840020F6F748FA0020BDE8F88F17 +:109730000C20BDE8F88FFBF785FD4946FBF769FA79 +:10974000A061A57284F83460A8F28B50A562A06372 +:10975000DCE76849487070476649087170472DE931 +:10976000F041644C0646E088401CE080D4E9025198 +:109770006078D6F8807120B13A46284604F055F951 +:109780000546A068854205D02169281A0844206151 +:10979000FCF714FAA560AF4209D896F82C0101280D +:1097A00005D0E078002804BF0120BDE8F08100204A +:1097B000BDE8F08110B504460846FDF779FC4AF291 +:1097C000B12108444FF47A71B0FBF1F040F2E2416C +:1097D000614300F2373081428CBF081A002010BD6F +:1097E00070B5044682B0002084F8400194F8FE0071 +:1097F000002807BF94F82C01032802B070BDFBF7C6 +:1098000021FDD4F8702101461046FCF70AFA002821 +:10981000DCBF02B070BD628840F27123D4F834110D +:109820005A43C1EB4201B0FBF1F0B4F87010401C98 +:109830000844A4F83C01B4F8F400B4F83C21801AC0 +:1098400000B20028DCBF02B070BD012084F84201E4 +:10985000B4F89A00B4F8982001AE801A401E08446B +:1098600085B212E00096B4F83C1100230122204694 +:10987000FEF781FF002804BF02B070BD01280DD0A3 +:10988000022812BFFFDF02B070BDB4F83C01281AF5 +:1098900000B20028BCBF02B070BDE3E7B4F83C01E1 +:1098A000BDF804100844A4F83C01EEE7F8B5042222 +:1098B0000025062964D2DFE801F0072F03191933C8 +:1098C000044680F82C2107E004460A48C0780028A6 +:1098D00018BF84F82C2113D0FBF7BFFBA4F87A51F2 +:1098E000B4F87000A4F83E0184F84251F8BD0000BD +:1098F000AC0C0020DC000020E80C0020F18F0100FF +:109900000095B4F8F410012300222046FEF733FF3F +:10991000002818BFFFDFDFE7032180F82C11E5E7FF +:109920000646876AB0F83401314685B2012004F05A +:10993000CAFF044696F86500FDF7BAFB4AF2B1216A +:1099400008444FF47A71B0FBF1F0718840F2712253 +:109950005143C0EB4100401BA0F2673501F0CCFE43 +:10996000002818BF1E3DA74234BF20463846A842F3 +:1099700028BF2C4602D2A74228BF3C467462B5E7F6 +:10998000FFDFB3E72DE9F05F9E4EB178022906BFF5 +:10999000F1880029BDE8F09F7469C4F8840194F847 +:1099A0006500FDF70DFCD4F88411081AB168014474 +:1099B000B160F1680844F060746994F843010028CC +:1099C00008BFBDE8F09F94F82C01032818BFBDE83C +:1099D000F09F94F8655037780C2F28BFFFDF8A4E30 +:1099E00036F8178094F88C710C2F28BFFFDF36F8FB +:1099F0001700404494F88C8187B2B8F10C0F28BF4F +:109A0000FFDF36F8180000F5C8601FFA80F8284616 +:109A1000FDF7D6FBD4F884114FF0000A0E1A15F0AA +:109A20000C0F0ABF28464EF62830FDF741FB4FF4D5 +:109A30007A7900F2E730B0FBF9F0361A2846FDF7E4 +:109A4000BFFBD4F8001115F00C0FA1EB000B0ABFFF +:109A500028464EF62830FDF72BFB4AF2B121084488 +:109A6000B0FBF9F0ABEB0000A0F160017943B1FB72 +:109A7000F8F1292202EB50006031A0EB510200EB1B +:109A80005100B24201D8B04201D8F2F713FB60880E +:109A900040F2E2414843394600F047F8C4F8340147 +:109AA00084F843A1BDE8F09F70B50546554890F88D +:109AB00002C0BCF1020F07BF406900F5C0745348F3 +:109AC00000F12404002904BF256070BD4FF47A76AC +:109AD00001290DD002291CBFFFDF70BD1046FEF723 +:109AE00039FC00F2E140B0FBF6F0281A206070BDAE +:109AF0001846FDF756FB00F2E140B0FBF6F0281ADD +:109B0000206070BD4148007800281CBF00207047CD +:109B100010B50720F9F7D0F980F0010010BD3B48DF +:109B20000078002818BF0120704730B50246002099 +:109B3000002908BF30BDA2FB0110490A41EAC0510B +:109B4000400A4C1C40F100000022D4F1FF3140F2E9 +:109B5000A17572EB000038BFFFDF04F5F460B0FBC5 +:109B6000F5F030BD2DE9F843284C0025814684F8F6 +:109B70003450D4F8188084F83010E572257001272D +:109B800027723946606803F0ACFA6168C1F87081E9 +:109B9000267B81F87C61C1F88091C1F87481B1F8AD +:109BA0000080202E28BFFFDF194820F81680646847 +:109BB00084F82C510023A4F878511A4619462046FF +:109BC0000095FEF7D8FD002818BFFFDFC4F8285124 +:109BD000C4F8205184F82C71A4F83E51A4F83C51EB +:109BE00084F84251B4F87000401EA4F87000A4F844 +:109BF0007A51FBF732FA03484079BDE8F843E9F7B8 +:109C000083B90000DC00002080640200AC0C00205E +:109C1000E80C0020012804D0022805D0032808D130 +:109C200005E0012907D004E0022904D001E004295D +:109C300001D000207047012070472DE9F0410E4609 +:109C4000044604F0AAFC0546204604F0AAFC04469B +:109C500003F0C5FFFB4F010015D0386990F8642070 +:109C60008A4210D090F8C4311BB190F8C63123421B +:109C70001FD02EB990F85D30234201D18A4218D806 +:109C800090F8C401A8B1284603F0A9FF70B1396962 +:109C900091F86520824209D091F8C40118B191F879 +:109CA000C701284205D091F8C40110B10120BDE8D8 +:109CB000F0810020FBE730B5E24C85B0E069002878 +:109CC0005FD0142200216846F4F7EFFB206990F87A +:109CD0006500FDF7EDF94FF47A7100F5FA70B0FB0D +:109CE000F1F5206990F86500FDF76AFA2844ADF8AF +:109CF000060020690188ADF80010B0F87010ADF8CA +:109D000004104188ADF8021090F8A60130B1A069A6 +:109D1000C11C039104F022FB8DF81000206990F81B +:109D2000A5018DF80800E16968468847206900218F +:109D300080F8A61180F8A5110399002921D090F888 +:109D4000A41100291DD190F87C10272919D09DF865 +:109D50001010039A002914D013780124FF2B12D07D +:109D6000072B0ED102290CD15178FF2909D100BF50 +:109D700080F8A4410399C0F8A8119DF8101080F84C +:109D8000A71105B030BD1B29F2D9FAE770B5AD4C6B +:109D9000206990F87D001B2800D0FFDF2069002596 +:109DA00080F8A75090F8D80100B1FFDF206990F843 +:109DB000A81041B180F8A8500188A0F8DC1180F803 +:109DC000DA510E2108E00188A0F8DC1180F8DA51A0 +:109DD000012180F8DE110D2180F8D8110088F9F7F3 +:109DE00004FAF8F79BFE2079E9F78EF8206980F8ED +:109DF0007D5070BD70B5934CA07980072CD5A078AC +:109E0000002829D162692046D37801690D2B01F120 +:109E100070005FD00DDCA3F102034FF001050B2BA6 +:109E200019D2DFE803F01A1844506127182C183AA9 +:109E30006400152B6FD008DC112B4BD0122B5AD09D +:109E4000132B62D0142B06D166E0162B71D0172B82 +:109E500070D0FF2B6FD0FFDF70BD91F87F20012302 +:109E6000194603F04DFD0028F6D12169082081F83C +:109E70007F0070BD1079BDE8704001F0D1BC91F851 +:109E80007E00C00700D1FFDF01F089FC206910F8D7 +:109E90007E1F21F00101017070BD91F87D00102836 +:109EA00000D0FFDF2069112180F8A75008E091F869 +:109EB0007D00142800D0FFDF2069152180F8A7500D +:109EC00080F87D1070BD91F87D00152800D0FFDF6F +:109ED000172005E091F87D00152800D0FFDF19203C +:109EE000216981F87D0070BDBDE870404EE7BDE896 +:109EF000704001F069BC91F87C200123002103F03F +:109F0000FFFC00B9FFDF0E200FE011F87E0F20F0FC +:109F1000040008701DE00FE091F87C20012300216F +:109F200003F0EEFC00B9FFDF1C20216981F87C0002 +:109F300070BD12E01BE022E091F87E00C0F301103A +:109F4000012800D0FFDF206910F87E1F21F01001EA +:109F50000170BDE8704001F022BC91F87C20012323 +:109F6000002103F0CDFC00B9FFDF1F20DDE791F8F1 +:109F70007D00212801D000B1FFDF2220B0E7BDE83D +:109F8000704001F018BC2F48016991F87E2013073A +:109F900002D501218170704742F0080281F87E20CD +:109FA0008069C07881F8E10001F0F0BB10B5254C64 +:109FB00021690A88A1F81A2281F8180291F8640030 +:109FC00001F0D2FB216981F81C0291F8650001F0D3 +:109FD000CBFB216981F81D02012081F816020020C7 +:109FE00081F8C4012079BDE81040E8F78DBF10B5B5 +:109FF000144C05212069FFF759FC206990F85A108C +:10A00000012908D000F5F77104F02BFC2079BDE898 +:10A010001040E8F779BF022180F85A1010BD10B542 +:10A02000084C01230921206990F87C20703003F04E +:10A0300067FC48B12169002001F8960F087301F808 +:10A040001A0C10BDFC0000200120A070F9E770B5CB +:10A05000F74D012329462869896990F87C20097900 +:10A060000E2A01D1122903D000241C2A03D004E0B7 +:10A07000BDE87040D3E7142902D0202A07D008E0B9 +:10A0800080F87C4080F8A240BDE87040AFE7162918 +:10A0900006D0262A01D1162902D0172909D00CE0B2 +:10A0A00000F87C4F80F82640407821280CD01A20F8 +:10A0B00017E090F87D20222A07D0EA69002A03D011 +:10A0C000FF2901D180F8A63132E780F87D4001F008 +:10A0D00066FB286980F8974090F8C4010028F3D007 +:10A0E0000020BDE8704061E710B5D14C216991F8BE +:10A0F0007C10202902D0262902D0A2E7FFF756FFC4 +:10A100002169002081F87C0081F8A20099E72DE9FF +:10A11000F843C74C206990F87C10202908D000270C +:10A1200090F87D10222905D07FB300F17C0503E073 +:10A130000127F5E700F17D0510F8B01F41F004019B +:10A140000170A06904F035FA4FF00108002608B349 +:10A150003946A069FFF771FDE0B16A46A16920693F +:10A1600003F04CFD90B3A06904F021FA2169A1F835 +:10A17000AE01B1F8701001F0EBFA40B3206928216C +:10A1800080F88D1080F88C8058E0FFE70220A070E6 +:10A19000BDE8F883206990F8C40110B11E20FFF7D4 +:10A1A00005FFAFB1A0692169C07881F8E20008FA23 +:10A1B00000F1C1F3006000B9FFDF20690A2180F8D7 +:10A1C0007C1090F8A20040B9FFDF06E009E02AE029 +:10A1D0002E7001F0E4FAFFF7D6FE206980F8976050 +:10A1E000D6E7226992F8C40170B1B2F8703092F8E3 +:10A1F0006410B2F8C80102F5D77203F0F1FD68B13E +:10A200002169252081F87C00206900F17D0180F81A +:10A2100097608D4212D180F87D600FE00020FFF73B +:10A22000C5FE2E70F0E720699DF8001080F8B0118F +:10A230009DF8011080F8B11124202870206900F1E8 +:10A240007D018D4203D1BDE8F84301F0A8BA80F842 +:10A25000A2609DE770B5764C01230B21206990F830 +:10A260007D20703003F04CFB202650BB2069012379 +:10A27000002190F87D20703003F042FB0125F0B101 +:10A28000206990F87C0024281BD0A06904F06FF9A5 +:10A29000C8B1206990F8B01041F0040180F8B01006 +:10A2A000A1694A7902F0070280F85D20097901F07E +:10A2B000070180F85C1090F8C5311BBB06E0A57063 +:10A2C00036E6A67034E6BDE870405CE690F8C4312E +:10A2D000C3B900F164035E788E4205D119789142CA +:10A2E00002D180F897500DE000F504710D700288DE +:10A2F0004A8090F85C200A7190F85D0048712079DE +:10A30000E8F702FE2169212081F87D00BDE8704058 +:10A3100001F03CBAF8B5464C206990F87E0010F088 +:10A32000300F04D0A07840F00100A070F8BDA06903 +:10A3300004F002F950B3A06904F0F8F80746A069E8 +:10A3400004F0F8F80646A06904F0EEF80546A069A6 +:10A3500004F0EEF801460097206933462A46303073 +:10A3600004F0E9F9A079800703D56069C078142862 +:10A370000FD0216991F87C001C280AD091F85A006E +:10A3800001280ED091F8BB0158B907E0BDE8F840AC +:10A39000F9E52169012081F85A0002E091F8BA013B +:10A3A00030B1206910F87E1F41F0100101700EE0FD +:10A3B00091F87E0001F5FE7240F0200081F87E00E9 +:10A3C00031F8300B04F041FA2079E8F79DFDBDE843 +:10A3D000F84001F0DBB970B5154C206990F87E109B +:10A3E000890707D590F87C2001230821703003F0FD +:10A3F00087FAF8B1206990F8AA00800712D4A06902 +:10A4000004F076F8216981F8AB00A06930F8052FD7 +:10A41000A1F8AC204088A1F8AE0011F8AA0F40F0D6 +:10A4200002000870206990F8AA10C90705D011E051 +:10A43000FC0000200120A0707AE590F87E008007E3 +:10A4400000D5FFDF206910F87E1F41F00201017086 +:10A4500001F09CF92069002590F87C10062906D1AE +:10A4600080F87C5080F8A2502079E8F74DFD2069F3 +:10A4700090F8AC110429DFD180F8AC512079E8F7CD +:10A4800043FD206990F87C100029D5D180F8A250B6 +:10A490004EE570B5FB4C01230021206990F87D202A +:10A4A000703003F02DFA012578B9206990F87D20ED +:10A4B000122A0AD001230521703003F021FA10B1CD +:10A4C0000820A07034E5A57032E5206990F8A80056 +:10A4D00008B901F05BF92169A06901F5847103F005 +:10A4E000E8FF2169A069D83103F0EEFF206990F8F8 +:10A4F000E00100B1FFDF21690888A1F8E20101F560 +:10A50000F271A06903F0C3FF2169A06901F5F6713A +:10A5100003F0C5FF206980F8E051142180F87D1018 +:10A520002079BDE87040E8F7EFBC70B5D54C012349 +:10A530000021206990F87D20703003F0E1F90125B9 +:10A54000A8B1A06903F06FFF98B1A0692169B0F8C4 +:10A550000D00A1F8AE01B1F8701001F0F9F858B192 +:10A560002069282180F88D1080F88C50E0E4A570D7 +:10A57000DEE4BDE8704006E5A0692169027981F852 +:10A58000B021B0F80520A1F8B22103F03FFF216906 +:10A59000A1F8B401A06903F03CFF2169A1F8B6015C +:10A5A000A06903F03DFF2169A1F8B8010D2081F8F1 +:10A5B0007D00BDE47CB5B34CA079C00738D0A0695C +:10A5C00001230521C578206990F87D20703003F0C3 +:10A5D00097F968B1AD1E0A2D06D2DFE805F009092A +:10A5E0000505090905050909A07840F00800A070D3 +:10A5F000A07800281CD1A06903F0DEFE00286ED0F0 +:10A60000A0690226C5781DB1012D01D0162D18D1E3 +:10A61000206990F87C0003F05BF990B1216991F812 +:10A620007C001F280DD0202803D0162D16D0A67030 +:10A630007CBD262081F87C00162D02D02A20FFF751 +:10A64000B5FC0C2D5BD00CDC0C2D48D2DFE805F0FE +:10A6500036331F48BEBE4BB55ABE393C2020A070D1 +:10A660007CBD0120142D6ED008DC0D2D6CD0112D79 +:10A670006BD0122D6ED0132D31D168E0152D7FD007 +:10A68000162D6FD0182D6ED0FF2D28D198E020699F +:10A690000123194690F87F20703003F031F900282B +:10A6A00008D1A06903F0ECFE216981F8920107202E +:10A6B00081F87F008CE001F02EF989E0FFF735FF8B +:10A6C00086E001F008F983E0206990F87D101129F7 +:10A6D00001D0A6707CE0122180F87D1078E075E052 +:10A6E000FFF7D7FE74E0206990F87D001728F0D1BD +:10A6F00001F055F821691B2081F87D0068E0FFF723 +:10A700006AFE65E0206990F87E00C00703D0A0785B +:10A7100040F0010023E06946A06903F0F0FE9DF8D7 +:10A72000000000F02501206900F8B01F9DF801101D +:10A7300001F04901417001F029F8206910F87E1FED +:10A7400041F0010117E018E023E025E002E0FFF707 +:10A7500066FC3DE0216991F87E10490704D5A070A0 +:10A7600036E00DE00FE011E001F010F8206910F87C +:10A770007E1F41F0040101702AE0FFF7CBFD27E0C6 +:10A7800001F071F824E0FFF765FD21E0FFF7BFFC61 +:10A790001EE0A06900790DE0206910F8B01F41F0BB +:10A7A00004010170A06903F020FF162810D1A069F0 +:10A7B00003F01FFFFFF798FC0AE0FFF748FC07E0F3 +:10A7C000E16919B1216981F8A60101E0FFF7DBFB1E +:10A7D0002169F1E93002401C42F10002C1E90002A6 +:10A7E0007CBD70B5274CA07900074AD5A078002819 +:10A7F00047D1206990F8E400FE2800D1FFDF2069EE +:10A80000FE21002580F8E41090F87D10192906D16A +:10A8100080F8A75000F0C3FF206980F87D502069C0 +:10A8200090F87C101F2902D0272921D119E090F837 +:10A830007D0003F04DF878B120692621012380F8CE +:10A840007C1090F87D200B21703003F059F878B916 +:10A850002A20FFF7ABFB0BE02169202081F87C0068 +:10A8600006E0012180F8A51180F87C5080F8A25004 +:10A87000206990F87F10082903D10221217080F807 +:10A88000E41021E4FC00002010B5FD4C216991F892 +:10A89000B0210AB991F8642081F8642091F8B121BF +:10A8A0000AB991F8652081F8652010B10020FFF702 +:10A8B0007DFB206903F06BFF002806D02069BDE80E +:10A8C000104000F5F77103F0CCBF16E470B5EC4C06 +:10A8D00006460D46206990F8E400FE2800D0FFDF10 +:10A8E0002269002082F8E46015B1A2F8A400E7E430 +:10A8F00022F89E0F01201071E2E470B5E04C0123B4 +:10A900000021206990F87C20703002F0F9FF0028C7 +:10A910007BD0206990F8BA1111B190F8BB1139B110 +:10A9200090F8C41100296FD090F8C51119B36BE0ED +:10A9300090F87D1024291CD090F87C10242918D080 +:10A940005FF0000300F5D87200F5DD7103F0C0FE82 +:10A950002169002081F8BA0101461420FFF7B6FFF3 +:10A96000216901F13000C28A21F8E62F408B48802E +:10A9700050E00123E6E790F87D2001230B217030A1 +:10A9800002F0BEFF68BB206990F8640000F0ECFEA6 +:10A990000646206990F8650000F0E6FE054620694D +:10A9A00090F8C6113046FFF735F9D8B1206990F814 +:10A9B000C7112846FFF72EF9A0B12269B2F870300E +:10A9C00092F86410B2F8C80102F5D77203F008FAE1 +:10A9D00020B12169252081F87C001BE00020FFF7D1 +:10A9E000E5FA11E020690123032190F87D20703001 +:10A9F00002F086FF40B920690123022190F87D20F2 +:10AA0000703002F07DFF08B1002059E400211620CB +:10AA1000FFF75CFF012053E410B5E8BB984C2069B8 +:10AA200090F87E10CA0702D00121092052E08A075F +:10AA30000AD501210C20FFF749FF206910F8AA1F51 +:10AA400041F00101017047E04A0702D501211320BE +:10AA500040E00A0705D510F8E11F417101210720E8 +:10AA600038E011F0300F3BD090F8BB11A1B990F84D +:10AA7000BA11E1B190F87D1024292FD090F87C1004 +:10AA800024292BD05FF0000300F5D87200F5DD71AA +:10AA900003F01EFE216900E022E011F87E0F20F095 +:10AAA000200040F010000870002081F83C0120696F +:10AAB00090F87E10C90613D503F069FEFFF797FAE8 +:10AAC000216901F13000C28A21F8E62F408B4880CD +:10AAD00001211520FFF7FAFE0120F6E60123D3E756 +:10AAE0000020F2E670B5664C206990F8E410FE296B +:10AAF00078D1A178002975D190F87F2001231946DB +:10AB0000703002F0FDFE00286CD1206990F89011A1 +:10AB100049B10021A0F89C1090F8911180F8E6103E +:10AB2000002102205BE090F87D2001230421703099 +:10AB300002F0E6FE0546FFF76FFF002852D12846D7 +:10AB400000F04DFF00284DD120690123002190F82D +:10AB50007C20703002F0D4FE78B1206901230421FA +:10AB600090F87D20703002F0CBFE30B9206990F86B +:10AB7000960010B10021122031E0206990F87C206D +:10AB80000A2A0DD0002D2DD101230021703002F0B2 +:10AB9000B7FE78B1206990F8AC1104290AD105E01C +:10ABA00010F8E21F01710021072018E090F8AA00B8 +:10ABB000800718D0FFF7A1FE002813D120690123D8 +:10ABC000002190F87C20703002F09AFE002809D015 +:10ABD000206990F8A401002804D00021FF20BDE8DE +:10ABE000704073E609E000210C20FFF76FFE20693A +:10ABF00010F8AA1F41F0010101701DE43EB50546A1 +:10AC00006846FDF775FC00B9FFDF2222002100989D +:10AC1000F3F74BFC0321009803F0B6FB0098017892 +:10AC200021F010010170294603F0D3FB144C0D2DC7 +:10AC300043D00BDCA5F102050B2D19D2DFE805F09E +:10AC400022184B191922185718192700152D5FD0F3 +:10AC500008DC112D28D0122D0BD0132D09D0142D66 +:10AC600006D155E0162D2CD0172D6AD0FF2D74D0AB +:10AC7000FFDFFDF750FC002800D1FFDF3EBD0000E4 +:10AC8000FC0000202169009891F8E61017E0E268C6 +:10AC900000981178017191884171090A8171518878 +:10ACA000C171090A0172E4E70321009803F09BFCDB +:10ACB0000621009803F09BFCDBE700980621017158 +:10ACC000D7E70098D4F8101091F8C621027191F8D6 +:10ACD000C7114171CDE72169009801F5887103F032 +:10ACE000F7FB21690098DC3103F0FCFBC1E7FA496E +:10ACF000D1E90001CDE90101206901A990F8B00076 +:10AD000000F025008DF80400009803F026FCB0E761 +:10AD10002069B0F84810009803F0F6FB2069B0F8FD +:10AD2000E810009803F0F4FB2069B0F84410009894 +:10AD300003F0F2FB2069B0F8E610009803F0F0FB96 +:10AD400097E7216991F8C40100280098BCD111F857 +:10AD5000642F02714978BCE7FFE7206990F8A721CA +:10AD6000D0F8A811009803F042FB82E7DB4810B549 +:10AD7000006990F8821041B990F87D2001230621E6 +:10AD8000703002F0BDFD002800D001209DE570B5B7 +:10AD9000D24D286990F8801039B1012905D00229D7 +:10ADA00006D0032904D0FFDF03E4B0F8F41037E045 +:10ADB00090F87F10082936D0B0F89810B0F89A2093 +:10ADC00000248B1C9A4206D3511A891E0C04240CB1 +:10ADD00001D0641EA4B290F8961039B190F87C208E +:10ADE00001230921703002F08BFD40B3FFF7BEFF55 +:10ADF00078B129690020B1F89020B1F88E108B1C31 +:10AE00009A4203D3501A801E00D0401EA04200D2A6 +:10AE100084B20CB1641EA4B22869B0F8F4102144C5 +:10AE2000A0F8F0102DE5B0F898100329BDD330F844 +:10AE3000701F428D1144491CA0F8801021E50024A8 +:10AE4000EAE770B50C4605464FF40872002120462B +:10AE5000F3F72BFB258014E5F8F79EB92DE9F041B7 +:10AE60000D4607460721F8F78DF8041E3CD094F8EC +:10AE7000CC010026A8B16E70092028700BE0268452 +:10AE800084F8CC61D4F8CE016860D4F8D201A8600F +:10AE9000B4F8D601A88194F8CC010028EFD12E7126 +:10AEA000AEE094F8D80190B394F8D8010D2813D0EF +:10AEB0000E2801D0FFDFA3E02088F8F796F90746B7 +:10AEC000F7F741FE78B96E700E20287094F8DA0119 +:10AED00028712088E88014E02088F8F786F9074672 +:10AEE000F7F731FE10B10020BDE8F0816E700D2043 +:10AEF000287094F8DA0128712088E88094F8DE013F +:10AF0000287284F8D8613846F7F717FE78E0FFE733 +:10AF100094F80E0230B16E701020287084F80E6222 +:10AF2000AF806DE094F8E00190B16E700A20287057 +:10AF30002088A880D4F8E411C5F80610D4F8E811E8 +:10AF4000C5F80A10B4F8EC01E88184F8E06157E034 +:10AF500094F8080270B16E701A20287005E000BFE6 +:10AF600084F80862D4F80A02686094F8080200289D +:10AF7000F6D145E094F8EE0188B16E701520287086 +:10AF800008E000BF84F8EE6104F5F8702B1D07C8D7 +:10AF900083E8070094F8EE010028F3D130E094F83C +:10AFA000FC0170B16E701C20287084F8FC61D4F82C +:10AFB000FE016860D4F80202A860B4F80602A88115 +:10AFC0001EE094F8100238B11D20287084F8106239 +:10AFD000D4F81202686013E094F81602002883D0B7 +:10AFE0006E701620287007E084F81662D4F81802F4 +:10AFF0006860B4F81C02288194F816020028F3D186 +:10B00000012071E735480021C1610162084670479F +:10B0100030B5324D0C46E860FFF7F4FF00B1FFDFBA +:10B020002C7130BD002180F87C1080F87D1080F8F4 +:10B03000801090F8FE1009B1022100E00321FEF714 +:10B0400035BC2DE9F041254C0546206909B10021A8 +:10B0500004E0B0F80611B0F8F6201144A0F806118B +:10B0600090F8901139B990F87F200123194670307B +:10B0700002F046FC30B1206930F89C1FB0F85A202D +:10B0800011440180206990F8A23033B1B0F89E10CD +:10B09000B0F8F6201144A0F89E1090F9A670002F89 +:10B0A00006DDB0F8A410B0F8F6201144A0F8A41002 +:10B0B00001213D2615B180F88D6017E02278022A23 +:10B0C0000ED0012A15D0A2784AB380F88C1012F065 +:10B0D000140F11D01E2117E098640200FC0000201C +:10B0E00090F8E620062A3CD016223AE080F88C1030 +:10B0F00044E090F8922134E0110702D580F88D6089 +:10B100003CE0910603D5232180F88D1036E09007AE +:10B1100000D1FFDF21692A2081F88D002AE02BB1C0 +:10B12000B0F89E20B0F8A0309A4210D2002F05DD72 +:10B13000B0F8A420B0F8A0309A4208D2B0F89C3001 +:10B14000B0F89A20934204D390F890310BB12222A8 +:10B1500007E090F880303BB1B0F89830934209D3C3 +:10B16000082280F88D20C1E7B0F89820062A01D384 +:10B170003E22F6E7206990F88C1019B12069BDE8ED +:10B18000F0414FE7BDE8F0410021FEF78FBB2DE90C +:10B19000F047FF4C81460D4620690088F8F737F8E4 +:10B1A000060000D1FFDFA0782843A070A0794FF0FF +:10B1B00000058006206904D5A0F8985080F8045155 +:10B1C00003E030F8981F491C0180FFF7CFFD0127ED +:10B1D00040B3E088000506D5206990F8821011B1CF +:10B1E000A0F88E501EE02069B0F88E10491C89B27C +:10B1F000A0F88E10B0F890208A4201D3531A00E0D4 +:10B200000023B4F808C00CF1050C634501D880F8A0 +:10B210009670914206D3A0F88E5080F80E72207975 +:10B22000E7F772FEA0794FF0020810F0600F0ED021 +:10B23000206990F8801011B1032908D102E080F84C +:10B24000807001E080F880800121FEF72FFB2069EB +:10B2500090F88010012904D1E188C90501D580F852 +:10B260008080B9F1000F71D1E188890502D5A0F87D +:10B27000185104E0B0F81811491CA0F8181100F09A +:10B2800075FBFEF718FDFFF72DFC00F062FF0028AC +:10B29000206902D0A0F8F85003E030F8F81F491CEC +:10B2A000018000F059FF38B1206990F8041102299B +:10B2B00007D8491C80F80411206990F8040102287D +:10B2C00004D9206920F8F85F4580057320690123BF +:10B2D000002190F87D20703002F012FB20B9206927 +:10B2E00090F87D000C286AD120690123002190F894 +:10B2F0007C20703002F004FB48B320690123002158 +:10B3000090F87F20703002F0FBFA00B3206990F8CB +:10B310008010022953D190F80401C0B93046F7F7E4 +:10B32000E2F9A0B1216991F8E400FE2847D1B1F813 +:10B33000F200012843D981F8FD70B1F89A20B1F8E4 +:10B340009800931E984203DB012004E043E036E0BE +:10B35000101A401E80B2B1F8F82023899A4201D316 +:10B36000012202E09A1A521C92B2904200D9104671 +:10B37000012801D181F8FD5091F86F206AB98A6ED9 +:10B380005AB1B1F89420B1F87030D21A12B2002A32 +:10B3900003DD904200DB104680B291F8882192B123 +:10B3A000B1F8FA20B1F88A118A4201D3012102E0F2 +:10B3B000891A491C89B2884205D9084603E02169E7 +:10B3C000012081F8FD502169B1F870201044A1F8E6 +:10B3D000F400FFF7DCFCE088C0F340214846FFF7AB +:10B3E00030FE206980F8FE50BDE8F047FDF7B5B8A3 +:10B3F000674902468878CB78184312D1084600691D +:10B4000042B18979090703D590F87F00082808D050 +:10B4100001207047B0F84C10028E914201D8FEF71F +:10B420009EB90020704770B5594C05460E46E0881D +:10B430002843E080A80703D5E80700D0FFDF666156 +:10B44000EA074FF000014FF001001AD0A661F27830 +:10B45000062A02D00B2A14D10AE0226992F87D3024 +:10B46000172B0ED10023E2E92E3302F8370C08E047 +:10B47000226992F87D30112B03D182F8811082F875 +:10B48000A800AA0718D56269D278052A02D00B2A2B +:10B4900012D10AE0216991F87D20152A0CD10022F1 +:10B4A000E1E9302201F83E0C06E0206990F87D20A9 +:10B4B000102A01D180F88210280601D50820E070FA +:10B4C00072E42DE9F84F324C00254FF00108E58079 +:10B4D000A570E5704146257061F307022061924630 +:10B4E000814680F8FE800088F7F791FE070000D1C2 +:10B4F000FFDF20690088FCF7F8FF20690088FDF76E +:10B500001AF82069B0F8F21071B190F8E410FE2931 +:10B510000FD190F8901189B190F87F20012319463E +:10B52000703002F0EDF978B1206990F8E400FE285F +:10B5300004D0206990F8E400FFF760FB206990F8E0 +:10B54000FF1089B1258118E02069A0F89C5090F87F +:10B55000911180F8E61000210220FFF7B7F9206969 +:10B5600080F8FD500220E7E790F8CC1119B9018C62 +:10B570008288914200D881882181B0F8F610491E56 +:10B580008EB2B0F8F8103144A0F8F81002E00000D4 +:10B59000FC00002090F8FC1021B1A0F8FA5080F8CF +:10B5A000FC5004E0B0F8FA103144A0F8FA1030F87A +:10B5B000981F31440180FFF7D9FB20B1206930F892 +:10B5C0008E1F314401802069B0F8F210012902D8A1 +:10B5D000491CA0F8F2100EB180F8045190F8FD104B +:10B5E000A1B1B0F8F800218988420FD23846F7F7A8 +:10B5F0007AF858B1206990F8881139B1B0F8FA108A +:10B60000B0F88A01814201D300F0A9FD206980F8D9 +:10B61000FD5090F87D100B2901D00C2916D1B0F8FF +:10B620007020B0F8AE31D21A12B2002A0EDBD0F878 +:10B63000B011816090F8B4110173032101F051FD44 +:10B64000206980F87D5080F8B28026E0242910D14E +:10B65000B0F87010B0F8AE21891A09B2002908DBE1 +:10B6600090F8C401FFF710F9206900F87D5F857636 +:10B6700013E090F87C10242901D025290DD1B0F8D1 +:10B680007010B0F8AE01081A00B2002805DB0120E6 +:10B69000FFF7FAF8206980F87C5020690146B0F87D +:10B6A000F620703001F0E5FE206990F8881109B1AC +:10B6B000A0F8FA50FB480090FB4BFC4A4946504624 +:10B6C00000F07CFC216A11B16078FCF754FA206923 +:10B6D0000123052190F87D20703002F011F9002837 +:10B6E00003D0BDE8F84F00F0FCB9BDE8F88F00F0DA +:10B6F00016BDEF49C8617047ED48C069002800D009 +:10B7000001207047EA4A50701162704710B5044634 +:10B710000088A4F8D001B4F8B401A4F8D201B4F8B8 +:10B72000B601A4F8D401B4F8B801A4F8D6010120F8 +:10B7300084F8CC01DE480079E7F7E6FB02212046D9 +:10B7400001F0CFFC002004F87D0F0320E07010BD55 +:10B75000401A00B247F6FE71884201DC002801DC85 +:10B76000012070470020704710B5012808D002283A +:10B7700008D0042808D0082806D0FFDF204610BDD6 +:10B780000124FBE70224F9E70324F7E7C848002176 +:10B79000006920F8A41F8178491C81707047C44853 +:10B7A00000B5016911F8A60F401E40B208700028CC +:10B7B00000DAFFDF00BDBE482721006980F87C1059 +:10B7C000002180F8A411704710B5B94C206990F899 +:10B7D000AC11042916D190F87C200123002170308F +:10B7E00002F08EF800B9FFDF206990F8AA108907EF +:10B7F00003D4062180F87C1004E0002180F8A21018 +:10B8000080F8AC11206990F87E00800707D5FFF71B +:10B81000C6FF206910F87E1F21F00201017010BDE3 +:10B82000A34910B5096991F87C200A2A09D191F839 +:10B83000E220824205D1002081F87C0081F8A2003C +:10B8400010BD91F87E20130706D522F0080081F87C +:10B850007E00BDE81040A2E7FF2801D0FFDF10BD49 +:10B86000BDE81040A7E7F8B5914C01230A212069F3 +:10B8700090F87C20703002F043F838B3A06902F0F1 +:10B880005BFEC8B1A06902F051FE0746A06902F054 +:10B8900051FE0646A06902F047FE0546A06902F087 +:10B8A00047FE01460097206933462A46303002F0B1 +:10B8B00042FF206902F06BFF2169002081F8A2009D +:10B8C00081F87C00BDE8F840FEF791BBA07840F01D +:10B8D0000100A070F8BD10B5754C0123002120694E +:10B8E00090F87D20703002F00BF830B1FFF74EFF7A +:10B8F0002169102081F87D0010BD206901230521F8 +:10B9000090F87D20703001F0FBFF08B1082000E0C6 +:10B910000120A07010BD70B5654C01230021206985 +:10B9200090F87D20703001F0EBFF012588B1A0690F +:10B9300002F0A3FD2169A1F8AE01B1F87010FFF784 +:10B9400007FF40B12069282180F88D1080F88C50C5 +:10B95000B6E5A570B4E52169A06901F5D87102F0DA +:10B9600087FD21690B2081F87D00A9E510B5FEF760 +:10B9700038FFFEF71FFE4E4CA079400708D5A0788F +:10B9800030B9206990F87F00072801D1012020708C +:10B99000FEF730FAA079C00609D5A07838B9206939 +:10B9A00090F87D100B2902D10C2180F87D10E078F1 +:10B9B00000070ED520690123052190F87D20703005 +:10B9C00001F09EFF30B10820A0702169002081F8AD +:10B9D000D80110BDBDE81040002000F0C4BB10B578 +:10B9E000334C216991F87D2048B3102A06D0142ADF +:10B9F00007D0152A1AD01B2A2CD11AE001210B20BE +:10BA000019E0FAF7B5FD0C2817D32069082100F5D5 +:10BA10008870FAF7B1FD28B120690421DC30FAF70B +:10BA2000ABFD00B9FFDF0121042004E000F017F8AE +:10BA300003E001210620FEF749FF012010BD212A65 +:10BA400008D191F8970038B991F8C40110B191F874 +:10BA5000C50108B1002010BD01211720EBE770B52A +:10BA6000134C0025206990F8931101290AD002296E +:10BA70002DD190F8A810E9B1062180F8E610012137 +:10BA800002201FE090F8D811002920D100F1C8034E +:10BA900000F58471002200F5CA7001F0ABFE0121AF +:10BAA00005200FE08FB10100F1B3010027B40100C0 +:10BAB000FC00002090F8B000400701D5112000E004 +:10BAC0000D200121FEF702FF206980F89351F7E471 +:10BAD00030B5FB4C05462078002818BFFFDF2572E3 +:10BAE00030BDF7490120C87170472DE9F14FF54D80 +:10BAF0002846446804F1700794F86510608F94F844 +:10BB00008280268F082978D001F0ACFFB8F1000FB1 +:10BB100004BF001D80B2864238BF304600F0FF08E7 +:10BB2000DFF89C93E848C9F8240009F134006E68F6 +:10BB3000406800F1700A90F882B096F86510358F71 +:10BB4000708F08295DD001F08DFF00BFBBF1000FA1 +:10BB500004BF001D80B2854238BF2846C0B29AF8A3 +:10BB60001210002918BF04210844C0B296F86510CD +:10BB7000FBF7E9FBB87C002847D007F15801D24811 +:10BB800091E80E1000F5027585E80E10B96EC0F848 +:10BB90002112F96EC0F8251200F58170FBF77BFFCA +:10BBA000C848007800280CBF0120002080F0010167 +:10BBB000C6480176D7E91412C0E90412A0F58372D1 +:10BBC000D9F82410FBF7A9F994F86500012808BFFB +:10BBD00000220CD0022808BF012208D0042808BF88 +:10BBE000032204D008281ABFFFDF002202224146A8 +:10BBF0000120FBF7ADF90EE0FFE7042101F032FF71 +:10BC000084E7042101F02EFFA0E7D9F82400FBF718 +:10BC100042FFFBF7C9F9009850B994F8650094F811 +:10BC2000661010F00C0F08BF00219620FBF754FFA0 +:10BC300094F8642001210020FCF70BF894F82C0004 +:10BC4000012808BFFBF7D5FF022089F80000FCF7A8 +:10BC5000C9FB002818BFFFDFBDE8F88F2DE9F04FC2 +:10BC6000DFF860A28BB050469AF800204068AAF135 +:10BC70001401059190F8751000F1700504464FF01D +:10BC800008080127AAF13406A1B3012900F00681B2 +:10BC9000022900F00781032918BFFFDF00F0188197 +:10BCA000306A0423017821F008010170AA7908EABA +:10BCB000C202114321F004010170EA7903EA820211 +:10BCC000114321F01001017095F80590F06AF6F724 +:10BCD0001AFD8046FCF753FCB9F1020F00F0008119 +:10BCE000B9F1010F00F00081B9F1030F00F00081FC +:10BCF00000F003B9FFE795F80CC04FF002094FF0D0 +:10BD0000000BBCF1240F1CBF6B7B242B08D0BCF1B3 +:10BD10001F0F18BFBCF1200F2AD0222B4DD077E087 +:10BD200094F864109AB190F8B001002874D00829F2 +:10BD300018BF042969D0082818BF042865D0012934 +:10BD400018BF012853D000BF4FF0020164E090F803 +:10BD50001201002860D0082918BF042955D00828EE +:10BD600018BF042851D0012918BF01283FD0EBE7A4 +:10BD7000222B22D0002A4BD090F8C60194F86410F0 +:10BD800010F0040F18BF40460CD0082918BF042932 +:10BD90003BD0082818BF042837D0012918BF012834 +:10BDA00025D0D1E710F0010F18BF3846EDD110F0C3 +:10BDB000020F18BF4846E8D12EE04AB390F8C621DA +:10BDC00090F85D0094F8641002EA000010F0040F8F +:10BDD00018BF40460ED0082918BF042915D00828DE +:10BDE00018BF042811D0012918BF0128ACD14FF089 +:10BDF000010111E010F0010F18BF3846EBD110F02F +:10BE0000020F18BF4846E6D106E04FF0080103E0F4 +:10BE100094F864100429F8D0A08E11F00C0F18BF0C +:10BE20004FF4296001F01EFE218E814238BF084682 +:10BE3000ADF80400A4F84C000598FCF77FFB60B156 +:10BE4000B289316A42F48062B28172694FF48060D3 +:10BE5000904703206871EF7022E709AA01A9F06AF0 +:10BE6000F6F78BFB306210B195F8371021B10598C9 +:10BE7000FCF738FB6F7113E79DF8241031B9A0F877 +:10BE800000B080F802B0012102F07EFABDF8041083 +:10BE9000306A02F0B0FB85F8059001E70598FCF7E1 +:10BEA00021FBFDE6B4F84C00ADF8040009AA01A995 +:10BEB000F06AF6F762FB3062002808BFFFDFEFE6AA +:10BEC0002001002054010020280D0020300F002008 +:10BED0000598FCF733FB002808BFFFDFE0E600BF52 +:10BEE00030EA080009D106E030EA080005D102E096 +:10BEF000B8F1000F01D0012100E00021306A027882 +:10BF000042EA01110170697C00291CBF697901298D +:10BF10003BD005F15801F94891E80E1000F5027880 +:10BF200088E80E10A96EC0F82112E96EC0F825123B +:10BF300000F58170FBF7AFFD9AF8000000280CBFF8 +:10BF400001210021EE480176D5E91212C0E9041260 +:10BF5000A0F58371326AFAF7E0FF94F864000128D3 +:10BF600008BF00220CD0022808BF012208D00428F4 +:10BF700008BF032204D008281ABFFFDF00220222D4 +:10BF8000FB210020FAF7E4FF03E0FBF784FDFBF759 +:10BF90000BF8012194F865200846FBF75AFE37712B +:10BFA000306A018831828078B0743770FCF723FAE8 +:10BFB000002818BFFFDF0BB0BDE8F08F2DE9F0437C +:10BFC000D04C87B081462078DDF838801E46174671 +:10BFD0000D4628B9002F1CBF002EB8F1000F00D16C +:10BFE000FFDFC4F81C80C4E90D95C4E905764FF065 +:10BFF0000000E071A071E070A07020716071C24E0D +:10C00000A081E081307805F170072888F7F7FFF804 +:10C01000E0622888F7F7E9F82063FBF7B8F995F9AB +:10C020006700FBF78DFA05F11200FBF70BFD05F138 +:10C030000E00FBF78BFA307800280CBF032001209C +:10C04000FBF726FDB14890E80E108DE80E10D0E900 +:10C050000410CDE90410307800280CBFAC48AD487E +:10C0600004906846FBF702FDF87EFBF777FAFBF7D2 +:10C0700009FD95F86F0078B9A86E68B1B88C398859 +:10C08000884209D1B5F86C1001220844B88495F8AB +:10C090006E00A96EF8F795FE3078002804BFFF20E7 +:10C0A00095F864401BD095F8651097F812802C8F96 +:10C0B000688F082927D001F0D5FC00BFB8F1000F28 +:10C0C00004BF001D80B2844238BF2046C0B2B97C94 +:10C0D000002918BF0421084495F86540C0B22146E4 +:10C0E000FBF731F93078214688B10120FBF7FDFAE2 +:10C0F0007068D0F80001FBF7D1FC0120FFF7F5FCD8 +:10C1000007B0BDE8F083042101F0ACFCD6E70020C5 +:10C11000FBF7EBFAFFF7A2FD07B0BDE8F0837A4822 +:10C1200000B501783438007819B1022818BFFFDF54 +:10C1300000BD012818BFFFDF00BD724810B50078B0 +:10C14000022818BFFFDFBDE8104000F03ABA00F047 +:10C1500038BA6C48007970476A48C07870476949B6 +:10C160000120487170472DE9F04706006648654D8B +:10C17000406800F17004686A90F8019018BF012EC1 +:10C1800003D1296B09F014F86870687800274FF024 +:10C190000108A0B101283CD0022860D003281CBFB0 +:10C1A000FFDFBDE8F087012E08BFBDE8F087286BF0 +:10C1B000F6F79EFC287ABDE8F047E6F7A5BE012E0B +:10C1C00014D0A86A002808BFFFDF6889C21CD5E91F +:10C1D0000910F2F740F9A86A686201224946286B03 +:10C1E000F6F702FB022E08BFBDE8F087D4E9140180 +:10C1F000401C41F10001C4E91401E079012801D19A +:10C20000E77101E084F80780287ABDE8F047E6F797 +:10C210007BBE012E14D0A86A002808BFFFDF688902 +:10C22000C21CD5E90910F2F716F9A86A6862002263 +:10C230004946286BF6F7D8FA022E08BFBDE8F0870A +:10C24000D4E91410491C40F10000C4E91410E0794D +:10C2500001280CBFE77184F80780BDE8F087012E44 +:10C2600006D0286BF6F744FC022E08BFBDE8F08725 +:10C27000D4E91410491C40F10000C4E91410E0791D +:10C280000128BFD1BCE770B51F4E3046A6F134047B +:10C29000406800F170052078012818BFFFDFA878FA +:10C2A00068B10021A970A289042042F00402A28191 +:10C2B00062699047307800281CBF01202871216AEC +:10C2C0000322087832EA000009D1A28912F4806FB3 +:10C2D00005D042F00202A28162690220904701214A +:10C2E000002000F098F918B1BDE8704000F069B97D +:10C2F000BDE870400020FFF7F8BB0000280D0020CB +:10C30000300F00202001002054010020A064020012 +:10C31000EF230200859901002DE9F14FDE4E002741 +:10C320003046A6F134054068317800F1700A28786B +:10C33000B846022818BFFFDFE88940F40070E881A2 +:10C3400071683078FF2091F86410FAF7FCFF0098CC +:10C3500000289AF8120000F0FC80FAF74AFEFAF77B +:10C3600038FE4FF0010990B99AF8120078B1686A66 +:10C37000417861B100789AF80710C0F3C000884294 +:10C3800005D185F80290BDE8F84F00F01AB9686A47 +:10C3900041786981002908BFAF6203D0286BF6F7A6 +:10C3A000DDF9A862E88940F02000E881EF7030787C +:10C3B000706800F17004834690F82C0001281AD1AF +:10C3C000FBF70DFC2146584601F055FA98B130783C +:10C3D000002870680CBF00F59A7000F50270BBF879 +:10C3E00000104180217A0171617A417180F80090DA +:10C3F000287AE6F789FD686A9AF806100078C0F393 +:10C40000800088423BD03078706800F1700490F86A +:10C41000750000282FD002284BD067713078002893 +:10C420001CBF2079002809D02771AA89394642F01B +:10C430001002AA816A694FF010009047E078A0B11D +:10C44000E770FCF78AF8002808BFFFDF0820AA89F8 +:10C45000002142F00802AA816A699047D4E91202D9 +:10C46000411C42F10000C4E91210A07901280CBF60 +:10C47000A77184F80690E88940F48070E881696AC1 +:10C480009AF807300878C0F3C0029A424ED1327849 +:10C49000726800F0030002F17004012818BF02283E +:10C4A0002DD003281CBFA87940F0040012D0A87139 +:10C4B0003CE0E86AF6F78DF8002808BFFFDFD4E912 +:10C4C0001202411C42F10000C4E91210287AE6F77A +:10C4D0001BFDA2E784F80290EA89484642F4006214 +:10C4E000EA81AA8942F00102AA816A699047E0794B +:10C4F000012801D1E77119E084F8079016E0487827 +:10C5000018B3E98941F40061E981A96A71B1FB2896 +:10C5100084BFA87940F01000C9D8E879002808BF86 +:10C52000C84603D080206A69002190470120009905 +:10C5300000F071F8B0B1B8F1000F1CBF0020FFF798 +:10C5400012FEBDE8F84F00F03CB8E0790128D3D1E5 +:10C55000D0E7002818BFFAF786FDE88940F04000D0 +:10C56000E881E3E7B8F1000F1CBF0120FFF7FBFDF6 +:10C57000FFF774FBB8F1000F08BFBDE8F88F022089 +:10C58000BDE8F84FEFE570B50D4606464248424912 +:10C5900000784C6850B1FAF7DFFD034694F8642048 +:10C5A00029463046BDE87040FDF77EBAFAF7D4FD63 +:10C5B000034694F8642029463046BDE8704005F0F3 +:10C5C0001ABF354910B54C68FBF7E8FAFBF7C7FA14 +:10C5D000FBF78EF9FBF73CFAFAF7E6FC94F82C002F +:10C5E000012808BFFBF7FBFA94F86F0038B9A06E7A +:10C5F00028B1002294F86E001146F8F7E2FB274CB0 +:10C6000000216269E0899047E269A179A0789047AA +:10C610000020207010BD70B5204C0546002908BFD1 +:10C62000012D06D1E07800F10100C0B2E0700128D0 +:10C630002ED8A16928468847002829D06179184852 +:10C6400039B1012D01BF41780029017811F0100F97 +:10C650001ED0A179E1B910490978002908BF012D40 +:10C6600001D091B18DB90F49097811F0100F04BFB5 +:10C67000007810F0100F0BD0A08948B9A06A20B93B +:10C68000608910B111F0100F02D04FF0000070BDA2 +:10C690004FF0010070BD0000540100202001002077 +:10C6A000280D002030010020FE498A78824286BF92 +:10C6B000084490F843010020704710B540F2D312AF +:10C6C0000021F848F1F7F1FE0822FF21F648F1F7C2 +:10C6D000ECFEF6480021417081704FF46171818059 +:10C6E00010BD2DE9F0410E46054600F0AEFBED4CC5 +:10C6F000102816D004EBC00191F85A0110F0010F78 +:10C700001CBF0120BDE8F081607808283CBF0120F3 +:10C7100081F85A011CD26078401C60700120BDE88D +:10C72000F0816078082813D222780127501C2070ED +:10C7300004EBC2083068C8F85401B088A8F8580162 +:10C74000102A28BFFFDF88F8535188F85A71E2E7B2 +:10C750000020BDE8F081D54988707047D3488078C3 +:10C76000704770B4CF4800250178491E4BB2002BAA +:10C7700047DB00BF00EBC30191F85A1111F0010F24 +:10C780003BD04278D9B2521E427000EBC10282F80F +:10C790005A5190F802C00022BCF1000F0BD9841846 +:10C7A00094F803618E4202D1102A26D103E0521C74 +:10C7B000D2B29445F3D80278521ED2B202708A42A5 +:10C7C0001BD000EBC20200EBC10CD2F85341CCF8F5 +:10C7D0005341D2F85721CCF85721847890F800C003 +:10C7E0000022002C09D9861896F8036166450CD101 +:10C7F000102A1CBF024482F80311591E4BB2002BB1 +:10C80000B8DAAA48857070BC7047521CD2B2944204 +:10C81000E9D8F2E7A3498A78824286BF01EB00108B +:10C82000C01C002070472DE9F04101261F469046AC +:10C830003446002500F009FB10282AD099494FF012 +:10C84000000C01EBC00292F85A2102F001058A782F +:10C85000002A1ED901EB0C0393F8033183421FD148 +:10C86000BCF1100F15D0002F18BF87F800C08878D2 +:10C8700060450ED901EB0C1010F1030F09D001EB4C +:10C880000C0090F84B4190F83B0101280CBF0126A9 +:10C89000002648EA050046EA04010840BDE8F081A8 +:10C8A0000CF1010303F0FF0C6245D3D8F1E72DE949 +:10C8B000F05F1F4690460E46814600F0C6FA794D5D +:10C8C000044610283CD00146AB780020002B0ED93E +:10C8D0002A1892F803218A4205D110281CBF122081 +:10C8E000BDE8F09F03E0401CC0B28342F0D8082BA3 +:10C8F0003FD2102C27D0AE781022701CA87005EB08 +:10C90000061909F10300414600F05AFF09F18300BE +:10C910001022394600F054FF1021384600F02DFF58 +:10C920003544102185F84301404600F026FF85F884 +:10C930004B0185F80341002085F83B01BDE8F09FDD +:10C94000AB78082B15D22C78CA46601C287005EBF2 +:10C95000C4093068C9F85401B0884FF0000BA9F839 +:10C960005801102C28BFFFDF89F853A189F85AB16C +:10C97000C1E70720BDE8F09F70B44A488178491E9E +:10C980004BB2002BBCBF70BC704700BF817803F076 +:10C99000FF0C491ECAB2827050FA83F191F803115C +:10C9A00094453ED000EB021500EB0C14D5F8036063 +:10C9B000C4F80360D5F80760C4F80760D5F80B60C9 +:10C9C000C4F80B60D5F80F60C4F80F60D5F8836029 +:10C9D000C4F88360D5F88760C4F88760D5F88B60A9 +:10C9E000C4F88B60D5F88F50C4F88F50851800EBD1 +:10C9F0000C0402EB420295F803610CEB4C0C00EBCB +:10CA0000420284F8036100EB4C0CD2F80B61CCF8C5 +:10CA10000B61B2F80F21ACF80F2195F83B2184F897 +:10CA20003B2100EBC10292F85A2112F0010F33D1E1 +:10CA300090F802C00022BCF1000F0BD9841894F8C2 +:10CA400003518D4202D1102A26D103E0521CD2B2EA +:10CA50009445F3D80278521ED2B202708A421BD09B +:10CA600000EBC20200EBC10CD2F85341CCF85341A9 +:10CA7000D2F85721CCF85721847890F800C00022D2 +:10CA8000002C09D9851895F80351654512D1102A53 +:10CA90001CBF024482F80311591E4BB2002BBFF693 +:10CAA00075AF05E0580F0020680100205C010020F0 +:10CAB00070BC7047521CD2B29442E3D8ECE7FE49F6 +:10CAC00048707047FC484078704738B14AF2B81156 +:10CAD000884203D8F84988800120704700207047B9 +:10CAE000F5488088704710B500F0AFF9102814D0D1 +:10CAF000F24A0146002092F802C0BCF1000F0CD9A6 +:10CB0000131893F803318B4203D1102818BF10BDBE +:10CB100003E0401CC0B28445F2D8082010BDE749AC +:10CB20008A78824286BF01EB001083300020704774 +:10CB3000E24B93F802C084459CBF00207047184424 +:10CB400090F8030103EBC00090F853310B70D0F85C +:10CB500054111160B0F85801908001207047D74AF5 +:10CB6000114491F80321D4490A700268C1F80620E3 +:10CB700080884881704770B516460C460546FBF71D +:10CB800023F8FAF726F9CC48407868B1CB48817889 +:10CB900051B12A19002E0CBF8330C01CFAF7F3F8EC +:10CBA000FAF73AF9012070BD002070BD10B5FAF710 +:10CBB00061F9002804BFFF2010BDBDE81040FAF75E +:10CBC0007FB9FAF757B9BD498A7882429CBF0020E5 +:10CBD0007047084490F8030101EBC00090F85A0137 +:10CBE00000F0010070472DE9F047B44E00273D46A4 +:10CBF000307800288CBFDFF8C882BDE8F0870024B9 +:10CC0000B078002808D9311991F80321AA4204D03C +:10CC1000611CCCB2A042F6D81024A04286BF06EB1D +:10CC20000410C01C002006EBC50999F85A1111F038 +:10CC3000010F16D050B1102C04D0311991F83B11CE +:10CC4000012903D0102100F098FD50B108F80740E9 +:10CC500038467B1C99F8532109F5AA71DFB2FAF71F +:10CC60001CFC681CC5B23078A842C8D8BDE8F08763 +:10CC70002DE9F041914C00263546A07800288CBF64 +:10CC80008F4FBDE8F0816119C0B291F80381A842CD +:10CC900086BF04EB0510C01C002091F83B11012950 +:10CCA00003D0102100F069FD58B104EBC800BD5558 +:10CCB00090F8532100F5AA713046731CDEB2FAF7E2 +:10CCC000ECFB681CC5B2A078A842DCD8BDE8F081B6 +:10CCD00001447A4810B500EB02100A460121833066 +:10CCE000FAF751F8BDE81040FAF796B80A467249CB +:10CCF00010B5497841B1714B997829B10244D81CDB +:10CD0000FAF741F8012010BD002010BD6B4A01EB7D +:10CD1000410102EB41010268C1F80B218088A1F8B2 +:10CD20000F0170472DE9F041644D07460024A878B3 +:10CD3000002898BFBDE8F081C0B2A04217D905EB2A +:10CD4000041010F1830612D01021304600F015FDBA +:10CD500068B904EB440005EB400808F20B113A46B1 +:10CD60003046FBF78BFCB8F80F01A8F80F01601CE8 +:10CD7000C4B2A878A042DFD8BDE8F08101461022F5 +:10CD8000504800F01DBD4F4870474C498A78824298 +:10CD900003D90A1892F843210AB10020704700EB2A +:10CDA000400001EB400000F20B10704743498A78C5 +:10CDB000824206D9084490F83B01002804BF0120B4 +:10CDC0007047002070472DE9F0410E460746154692 +:10CDD0000621304600F0D1FC384C98B1A17871B1F1 +:10CDE00004F59D7011F0010F18BF00F8015FA178E4 +:10CDF000490804D0457000F8025F491EFAD10120AD +:10CE0000BDE8F0813846314600F01FF8102819D0EF +:10CE1000A3780021002B15D9621892F803218242D1 +:10CE20000BD1102918BF08290CD004EB010080F8A1 +:10CE30003B514FF00100BDE8F08101F10101C9B2A1 +:10CE40008B42E9D80020BDE8F0812DE9F0411B4D6F +:10CE50000646002428780F46002811D905EBC400A7 +:10CE600090F85311B14206D10622394600F5AA7056 +:10CE7000F1F7C4FA38B1601CC4B22878A042EDD8EA +:10CE80001020BDE8F0812046BDE8F0810B4910B4C8 +:10CE90004A7801EBC003521E4A70002283F85A21DF +:10CEA00091F802C0BCF1000F16D98B1893F803411A +:10CEB00084420DD1102A07E05C010020580F0020A9 +:10CEC000680100202B1100201CBF10BC704703E03C +:10CED000521CD2B29445E8D80A78521ED2B20A70D7 +:10CEE00082421BD001EBC20201EBC003D2F853C156 +:10CEF000C3F853C1D2F85721C3F857218C7891F861 +:10CF000000C00022002C09D98B1893F80331634527 +:10CF100006D1102A1CBF114481F8030110BC7047D0 +:10CF2000521CD2B29442EFD810BC704770B4494939 +:10CF30000D188A78521ED3B28B7095F8032198424F +:10CF40003DD001EB001401EB031C00EB4000DCF8CA +:10CF50000360C4F80360DCF80760C4F80760DCF81D +:10CF60000B60C4F80B60DCF80F60C4F80F60DCF8ED +:10CF70008360C4F88360DCF88760C4F88760DCF8FD +:10CF80008B60C4F88B60DCF88FC0C4F88FC001EBF5 +:10CF9000030C03EB43039CF8034101EB430385F8C7 +:10CFA000034101EB4000D3F80B41C0F80B41B3F84B +:10CFB0000F31A0F80F319CF83B0185F83B0101EBE4 +:10CFC000C20090F85A0110F0010F1CBF70BC7047EE +:10CFD00000208C78002C0DD90B1893F803C19445D0 +:10CFE00004D110281CBF70BC704703E0401CC0B2C5 +:10CFF0008442F1D80878401EC0B20870904204BF45 +:10D0000070BC704701EBC20301EBC000D0F853C104 +:10D01000C3F853C1D0F85701C3F857018C780B7887 +:10D020000020002C9CBF70BC704700BF01EB000CBF +:10D030009CF803C19C4506D110281CBF084480F809 +:10D04000032170BC7047401CC0B28442EED870BC53 +:10D0500070470000580F002010B50A7B02F01F0235 +:10D060000A73002242768B1893F808C00CF0010373 +:10D070004FEA5C0C0CF0010423444FEA5C0C0CF00A +:10D08000010423444FEA5C0C0CF001041C444FEAF9 +:10D090005C0303F0010CA4445B0803F00104A44406 +:10D0A0005B0803F00104A4440CEB530300EB020CF7 +:10D0B000521C8CF8143090F819C0D2B263444376F5 +:10D0C000052AD0D3D8B2252888BFFFDF10BD0023A2 +:10D0D000C383428401EBC202521EB2FBF1F1018410 +:10D0E000704770B50446002569B14FF4FA42012932 +:10D0F00078D0022975D0032918BF70BD0146BDE85C +:10D1000070407030A8E704F170068022002130469C +:10D11000F1F7CBF9B571F57135737573F573357436 +:10D120007571B576F576212086F84000492086F89D +:10D130004100FE2086F874002688702200212046D7 +:10D14000F1F7B3F92680012684F8646084F86560FD +:10D15000282084F86600002104F1300001F0F3FA81 +:10D160001B22A4F84E20A4F85020A4F85220A4F8C2 +:10D1700054204FF4A470A4F85600A4F85800667325 +:10D180004FF448606080A4F8F050A4F8F250A4F87E +:10D19000F450A4F8F650A4F8F850A4F8FA5084F823 +:10D1A000FD5084F8FF50A4F8065184F80451A4F807 +:10D1B0001851A4F81A5184F8BA5184F8BB5184F874 +:10D1C000C45184F8C55184F8885184F8905184F88A +:10D1D000935184F8AC51C4F8A451C4F8A85170BD5F +:10D1E00000E041E0A4F8065184F8FE506088FE4952 +:10D1F0000144B1FBF0F1A4F890104BF68031A4F893 +:10D200009210E388A4F89850B4F89CC0DB000CFBA3 +:10D2100000FCB3FBF0F39CFBF0FC5B1CA4F89CC08F +:10D220009BB203FB00FC04F17001A4F89A30BCF53A +:10D23000C84FC4BF5B1E4B85B2FBF0F2521C0A867E +:10D2400000F5802202F5EE32531EB3FBF0F20A84A1 +:10D25000CB8B03FB00F2B2FBF0F0C883214604F154 +:10D260007000BDE87040F7E6B4F8B411B4F8B83116 +:10D27000B4F802C004F17000A4F89850B4F89C40CF +:10D28000DB0004FB0CF4B3FBF1F394FBF1F45B1C47 +:10D2900084859BB203FB01F44385B4F5C84FC4BF3A +:10D2A0005B1E4385B2FBF1F2521C0286428C01EBFD +:10D2B000C202521EB2FBF1F20284C28B02FB0CF2DC +:10D2C000B2FBF1F1C18370BD70B50446002569B1B0 +:10D2D0004FF4FA4201295CD002297CD0032918BFFF +:10D2E00070BD0146BDE870407030B5E604F17006CF +:10D2F000802200213046F1F7D8F8B571F571357309 +:10D300007573F57335747571B576F576212086F8E9 +:10D310004000492086F84100FE2086F874002688E7 +:10D32000702200212046F1F7C0F82680012684F8FB +:10D33000646084F86560282084F86600002104F1A8 +:10D34000300001F000FA1B22A4F84E20A4F850206F +:10D35000A4F85220A4F854204FF4A470A4F8560066 +:10D36000A4F858006673A4F8F850202084F8FA0056 +:10D3700084F8F050C4F8F45084F8245184F825510E +:10D3800084F82E5184F82F5184F8145184F82051D8 +:10D3900070BD608894490144B1FBF0F1A4F890108D +:10D3A0004BF68031A4F89210E388A4F89850B4F8B2 +:10D3B0009CC0DB000CFB00FCB3FBF0F39CFBF0FC1F +:10D3C0005B1CA4F89CC09BB204F17001A4F89A30D5 +:10D3D00003FB00FC00E01CE0BCF5C84FC4BF5B1EB3 +:10D3E0004B85B2FBF0F2521C0A8600F5802202F552 +:10D3F000EE32531EB3FBF0F20A84CB8B03FB00F238 +:10D40000B2FBF0F0C883214604F17000BDE8704023 +:10D4100022E6D4F81831B4F802C004F1700059893A +:10D42000DB89A4F89850B4F89C40DB0004FB0CF4B2 +:10D43000B3FBF1F394FBF1F45B1C84859BB203FB1B +:10D4400001F44385B4F5C84FC4BF5B1E4385B2FBEE +:10D45000F1F2521C0286428C01EBC202521EB2FB58 +:10D46000F1F20284C28B02FB0CF2B2FBF1F1C18338 +:10D4700070BD2DE9F003447E0CB1252C03D9BDE825 +:10D48000F00312207047002A02BF0020BDE8F0031D +:10D49000704791F80DC01F260123544D4FF000082E +:10D4A000BCF1000F74D0BCF1010F1EBF1F20BDE8FE +:10D4B000F0037047B0F800C00A7C8F7B91F80F90A2 +:10D4C0007A404F7C87EA090742EA072282EA0C0C7D +:10D4D0005FF000070CF0FF094FEA1C2C99FAA9F93C +:10D4E0009CFAACFC4FEA19694FEA1C6C49EA0C2C17 +:10D4F0000CEB0C1C7F1C9444FFB21FFA8CFC032F16 +:10D50000E8D38CEA020C394F0022ECFB05721209B9 +:10D510006FF0240502FB05C2D2B201EBD20782767E +:10D5200002F007053F7A03FA05F52F4218BFC276CD +:10D530007ED104FB0CF2120C521CD2B25FF000043C +:10D5400000EB040C9CF814C094453CBFA2EB0C0209 +:10D55000D2B212D30D194FF0000C2D7A03FA0CF74A +:10D560003D421CBF521ED2B2002A6FD00CF1010CFA +:10D570000CF0FF0CBCF1080FF0D304F1010C0CF01F +:10D58000FF04052CDCD33046BDE8F0037047FFE70D +:10D5900090F81AC00C7E474604FB02C2134C4FF0B1 +:10D5A000000CE2FB054C4FEA1C1C6FF024040CFB42 +:10D5B0000422D2B201EBD204827602F0070C247A64 +:10D5C00003FA0CFC14EA0C0F1FBFC2764046BDE8FC +:10D5D000F003704790F819C0B2FBFCF40CFB142266 +:10D5E000521CD2B2002403E0FFDB050053E4B36E0B +:10D5F00000EB040C9CF814C094453CBFA2EB0C0259 +:10D60000D2B212D30D194FF0000C2D7A03FA0CF898 +:10D6100015EA080F1CBF521ED2B27AB10CF1010CF0 +:10D620000CF0FF0CBCF1080FF0D304F1010C00E08A +:10D630000FE00CF0FF04052CD5D3A4E70CEBC401DC +:10D64000C1763846BDE8F0037047FFE70CEBC40134 +:10D65000C1764046BDE8F0037047FE4A0168126893 +:10D660001140FD4A126811430160704730B4FB4914 +:10D67000F84B00244FF0010C0A78521CD2B20A7009 +:10D68000202A08BF0C700D781A680CFA05F52A429A +:10D69000F2D0097802680CFA01F15140016030BC07 +:10D6A000704770B46FF01F02010C02EA90251F232F +:10D6B000A1F5AA4054381CBFA1F5AA40B0F155000D +:10D6C00009D0A1F52850AA381EBFA1F52A40B0F113 +:10D6D000AA00012000D100204FF0000C62466446F1 +:10D6E0008CEA0106F6431643B6F1FF3F11D005F070 +:10D6F00001064FEA5C0C4CEAC63C03F001065208F6 +:10D700006D085B08641C42EAC632162CE8D370BC74 +:10D71000704770BC00207047017931F01F0113BFC2 +:10D72000002000221146704710B4435C491C03F0EE +:10D73000010C5B0803F00104A4445B0803F001043E +:10D74000A4445B0803F00104A4445B0803F0010453 +:10D75000A4445B0803F001045B08A44403F0010443 +:10D76000A4440CEB53031A44D2B20529DDDB012A91 +:10D770008CBF0120002010BC704730B40022A1F102 +:10D78000010CBCF1000F11DD431E11F0010F08BFA9 +:10D7900013F8012F5C785FEA6C0C07D013F8025F76 +:10D7A00022435C782A43BCF1010CF7D1491E5CBFCF +:10D7B000405C0243002A0CBF0120002030BC7047AF +:10D7C000002A08BF70471144401E12F0010F03D019 +:10D7D00011F8013D00F8013F520808BF704700BF33 +:10D7E00011F8013C437011F8023D00F8023F521E4F +:10D7F000F6D1704770B58CB000F110041D46164686 +:10D800000DF1FF3C5FF0080014F8012C8CF80120AA +:10D8100014F8022D0CF8022F401EF5D101F1100C66 +:10D820006C460DF10F0108201CF8012C4A701CF801 +:10D83000022D01F8022F401EF6D1204606F0EEFE22 +:10D840007EB16A1E04F130005FF0080110F8013C5F +:10D85000537010F8023D02F8023F491EF6D10CB099 +:10D8600070BD08982860099868600A98A8600B98AD +:10D87000E8600CB070BD38B505460C466846FAF74E +:10D88000C7F9002808BF38BD9DF900202272E07E4C +:10D89000607294F90A100020511A48BF494295F865 +:10D8A0002D308B42C8BF38BDFF2B08BF38BDE17A91 +:10D8B000491CC9B2E17295F82E30994203D8A17A79 +:10D8C0007F2918BF38BDA2720020E072012038BD48 +:10D8D0000C2818BF0B2810D00D2818BF1F280CD0FB +:10D8E000202818BF212808D0222818BF232804D0B8 +:10D8F00024281EBF2628002070474FF001007047E3 +:10D900000C2963D2DFE801F006090E13161B323C26 +:10D91000415C484E002A5BD058E0072A18BF082A0D +:10D9200056D053E00C2A18BF0B2A51D04EE00D2AD6 +:10D930004ED04BE0A2F10F000C2849D946E023B1AC +:10D94000A2F110000B2843D940E0122A18BF112A77 +:10D950003ED090F8380020B1122A37D31A2A37D98E +:10D9600034E0162A32D31A2A32D92FE0A2F10F015D +:10D9700003292DD990F8380008B31B2A28D925E0AF +:10D98000002B08BF042A21D122E013B1062A1FD0A0 +:10D990001CE0012A1AD11BE01C2A1CBF1D2A1E2ACA +:10D9A00016D013E01F2A18BF202A11D0212A18BF31 +:10D9B000222A0DD0232A1CBF242A262A08D005E0BB +:10D9C00013B10E2A04D001E0052A01D000207047CF +:10D9D000012070472DE9F0410D4604468668F7F7AF +:10D9E000D9FD58B9F7F72EFC40F23571F7F711F968 +:10D9F000A0602046F7F7CEFD0028F3D095B1304661 +:10DA0000A168F8F70EF900280CDD2844401EB0FB91 +:10DA1000F5F707FB05F13046F7F7FBF8A06038464D +:10DA2000BDE8F0810020BDE8F08170B50446904269 +:10DA300028BF70BD101B642812D325188D4206D84C +:10DA40000421F8F722F900281CBF284670BD2046A3 +:10DA500070BD0000B8640200BC64020070010020C8 +:10DA60006420EAE711F00C0F13D001F00401002943 +:10DA70000DBF4022102296214FF4167101F5BC71A2 +:10DA8000A0EB010388428CBF93FBF2F0002080B230 +:10DA90007047022919BF6FF00D0101EBD0006FF044 +:10DAA0000E0101EB9000F2E7084418449830002A78 +:10DAB00014BF042100210844704710B4002A14BF89 +:10DAC0004FF429624FF4A472002B19BF4FF429635D +:10DAD0004FF0080C4FF4A4734FF0010C00280CBF5A +:10DAE0000124002491F866001CF00C0F08BF0020F0 +:10DAF000D11808449830002C14BF04210021084498 +:10DB000010BC704700280CBF0123002391F8660069 +:10DB1000002BA0F6482000F5005018BF042318443D +:10DB2000496A81422CBF0120002012F00C0118BF6D +:10DB3000012131EA000014BF00200120704710B419 +:10DB400013680B66137813F00C0318BF0123527887 +:10DB500012F00C0218BF012253EA020C04BF10BCE1 +:10DB60007047002B0CBF4FF4A4734FF42963002AB5 +:10DB700019BF4FF429624FF0080C4FF4A4724FF014 +:10DB8000010C00280CBF0124002491F866001CF051 +:10DB90000C0F08BF00201A4410449830002C14BF0A +:10DBA0000422002210444A6A824224BF10BC7047FB +:10DBB00091F860004FF0030230F00C0381F8603000 +:10DBC00091F8610020F00C0081F8610008BF81F835 +:10DBD0006020002808BF81F8612010BC704710F059 +:10DBE000010F1CBF0120704710F0020F1CBF022064 +:10DBF000704710F0040018BF082070472DE9F04767 +:10DC00000446174689464FF00108084600F0C5FC57 +:10DC10000546484600F0C5FC10F0010F18BF01266C +:10DC200025D000BF15F0010F18BF01232AD000BF77 +:10DC300056EA030108BF4FF0000810F0070F08BFB5 +:10DC4000002615F0070F08BF002394F86400B042C7 +:10DC50000CBF00203046387094F86510994208BF18 +:10DC600000237B70002808BF002B25D115E010F0A1 +:10DC7000020F18BF0226D5D110F0040F14BF0826DA +:10DC80000026CFE715F0020F18BF0223D0D115F000 +:10DC9000040F14BF08230023CAE7484600F087FC9E +:10DCA000B4F87010401A00B247F6FE71884201DCE9 +:10DCB000002801DC4FF0000816B1082E0CD018E047 +:10DCC00094F86400012818BF022812D004281EBF4F +:10DCD0000828FFDF032D0CD194F8C40148B1B4F833 +:10DCE000C801012894F8640006D0082801D0082053 +:10DCF00038704046BDE8F087042818BF0420F7D1EB +:10DD0000F5E7012814BF0228704710F00C0018BF77 +:10DD10000420704738B4CBB2C1F3072CC1B2C0F3B2 +:10DD20000724012B07D0022B09D0042B08BFBCF11C +:10DD3000040F2DD006E0BCF1010F03D128E0BCF1A7 +:10DD4000020F25D0012906D0022907D0042908BFD7 +:10DD5000042C1DD004E0012C02D119E0022C17D0B4 +:10DD600001EA0C0161F3070204EA030161F30F22E7 +:10DD7000D1B211F0020F18BF022310D0C2F3072155 +:10DD80008DF8003011F0020F18BF02211BD111E0F5 +:10DD9000214003EA0C03194061F30702E6E711F0A2 +:10DDA000010F18BF0123E9D111F0040F14BF08239C +:10DDB0000023E3E711F0010F18BF012103D111F097 +:10DDC000040118BF08218DF80110082B01BF000CB9 +:10DDD000012804208DF80000BDF8000038BC704711 +:10DDE0004FF0000C082902D0042909D011E00128C5 +:10DDF0000FD10420907082F803C013800120704777 +:10DE0000012806D00820907082F803C013800120FA +:10DE1000704700207047162A10D12A220C2818BFFC +:10DE20000D280FD04FF0230C1F280DD031B10878EA +:10DE3000012818BF002805D0162805D000207047FB +:10DE4000012070471A70FBE783F800C0F8E701294A +:10DE500008D002290BD0042912BF082940F6A66079 +:10DE6000704707E0002804BF40F2E240704740F6E8 +:10DE7000C410704700B5FFDF40F2E24000BD000073 +:10DE80004078704730B50546007801F00F0220F069 +:10DE90000F0010432870092912D2DFE801F00507AE +:10DEA00005070509050B0F0006240BE00C2409E00B +:10DEB000222407E001240020E87003E00E2401E0A2 +:10DEC0000024FFDF6C7030BD007800F00F00704759 +:10DED0000A68C0F803208988A0F807107047D0F8B6 +:10DEE00003200A60B0F80700888070470A68C0F80D +:10DEF00009208988A0F80D107047D0F809200A6021 +:10DF0000B0F80D00888070470278402322F040026C +:10DF100003EA81111143017070470078C0F380104B +:10DF200070470278802322F0800203EAC111114376 +:10DF3000017070470078C009704770B514460E46EE +:10DF400005461F2A88BFFFDF2246314605F109003A +:10DF5000F0F781FAA01D687070BD70B544780E4668 +:10DF60000546062C38BFFFDFA01F84B21F2C88BFD8 +:10DF70001F24224605F109013046F0F76CFA2046CD +:10DF800070BD70B514460E4605461F2A88BFFFDFD8 +:10DF90002246314605F10900F0F75DFAA01D6870D0 +:10DFA00070BD0968C0F80F1070470A88A0F81320E8 +:10DFB00089784175704790F8242001F01F0122F004 +:10DFC0001F02114380F824107047072988BF0721DA +:10DFD00090F82420E02322F0E00203EA41111143EB +:10DFE00080F8241070471F3008F0A9B810B5044617 +:10DFF00000F009FB002818BF204410BDC17811F0C3 +:10E000003F0F1BBF027912F0010F0022012211F015 +:10E010003F0F1BBF037913F0020F002301231A44A3 +:10E0200002EB4202530011F03F0F1BBF027912F0C6 +:10E03000080F0022012203EB420311F03F0F1BBF28 +:10E04000027912F0040F00220122134411F03F0F55 +:10E050001BBF027912F0200F0022012202EBC20244 +:10E0600003EB420311F03F0F1BBF027912F0100FB8 +:10E070000022012202EB42021A4411F03F0F1BBFA3 +:10E08000007910F0400F00200120104410F0FF0034 +:10E0900014BF012100210844C0B2704770B5027856 +:10E0A000417802F00F02082A4DD2DFE802F004089E +:10E0B0000B4C4C4C0F14881F1F280AD943E00C2925 +:10E0C00007D040E0881F1F2803D93CE0881F1F2885 +:10E0D00039D8012070BD4A1EFE2A34D88446C07843 +:10E0E00000258209032A09D000F03F04601C884201 +:10E0F00004D86046FFF782FFA04201D9284670BDD0 +:10E100009CF803004FF0010610F03F0F1EBF1CF1FA +:10E110000400007810F0100F13D06446042160460C +:10E1200000F071FA002818BF14EB0000E6D0017867 +:10E1300001F03F012529E1D280780221B1EB501F87 +:10E14000DCD3304670BD002070BD70B5017801256C +:10E1500001F00F01002404290AD007290DD0082955 +:10E160001CBF002070BD40780E2836D0204670BD00 +:10E170004078801F1F2830D9F8E7844640789CF803 +:10E1800003108A09032AF1D001F03F06711C814275 +:10E19000ECD86046FFF732FFB042E7D89CF80300A6 +:10E1A00010F03F0F1EBF1CF10400007810F0100F9C +:10E1B00013D066460421604600F025FA002818BFF7 +:10E1C00016EB0000D2D0017801F03F012529CDD215 +:10E1D00080780221B1EB501FC8D3284670BD10B41F +:10E1E000017801F00F01032920D0052921D14478BD +:10E1F000B0F81910B0F81BC0B0F81730827D222C8F +:10E2000017D1062915D3B1F5486F98BFBCF5FA7F31 +:10E210000FD272B1082A98BF8A420AD28B429CBFA1 +:10E22000B0F81D00B0F5486F03D805E040780C2821 +:10E2300002D010BC0020704710BC012070472DE9AF +:10E24000F0411F4614460D00064608BFFFDF214679 +:10E25000304600F0D8F9040008BFFFDF30193A4615 +:10E260002946BDE8F041F0F7F6B8C07800F03F006D +:10E270007047C02202EA8111C27802F03F021143C6 +:10E28000C1707047C07880097047C9B201F00102BF +:10E29000C1F340031A4402EB4202C1F3800303EBD3 +:10E2A0004202C1F3C00302EB4302C1F3001303EBCC +:10E2B00043031A44C1F3401303EBC30302EB4302CD +:10E2C000C1F380131A4412F0FF0202D0521CD2B2E2 +:10E2D0000171C37802F03F0103F0C0031943C1701C +:10E2E000511C417070472DE9F0410546C078164633 +:10E2F00000F03F041019401C0F46FF2888BFFFDFC5 +:10E30000281932463946001DF0F7A5F8A019401C1F +:10E310006870BDE8F081C178407801F03F01401A93 +:10E32000401E80B2704710B590F803C00B460CF049 +:10E330003F0144780CF03F0CA4EB0C0CACF1010C49 +:10E340001FFA8CF4944288BF14462BB10844011D77 +:10E3500022461846F0F77FF8204610BD40787047F7 +:10E3600000B5027801F0030322F003021A430270A1 +:10E37000012914BF0229002104D0032916BFFFDFA1 +:10E38000012100BD417000BD00B5027801F003031A +:10E3900022F003021A430270012914BF022900214E +:10E3A00004D0032916BFFFDF012100BD417000BD6D +:10E3B000007800F003007047417841B1C078192817 +:10E3C00003D2C04A105C884201D10120704700206E +:10E3D000704730B501240546C17019293CBFB948C2 +:10E3E000445C02D3FF2918BFFFDF6C7030BD70B5ED +:10E3F00015460E4604461B2A88BFFFDF65702A4675 +:10E400003146E01CBDE87040F0F725B8B0F80700D1 +:10E410007047B0F809007047C172090A017370476C +:10E42000B0F80B00704730B4B0F80720B0F809C05E +:10E43000B0F805300179941F40F67A45AC4298BF98 +:10E44000BCF5FA7F0ED269B1082998BF914209D272 +:10E4500093429FBFB0F80B00B0F5486F012030BC6D +:10E4600098BF7047002030BC7047001D07F067BEA2 +:10E47000021D0846114607F062BEB0F80900704759 +:10E48000007970470A684260496881607047426855 +:10E490000A60806848607047098881817047808978 +:10E4A000088070470A68C0F80E204968C0F812104A +:10E4B0007047D0F80E200A60D0F81200486070470C +:10E4C0000968C0F816107047D0F816000860704749 +:10E4D0000A68426049688160704742680A608068E3 +:10E4E000486070470968C1607047C068086070473D +:10E4F000007970470A6842604968816070474268E5 +:10E500000A608068486070470171090A417170476C +:10E510008171090AC17170470172090A417270471D +:10E520008172090AC172704780887047C08870473D +:10E53000008970474089704701891B2924BF4189A0 +:10E54000B1F5A47F07D381881B2921BFC088B0F50E +:10E55000A47F01207047002070470A684260496824 +:10E560008160704742680A6080684860704701793E +:10E5700011F0070F1BBF407910F0070F002001209A +:10E580007047017911F0070F1BBF407910F0070F9A +:10E590000020012070470171704700797047417178 +:10E5A0007047407970478171090AC1717047C0880E +:10E5B000704745A282B0D2E90012CDE9001201797C +:10E5C000407901F0070269461DF80220012A07D8A8 +:10E5D00000F00700085C01289EBF012002B07047D0 +:10E5E000002002B070470171704700797047417197 +:10E5F00070474079704730B50C460546FB2988BF07 +:10E60000FFDF6C7030BDC378024613F03F0008BFD7 +:10E6100070470520127903F03F0312F0010F36D046 +:10E62000002914BF0B20704712F0020F32D00129CD +:10E6300014BF801D704700BF12F0040F2DD00229B7 +:10E6400014BF401C704700BF12F0080F28D00329E8 +:10E6500014BF801C704700BF12F0100F23D0042994 +:10E6600014BFC01C704700BF12F0200F1ED0052938 +:10E670001ABF1230C0B2704712F0400F19D00629ED +:10E680001ABF401CC0B27047072918D114E00029F6 +:10E69000CAD114E00129CFD111E00229D4D10EE072 +:10E6A0000329D9D10BE00429DED108E00529E3D103 +:10E6B00005E00629E8D102E0834288BF70470020C8 +:10E6C00070470000C0640200000101020102020361 +:10E6D00030B490F864508C88B1F808C015F00C0F75 +:10E6E0001BD000BFB4F5296F98BF4FF4296490F890 +:10E6F000655015F00C0F17D0BCF5296F98BF4FF47B +:10E70000296C4A88C988A0F84420A0F84810A0F8CD +:10E710004640A0F84AC030BC7047002B1CBF15789B +:10E7200015F00C0FDED1E2E7002B1CBF527812F07F +:10E730000C0FE1D1E5E7DDF800C08181C2810382E1 +:10E74000A0F812C070471B2202838282C28182819C +:10E7500042800281028042848284828359B14FF4D4 +:10E7600029614183C18241820182C18041818180CE +:10E77000C184018570474FF4A4714183C1824182F5 +:10E780000182C18041818180C18401857047F0B4DC +:10E79000B0F84820818F468EC58E8A4228BF0A462F +:10E7A00090F865104FF0000311F00C0F18BF4FF4F4 +:10E7B000296106D1B0F84AC0B0F840108C4538BF86 +:10E7C00061464286C186048FB0F83AC0944238BF91 +:10E7D00014468C4538BF8C460487A0F83AC0B24234 +:10E7E0000ABFA9424FF0010C4FF0000C058EB0F8A3 +:10E7F0004410C28F848E914228BF114690F8642045 +:10E8000012F00C0F18BF4FF4296206D1B0F8466021 +:10E81000B0F84220964238BF324690F85A60022E35 +:10E820000AD001868286A9420ABFA24201200020A6 +:10E8300040EA0C00F0BC70478D4238BF2946944234 +:10E8400038BF224680F85A30EBE7508088899080A4 +:10E85000C889D080088A1081488A508101201070B0 +:10E86000704730B402884A80B0F830C0A1F804C0C4 +:10E87000838ECB80428E0A81C48E4C81B0F8565074 +:10E88000A54204BFB0F85240944208D1B0F85840B5 +:10E890009C4202BFB0F854306345002301D04FF0D2 +:10E8A00001030B7300F13003A0F852201A464B8984 +:10E8B000D3848B889384CA88A0F858204FF0010035 +:10E8C000087030BC704730B404460A46088E91F890 +:10E8D00064104FF4747311F00C0F1CBF03EB801025 +:10E8E00080B21ED0918E814238BF0846118F92F8B7 +:10E8F00065C01CF00C0F1CBF03EB811189B218D04E +:10E90000538F8B4238BF194692F866301CF00C0FBB +:10E9100008BF0023002C0CBF0122002230BCFFF7EF +:10E92000C3B8022907BF80003C30C000703080B2FD +:10E93000D8E7BCF1020F07BF89003C31C900703134 +:10E9400089B2DDE72DE9F041044606F0D3FCC8B9F1 +:10E95000FE4F786890F8221001260025012914D076 +:10E96000017801291BD090F8281001291CBF002034 +:10E97000BDE8F081657018212170D0F82A1061601F +:10E9800080F828500120BDE8F081657007212170D2 +:10E99000416A616080F822500120BDE8F081657015 +:10E9A00014212170811C2022201DEFF754FD2572B7 +:10E9B00079680D7081F82850E54882888284C26B9E +:10E9C000527B80F8262080F82260C86B0088F4F71C +:10E9D0000CFCF4F7B2F8D5E7DC4840680178002970 +:10E9E00014BF80884FF6FF70704730B5D74C83B0A6 +:10E9F0000D4620787F2808BFFFDF94F900307F2084 +:10EA00002070D4F804C09CF85000062808BF0022EB +:10EA100005D09CF8500008280CBF022201229CF867 +:10EA20005400CDE9000302929CF873309CF88020DA +:10EA30000CF13201284606F0C9FC03B0BDE83040B5 +:10EA400006F059BE2DE9F04106F099FC002818BFE8 +:10EA500006F01EFCBD4C606800F1840290F8761050 +:10EA6000895C80F88010002003F07CF828B3F9F767 +:10EA700009F86068B74990F855000D5C2846F8F72A +:10EA80006DFD60684FF0000680F8735090F88010BC +:10EA900011F00C0F0CBF25200F20F8F736FC606832 +:10EAA00090F880100120F8F7DBFD606890F84010C6 +:10EAB000032918BF02290FD103E0BDE8F04101F09E +:10EAC0002FB990F876108430085C012804D1012217 +:10EAD00011460020F9F7BDF8F9F78BF8606890F857 +:10EAE0008050012D07BF0127032100270521A068C1 +:10EAF000FEF7FCF8616881F8520040B1002F18BFA2 +:10EB0000402521D0F8F751F92846F9F753F8606805 +:10EB1000806DF8F7C3FF606890F85410FF291CBFA0 +:10EB20006D30FEF71CF8FF21606880F8531080F804 +:10EB3000541080F8626080F8616080F87D60062182 +:10EB400080F85010BDE8F08115F00C0F14BF55256A +:10EB50005025D7E770B57D4C0646606800F150053A +:10EB60002046806841B1D0F80510C5F81D10B0F8F6 +:10EB70000900A5F8210003E005F11D01FFF7AFF939 +:10EB8000A068FFF7CAF985F82400A0680021032EC9 +:10EB9000018002D0052E04D03DE00321FFF772F979 +:10EBA00039E00521FFF76EF96068C06B00F10E01D6 +:10EBB000A068FFF7F6F96068C06B00F11201A06869 +:10EBC000FFF7F3F9D4E90110CA6B527D8275CA6B65 +:10EBD000D28AC275120A0276CA6B52884276120A2B +:10EBE0008276CA6B9288C276120A0277CA6BD28882 +:10EBF0004277120A8277C96B0831FFF7F4F960682F +:10EC0000C06B017EA068FFF7D6F9606890F88610A7 +:10EC1000A068FFF7DAF905F11D01A068FFF766F9B2 +:10EC200095F82410A068FFF77CF9606800F13205C0 +:10EC300090F8316090F8511091B190F8401003298C +:10EC400006D190F83910002918BF90F8560001D16C +:10EC500090F85300FEF799F800281CBF01260546DE +:10EC60002946A068FFF734F93146A068BDE8704036 +:10EC7000FFF74AB93549496881F84B00704770B5CC +:10EC8000324D00240126A8606968A1F8814081F80E +:10EC9000834081F8506091F85020022A1FBF91F8FC +:10ECA00050100129FFDF70BD06F007FB6868047093 +:10ECB00080F8224080F8284090F8520030B1F8F7F0 +:10ECC00083FFF8F786F8686880F852406868072183 +:10ECD00080F84A4080F8396080F8404080F855401C +:10ECE00080F84B4080F87D4080F8381070BD2DE9E9 +:10ECF000F041164C054686B0606890F85000012837 +:10ED000018BF022805D003281EBF0C2006B0BDE89E +:10ED1000F081687A022839D0F8F739FB0220F8F739 +:10ED2000B7FE0D4901F10C0090E80D108DE80D10B3 +:10ED3000D1E90701CDE904016846F8F797FE60685C +:10ED400090F94B00F8F7FCFBA06807E07401002085 +:10ED50003C110020DF640200DC640200F8F79BFE37 +:10ED6000FC48F8F76FFEFC48F8F7F0FB606890F895 +:10ED700031103230F8F76FFB0F210720F8F789FBCD +:10ED8000606890F83900E0B1FDF772FF6168287A99 +:10ED900001F1840281F87600287A805C81F8800095 +:10EDA000686888652A68CA65687A68B1012824D0CD +:10EDB0000525022808BF81F850506FD0032878D06D +:10EDC00080E0FDF710FFE1E7E44B91F838500022B6 +:10EDD00091F85500401CA3FB006C4FEA5C0CACEBB7 +:10EDE0008C0C604481F8550025FA00F010F0010FFA +:10EDF00003D1501CC2B2032AEAD3002681F87D60F9 +:10EE000091F84900002804BF91F85100002841D032 +:10EE1000F6F718FA074660683946406CF6F701FFC6 +:10EE2000DFF83C83054690FBF8F008FB10504142A8 +:10EE30003846F5F7EEFE6168486495FBF8F08A6F96 +:10EE400010448867FDF74CFE01466068826F91426E +:10EE500020D84764866790F8510000281CBF012025 +:10EE6000FDF760FF0121606890F84A20002A1CBF6E +:10EE700090F84920002A0DD090F8313000F132028C +:10EE8000012B04D1527902F0C002402A08D032305E +:10EE9000F9F72CFC6168042081F8500012E008E0CA +:10EEA0000125FDF770FF61682A463231F9F7E6FB6C +:10EEB000F0E7002A18BFFFDF012000F089FF60683B +:10EEC00080F8505006B00020BDE8F08170B5A54D27 +:10EED000686890F8501004292ED005291CBF0C201A +:10EEE00070BD90F87D100026002990F883104FEA3D +:10EEF000511124D0002908BF012407D0012908BFDF +:10EF0000022403D0022914BF00240824C06D002865 +:10EF10001CBF002000F05CFF6868806DF8F7BEFD44 +:10EF2000686890F84010022943D0032904BF90F884 +:10EF30006C10012941D04DE0FFF784FD52E000291B +:10EF400008BF012407D0012908BF022403D00229E9 +:10EF500014BF00240824C06D00281CBF002000F04E +:10EF600037FF6868806DF8F799FD686890F8401081 +:10EF7000022906D0032904BF90F86C10012904D09F +:10EF800010E090F86C1002290CD1224614F00C0FFE +:10EF900004D090F84C00012808BF04220121002071 +:10EFA000F8F757FE6868072180F8804080F86160B4 +:10EFB00016E090F86C1002290CD1224614F00C0FC8 +:10EFC00004D090F84C00012808BF04220121002041 +:10EFD000F8F73FFE6868082180F8804080F861609B +:10EFE00080F85010002070BD5E49002210F0010F23 +:10EFF000496802D0012281F8842010F0080F03D064 +:10F000001144082081F88400002070475549496860 +:10F0100081F84800704710B5524C636893F830305F +:10F02000022B14BF032B00280BD100291ABF022981 +:10F03000012000201146FDF756FD08281CBF0120C5 +:10F0400010BD606890F83000002816BF022800202C +:10F050000120BDE81040F9F7D1BA4248406890F865 +:10F060003000002816BF022800200120F9F7C6BA98 +:10F070003C49496881F8300070473A49496881F84D +:10F080004A00704770B5374C616891F8300000282D +:10F0900016BF02280020012081F8310001F1320161 +:10F0A000F9F796FA606890F83010022916BF032924 +:10F0B0000121002180F8511090F8312000F1320335 +:10F0C0004FF00005012A04BF5B7913F0C00F0AD08E +:10F0D00000F13203012A04D15A7902F0C002402A19 +:10F0E00001D0002200E0012280F84920002A04BF5C +:10F0F000002970BD8567F6F7A5F86168486491F846 +:10F10000510000281CBF0020FDF70CFE002660689F +:10F1100090F84A1000291ABF90F84910002970BDD4 +:10F1200090F8312000F13201012A04D1497901F02F +:10F13000C001402905D02946BDE870403230F9F7BA +:10F14000D5BAFDF720FE61683246BDE87040323125 +:10F15000F9F794BADC640200E2640200ABAAAAAA3E +:10F1600040420F007401002070B5FF4D0C4600288E +:10F170000CBF01230023696881F8393081F842000F +:10F180004FF0080081F856000CD1002C1ABF022C59 +:10F19000012000201146FDF7A6FC6968082881F8C7 +:10F1A000560001D0002070BD022C14BF032C122089 +:10F1B000F8D170BD002818BF112070470328EA4A13 +:10F1C000526808BFD16382F840000020704710B534 +:10F1D000E54C606890F8401003291CBF002180F8BE +:10F1E000601001D0002010BD0123C16B1A46002021 +:10F1F000FEF763FC6168CA6B526A904294BF0120BB +:10F20000002081F86000EDE7D748416891F84000A0 +:10F21000032804D0012818BF022807D004E091F881 +:10F220004200012808BF70470020704791F8410054 +:10F23000012814BF03280120F6D1704770B5F8F7F4 +:10F24000ADFCF8F78CFCF8F753FBF8F701FCC64C63 +:10F250000025606890F8520030B1F8F7B5FCF7F778 +:10F26000B8FD606880F8525060680121A0F88150B4 +:10F2700080F8835080F8501080F82850002070BD2E +:10F28000B94810B54068643006F0EBFB002010BDB3 +:10F29000B5480121406890F84020032A03BF80F858 +:10F2A0002A10C26B1288002218BF80F82A2082859B +:10F2B00080F828107047AC49496881F8860070478B +:10F2C0000178002311F0010FA749496809D042785D +:10F2D000032A08BFCB6381F84020012281F88420F3 +:10F2E0001346027812F0040F0CD082784FF0000C15 +:10F2F000032A08BFC1F83CC081F840200B44082213 +:10F3000083F88420C27881F830200279002A16BF61 +:10F31000022A0123002381F8393081F84120427903 +:10F3200081F83820807981F848004FF0000070475C +:10F330008D4840688030704770B58B4C06460D464E +:10F34000606890F85000032818BFFFDF022E1EBF30 +:10F35000032EFFDF70BD002D18BF06F0DBF9002182 +:10F360006068A0F8811080F88310012180F85010A7 +:10F3700070BD00F0D5BC2DE9F0477B4C06468946B0 +:10F3800060684FF00108072E90F8397038BF0325E8 +:10F3900040D3082E84BF0020BDE8F08790F85010BD +:10F3A000062908BF002105D090F8501008290CBF8D +:10F3B0000221012190F8800005F0E8FF002873D1B8 +:10F3C000A068C17811F03F0F12D0027912F0010F3E +:10F3D0000ED061684FF0050591F85220002A18BF41 +:10F3E000B9F1000F16D091F88010012909D011E071 +:10F3F00011F03F0F1ABF007910F0100F002F53D1FA +:10F400004CE04FF001024FF00501FDF7B4FB6168DD +:10F4100081F85200A16808782944C0F3801030B107 +:10F42000487900F0C000402808BF012000D000202B +:10F43000616891F85210002918BF002807D0FDF725 +:10F44000B5FB0146606880F8531080F86180606801 +:10F4500090F85310FF292AD080F854100846FDF781 +:10F46000B2FB40EA0705606890F85320FF2A18BFF6 +:10F47000002D10D0072E0ED3A068C17811F03F0FD9 +:10F4800009D0017911F0020F05D00B21FDF720FC06 +:10F49000606880F862802846BDE8F087FDF75EF975 +:10F4A000002808BFBDE8F0870120BDE8F087A36809 +:10F4B00090F8392059191B78C3F3801C00F15303CD +:10F4C0006046FDF7B0F90546CDE72DE9F043264C3F +:10F4D00087B0A068FEF7D6FE7F264FF00108002512 +:10F4E00058B1022701287DD0022800F0EF80F8F7FC +:10F4F000FFF907B00620BDE8F083F8F7F9F9616875 +:10F5000091F84000032800F01581A068C27812F03D +:10F510003F0F05D0037913F0100F18BF012700D15A +:10F520000027002F14BF0823012312F03F0F00F023 +:10F530000181007933EA000240F0FC8010F0020FF4 +:10F5400008D091F88000002105F09EFE002808BF39 +:10F55000012000D000208DF80C508DF810508DF84F +:10F5600014504FF0FF0801E074010020D0B105AA4B +:10F5700003A904A800F07AFC606890F831809DF837 +:10F580000C00002818BF48F002080BD1A068FEF755 +:10F59000D1FC81460121A068FEF728FD4946F7F716 +:10F5A00064FF28B3FFB1012000F0DDFB002852D03A +:10F5B00020787F2808BFFFDF94F90010267060686C +:10F5C00090F85420CDE90021029590F8733090F81E +:10F5D000802000F13201404605F0F8FE606880F8B6 +:10F5E0006C50A3E038E041460020FFF7FEF9A1E0AF +:10F5F000606890F84100032818BF02282BD19DF8BD +:10F600001000002827D09DF80C00002823D1F7B166 +:10F61000012000F0A8FB00281DD020787F2808BF1B +:10F62000FFDF94F900102670606890F85420CDE94F +:10F630000021029590F8733090F8802000F132019B +:10F64000FE2005F0C3FE606880F86C506EE0FE217D +:10F650000020FFF7CAF96DE0F8F74AF9A068182111 +:10F66000C27812F03F0F65D00279914362D1042134 +:10F67000FEF7BCFC616891F84020032A01BF807846 +:10F68000B7EB501F91F86000002853D04FF00100F5 +:10F6900000F069FBE8B320787F2808BFFFDF94F90A +:10F6A00000102670606890F85420CDE90021029582 +:10F6B00090F8733090F8802000F13201FF2005F0BF +:10F6C00085FE606880F86C8030E000BFF8F710F9C4 +:10F6D000606890F8400003282CD0A0681821C278F8 +:10F6E00012F03F0F26D0007931EA000022D101202C +:10F6F00000F039FB68B120787F2808BFFFDF94F95C +:10F7000000102670606890F85420CDE90021029521 +:10F7100000E00FE090F8733090F8802000F13201A3 +:10F72000FF2005F053FE606880F86C7007B003207E +:10F73000BDE8F08307B00620BDE8F083F0B5FE4CCD +:10F74000074683B060686D460078002818BFFFDF69 +:10F75000002661688E70C86B02888A8042884A835E +:10F7600082888A83C088C88381F8206047B10121DC +:10F77000A068FEF73BFC0546A0680078C10907E0D9 +:10F780006946A068FEF7ABFBA0680078C0F3801163 +:10F790006068012790F85120002A18BF002904D082 +:10F7A0006A7902F0C002402A26D090F84A20002A46 +:10F7B00018BF002903D0697911F0C00F1CD000F1E7 +:10F7C0000E00E3F719FC616891F85400FF2819D086 +:10F7D00001F10802C91DFDF7ABF9002808BFFFDFE2 +:10F7E0006068C17941F00201C171D0F86D104161CA +:10F7F000B0F8711001830FE02968C0F80E10A988D5 +:10F800004182E0E7C86B427ECA71D0F81A208A6054 +:10F81000C08B88814E610E8360680770C26B90F860 +:10F820004B1082F86710C06B0088F3F7DEFCF3F72B +:10F8300075F903B0F0BD2DE9F041BF4C0546002736 +:10F8400060684FF001083E4690F84000012818BF5C +:10F85000022802D0032818BFFFDF5DB1A068FEF7C1 +:10F860001DFC18B9A068FEF770FC18B100F08FFB02 +:10F87000074645E0606890F850007F25801F062805 +:10F880003ED2DFE800F003191924352FAA48F8F713 +:10F89000BFF9002808BF2570F8F7A1F9606890F853 +:10F8A000520030B1F8F790F9F7F793FA606880F8F2 +:10F8B0005260F8F71DF830E09F48F8F7A9F90028E2 +:10F8C00008BF2570F8F78BF905F024FFC3E09A48CC +:10F8D000F8F79EF9002808BF2570F8F780F9F8F7C7 +:10F8E00007F81AE09448F8F793F930B9257004E066 +:10F8F0009148F8F78DF90028F8D0F8F770F9AAE0E8 +:10F90000102F80F03881DFE807F01E9DA6AAF1F1E4 +:10F9100008B3F2F1F1F10C832051BDE8F041FFF79B +:10F9200091B8032002F01EF9002870D000210320B6 +:10F93000FFF710F9012211461046F8F78AF96168BD +:10F940000C2081F85000BDE8F081606800F150059E +:10F95000042002F007F900287DD00E202870012035 +:10F9600002F0FDFCA06861680078C0F3401081F8E7 +:10F97000750000210520FFF7EDF87048A1684FF0F1 +:10F98000200CC26B0B78527B23F020030CEA42124E +:10F990001A430A70C16B95F825304A7B1A404A73A6 +:10F9A000C06B282180F86610BDE8F081062002F0C7 +:10F9B000D9F800284FD0614D0F2085F85000022063 +:10F9C00002F0CDFC6068012190F880200846F8F72D +:10F9D00040F9A06861680078C0F3401081F87500B4 +:10F9E00001210520FFF7B6F8E86B80F80D80A068CC +:10F9F000017821F020010170F8F7FDFC002818BF04 +:10FA0000FFDF2820E96B81F86600BDE8F08122E085 +:10FA1000052002F0A7F8F0B101210320FFF79AF8C2 +:10FA2000F8F7E9FC002818BFFFDF6068012190F8B3 +:10FA300080200846F8F70DF961680D2081F8500024 +:10FA4000BDE8F0816068A0F8816080F8836080F88C +:10FA50005080BDE8F081BDE8F04100F061B9616817 +:10FA6000032081F85000BDE8F041082002F077BC87 +:10FA7000606890F88310490908BF012507D0012963 +:10FA800008BF022503D0022914BF00250825C06D38 +:10FA900000281CBF002000F09BF96068806DF7F71C +:10FAA000FDFF606890F84010022906D0032904BFCA +:10FAB00090F86C10012904D010E090F86C10022925 +:10FAC0000CD12A4615F00C0F04D090F84C000128F8 +:10FAD00008BF042201210020F8F7BBF86068072165 +:10FAE00080F8805080F8616041E000E043E06068A9 +:10FAF00090F88310490908BF012507D0012908BFE4 +:10FB0000022503D0022914BF00250825C06D002856 +:10FB10001CBF002000F05CF96068806DF7F7BEFF45 +:10FB2000606890F8401002290AD0032904BF90F8B9 +:10FB30006C10012908D014E0740100203C11002051 +:10FB400090F86C1002290CD12A4615F00C0F04D045 +:10FB500090F84C00012808BF042201210020F8F78A +:10FB600078F86068082180F8805080F8616080F83B +:10FB70005010BDE8F081FFDFBDE8F08170B5FE4CAC +:10FB8000606890F8503000210C2B38D001220D2BEA +:10FB900040D00E2B55D00F2B1CBFFFDF70BD0420B3 +:10FBA00002F0DDFB606890F880100E20F7F7ADFBE7 +:10FBB000606890F8800010F00C0F14BF282100211D +:10FBC0009620F7F789FFF8F714F86068052190F898 +:10FBD0008050A068FDF78AF8616881F8520048B14A +:10FBE00015F00C0F0CBF50255525F7F7DEF8284609 +:10FBF000F7F7E0FF61680B2081F8500070BDF7F760 +:10FC0000F8FF00219620F7F767FF6168092081F867 +:10FC1000500070BD90F88010FF20F7F776FB606809 +:10FC200090F8800010F00C0F14BF282100219620BE +:10FC3000F7F752FFF7F7DDFF61680A2081F85000FF +:10FC400070BDA0F8811080F8831080F8502000204B +:10FC5000FFF774FDBDE87040032002F080BB70B573 +:10FC6000C54C606890F850007F25801F062828BF8B +:10FC700070BDDFE800F0171F1D032A11BE48F7F71B +:10FC8000C7FF002808BF2570F7F7A9FFF7F730FE78 +:10FC9000BDE87040FEF7D6BEB748F7F7B9FFC8B960 +:10FCA000257017E0B448F7F7B3FF40B9257006E0B8 +:10FCB00005F030FDB048F7F7ABFF0028F6D0F7F7B6 +:10FCC0008EFFBDE8704000F02BB8AB48F7F7A0FFFF +:10FCD0000028E5D0F7F783FF60680021643005F065 +:10FCE00071FEBDE8704000F01BB870B5A24C06462E +:10FCF0000D46012908D0606890F880203046BDE8A4 +:10FD00007040134602F077BBF7F726FA61680346A6 +:10FD1000304691F880202946BDE8704002F06BBB68 +:10FD200070B5F7F73BFFF7F71AFFF7F7E1FDF7F7C5 +:10FD30008FFE914C0025606890F8520030B1F7F7C3 +:10FD400043FFF7F746F8606880F852506068022178 +:10FD500080F85010A0F8815080F88350BDE87040C2 +:10FD6000002002F0FCBA70B5834D06460421A86855 +:10FD7000FEF73CF9044605F002FB002808BF70BD01 +:10FD8000207800F03F00252814D2F7F72BFA2178CD +:10FD900011F0800F0CBF1E214FF49671B4F80120B2 +:10FDA000C2F30C0212FB01F10A1AB2F5877F28BFD9 +:10FDB000814201D2002070BD68682188A0F88110BE +:10FDC000A17880F883103046BDE8704001F0CABECB +:10FDD0002DE9F041684C0746606800F1810690F813 +:10FDE0008300400908BF012507D0012808BF02256C +:10FDF00003D0022814BF00250825F7F743FE30780A +:10FE000000F03F063046F7F7A9FB606880F87360A2 +:10FE100090F86C0002280CBF4020FF202946F7F71D +:10FE200074FA27B129460120F7F75FFC05E0606806 +:10FE30002A46C16D0120F7F7A1FCF7F7DAFE05218C +:10FE4000A068FCF753FF6168002881F8520008BFE2 +:10FE5000BDE8F08115F00C0F0CBF50245524F6F7C7 +:10FE6000A4FF2046BDE8F041F7F7A4BE2DE9F74F07 +:10FE7000414C0025914660688A4690F85100002860 +:10FE80000CBF4FF001084FF00008A0680178CE09C0 +:10FE90000121FEF7ABF836B1407900F0C0004028F0 +:10FEA00008BF012600D00026606890F85210002993 +:10FEB00061D090F840104FF0000B032906D190F864 +:10FEC0003910002918BF90F856700ED1A068C1787B +:10FED00011F03F0F1CBF007910F0010F02D105F0A7 +:10FEE0009BF940B3606890F85370FF2F18BF082F3C +:10FEF00021D03846FCF7D8FB002818BF4FF0010886 +:10FF0000002E38D0606890F8620030B1FCF759FEDE +:10FF10000546606880F862B02DE03846FCF7FFFDCA +:10FF200005460121A068FEF761F801462846F8F76A +:10FF300073FB05461FE0F6B1606890F86100D0B928 +:10FF4000A068C17811F03F0F05D0017911F0010FC1 +:10FF500018BF0B2100D105210022FCF70CFE6168BF +:10FF600081F8520038B1FCF721FEFF2803D0616808 +:10FF7000012581F8530001E0740100208AF8005047 +:10FF80000098067089F8008003B0BDE8F08F2DE975 +:10FF9000F04FFF4C87B00025606890F850002E4667 +:10FFA000801F4FF07F08062880F0D581DFE800F041 +:10FFB0000308088BFDDB00F0F8FB054600F0CCB928 +:10FFC000F348F7F725FE002808BF84F80080F7F70C +:10FFD00006FEA068FDF778FF0546072861D1A068F6 +:10FFE000FEF750F90146606890F86C208A4258D1BB +:10FFF00090F85010062908BF002005D090F8500056 +:020000040002F8 +:1000000008280CBF0220012005F0C4F970B90321B3 +:10001000A068FDF7EBFF002843D001884078C1F3CA +:100020000B01000905F0B5FC00283AD00021284654 +:10003000FFF7A1F9A0B38DF80C608DF808608DF87A +:1000400004606268FF2592F8500008280CBF022166 +:100050000121A068C37813F03F0F1CBF007910F096 +:10006000020F12D092F8800005F00EF968B901AACB +:1000700003A902A8FFF7FAFE606890F831509DF8D6 +:100080000C00002818BF45F002052B469DF80420FF +:100090009DF808109DF80C0000F0D5F9054603E026 +:1000A000FFE705F037FB0225606890F85200002852 +:1000B00000F05281F7F788FDF6F78BFE606880F854 +:1000C000526000F049B9A068FDF7FEFE0646A1683F +:1000D0006068CA7890F86D309A4221D10A7990F818 +:1000E0006E309A421CD14A7990F86F309A4217D1FB +:1000F0008A7990F870309A4212D1CA7990F87130AA +:100100009A420DD10A7A90F872309A4208D1097851 +:1001100090F87400C1F38011814208BF012500D01E +:100120000025F7F7E5FB9A48F7F772FD002808BFAE +:1001300084F80080F7F753FD042E11D185B12078A3 +:100140007F2808BFFFDF94F9003084F800806068E2 +:1001500090F8732090F87D1090F8540005F0A8FBFB +:10016000062500F0F9B802278948F7F751FD002865 +:1001700008BF84F80080F7F732FDA068FDF7A4FE01 +:100180000546A068FEF77EF8082D08BF00287CD140 +:10019000A0684FF00301C27812F03F0F75D00079CC +:1001A00031EA000071D1606800E095E000F150088C +:1001B00090F83900002814BF98F8066098F803609A +:1001C0004FF0000998F8020078B1FCF7EFFC054603 +:1001D000FF280AD00146A068401DFCF7C0FCB542CC +:1001E0000CBF4FF001094FF000090021A068FDF796 +:1001F000FDFE062208F11D01EEF700F940B9A068E6 +:10020000FDF78BFE98F82410884208BF012000D02B +:10021000002059EA00095DD0606800F1320590F8CD +:1002200031A098F8010038B13046FCF7AEFD002847 +:100230001CBF05464FF0010A4FF00008A068017886 +:100240004FEAD11B0121FDF7D1FEBBF1000F07D012 +:10025000407900F0C000402808BF4FF0010B01D0EA +:100260004FF0000B0121A068FDF7C0FE06222946D1 +:10027000EEF7C4F830B9A068FDF75CFE504508BF42 +:10028000012501D04FF0000500E023E03BEA050026 +:1002900018BFFF2E0DD03046FCF741FC060008D0F9 +:1002A0000121A068FDF7A2FE01463046F8F7B4F937 +:1002B000804645EA080019EA000F0BD0606801216A +:1002C000643005F07FFB01273846FFF737FA052039 +:1002D00002F045F83D463FE002252D48F7F798FC2F +:1002E000002808BF84F80080F7F779FCA068FDF7C4 +:1002F000EBFD0646A068FDF7C5FF072E08BF0028E6 +:100300002AD1A0684FF00101C27812F03F0F23D02C +:100310000279914320D1616801F150060021FDF777 +:1003200065FE062206F11D01EEF768F8A0B9A06887 +:10033000FDF7F3FD96F8241088420DD16068012185 +:10034000643005F03FFBFF21022000F009F800288F +:1003500018BF032500E0FFDF07B02846BDE8F08F97 +:100360002DE9F0430A4C0F4601466068002683B031 +:1003700090F87D20002A35D090F8500008280CBF56 +:1003800002250125A168C87810F03F0F02E00000A7 +:1003900074010020FD484FF000084FF07F0990F9EC +:1003A00000001CBF097911F0100F22D07F2808BF70 +:1003B000FFDF94F9001084F80090606890F85420F2 +:1003C000CDE90021029590F8733090F8802000F17B +:1003D0003201384604F0FAFF05F0E4FA10B305F0F4 +:1003E0008AF92CE0002914BF0221012180F87D1038 +:1003F000C2E77F2808BFFFDF94F9001084F800905F +:10040000606890F85420CDE90021029590F873308F +:1004100090F8802000F13201384604F0D7FF05F053 +:100420006AF90CE00220FFF79EFC30B160680126FB +:1004300080F86C80F7F75CFA01E005F06BF903B027 +:100440003046BDE8F0832DE9F047D04C054684B036 +:100450009A4617460E46A068FDF714FF4FF00109B3 +:10046000002800F0CF804FF00208012808D00228B1 +:1004700000F00E8105F04EF904B04046BDE8F0876B +:10048000A0680921C27812F03F0F00F0598102796B +:10049000914340F05581616891F84010032906D0DE +:1004A00012F0020F08BFFF2118D05DB115E0002146 +:1004B000FDF79CFD61680622C96B1A31EDF79EFFBE +:1004C00048BB1EE0FDF736FD05460121A068FDF79B +:1004D0008DFD2946F6F7C9FF18B15146012000F0FD +:1004E00051B9606890F84100032818BF022840F015 +:1004F0002781002E1CBFFE21012040F0438100F027 +:100500001FB9A068FDF709FD6168C96B497E884283 +:1005100008BF012600D00026A068C17811F03F0F67 +:1005200005D0017911F0020F01D06DB338E0616898 +:1005300091F84220012A01D096B11BE0D6B90021E2 +:10054000FDF754FD61680268C96BC1F81A20808804 +:10055000C883A068FDF7E1FC6168C96B487609E0D3 +:1005600091F8530091F85610884203D004B04046E9 +:10057000BDE8F0876068643005F068FA002840D074 +:1005800004B00F20BDE8F08767B1FDF7D3FC054646 +:100590000121A068FDF72AFD2946F6F766FF08B19C +:1005A000012200E00022616891F84200012807D092 +:1005B00040B92EB991F8533091F856108B4201D1C1 +:1005C000012100E000210A421BD0012808BF002EB3 +:1005D00011D14FF00001A068FDF708FD61680268C5 +:1005E000C96BC1F81A208088C883A068FDF795FC04 +:1005F0006168C96B48766068643005F027FA0028A6 +:10060000BED19DE060682F46554690F840104FF0EF +:1006100002080329AAD0A168CA7812F03F0F1BBFB5 +:10062000097911F0020F002201224FF0FF0A90F821 +:10063000501008290CBF0221012192B190F88000CE +:1006400004F022FE68B95FB9A068FDF773FC0746A5 +:100650000121A068FDF7CAFC3946F6F706FF48B14C +:10066000AA4651460020FFF77BFE002818BF4FF036 +:1006700003087BE7606890F84100032818BF022850 +:100680007FF474AF002E18BF4FF0FE0AE9D16DE77A +:10069000616891F84030032B52D0A0684FF0090CEC +:1006A000C27812F03F0F4BD002793CEA020C47D1DE +:1006B000022B06D012F0020F08BFFF2161D0E5B374 +:1006C0005EE012F0020F4FF07F0801D04DB114E050 +:1006D00001F1640005F0BAF980B320787F2842D098 +:1006E00013E067B3FDF726FC05460121A068FDF77E +:1006F0007DFC2946F6F7B9FE08B36068643005F062 +:10070000A5F9D8B120787F282DD094F9001084F86D +:100710000080606890F85420CDE90021CDF8089061 +:1007200090F8733090F8802000F13201504604F0C8 +:100730004DFE0D2004B0BDE8F08716E000E001E0BA +:100740000220F7E7606890F84100032818BF0228EC +:10075000F6D1002EF4D04FF0FE014FF00200FEF76C +:1007600044F90220E6E7FFDFCFE7FDF7E3FB0546AC +:100770000121A068FDF73AFC2946F6F776FE38B16C +:1007800051460220FEF731F9DAE70000740100203B +:10079000606890F84100032818BF0228D0D1002ECD +:1007A0001CBFFE210220EDD1CAE72DE9F84F4FF022 +:1007B0000008F748F7F72CFA7F27F54C002808BF08 +:1007C0002770F7F70CFAA068FDF77EFB8146012140 +:1007D000FEF7D1FD616891F88020012A14D0042A27 +:1007E0001CBF082AFFDF00F0D781606890F8520034 +:1007F00038B1F7F7E9F9F6F7ECFA6168002081F80B +:1008000052004046BDE8F88F0125E24EB9F1080FCD +:100810003AD2DFE809F03EC00439393914FC054604 +:10082000F7F766F8002D72D0606890F84000012854 +:1008300018BF02286BD120787F2869D122E018B335 +:1008400091F84000022802D0012818D01CE020783E +:100850007F2808BFFFDF94F90000277000906068D0 +:10086000FF2190F8733090F85420323004F069FF83 +:10087000616800204FF00C0881F87D00B5E7207812 +:100880007F2860D1FFDF5EE0F7F732F84FF006080F +:10089000ABE74FF00008002800F0508191F84000CD +:1008A000022836D001284BD003289ED1A068CA6BFD +:1008B000C37892F81AC0634521D1037992F81BC01E +:1008C00063451CD1437992F81CC0634517D18379E5 +:1008D00092F81DC0634512D1C37992F81EC06345DA +:1008E0000DD1037A92F81FC0634508D1037892F8BE +:1008F00019C0C3F38013634508BF012300D0002350 +:1009000091F8421001292CD0C3B300F013B93FE095 +:1009100019E020787F2808BFFFDF94F900002770D6 +:1009200000906068FF2190F8733090F854203230C6 +:1009300004F007FF60684FF00C0880F87D5054E722 +:1009400020787F289ED094F900002770009060687E +:10095000FF2190F8733090F85420323004F0F1FE0B +:1009600016E0002B7ED102F11A01FDF7B8FAA0685B +:10097000FDF7D3FA6168C96B4876DBE0FFE796F8CC +:100980005600082870D096F8531081426AD0D5E0FE +:100990004FF0060829E7054691F8510000280CBFE2 +:1009A0004FF0010B4FF0000B4FF00008A06810F85B +:1009B000092BD20907D0407900F0C000402808BFB9 +:1009C0004FF0010A01D04FF0000A91F840000328CF +:1009D00006D191F83900002818BF91F8569001D13E +:1009E00091F853904846FCF79AF80090D8B34846DF +:1009F000FBF75AFE002818BF4FF0010BBAF1000FA9 +:100A000037D0A068A14600F10901009800E0B6E0E7 +:100A1000F7F702FE5FEA0008D9F8040090F8319079 +:100A200018BF49F00209606890F84010032924D0EB +:100A3000F6F75EFF002DABD0F6F727FD002808BFC4 +:100A4000B8F1000F7DD020787F2808BFFFDF94F930 +:100A50000000277000906068494690F8733090F865 +:100A6000542002E066E004E068E0323004F069FE01 +:100A70008EE7606890F83190D5E7A168C06BCA78BE +:100A8000837E9A421BD10A79C37E9A4217D14A7952 +:100A9000037F9A4213D18A79437F9A420FD1CA7950 +:100AA000837F9A420BD10A7AC37F9A4207D1097891 +:100AB000407EC1F38011814208BF012700D000278A +:100AC00096F85300082806D096F85610884208BFBA +:100AD0004FF0010901D04FF00009B8F1000F05D126 +:100AE000BBF1000F04D0F6F7D0FC08B1012000E004 +:100AF00000204DB196F84210012903D021B957EAE0 +:100B0000090101D0012100E00021084216D06068EF +:100B100090F84210012908BF002F0BD1C06B00F1E3 +:100B20001A01A068FDF7DBF9A068FDF7F6F9616826 +:100B3000C96B48764FF00E0857E602E0F6F7D8FE8C +:100B400026E7606890F84100032818BF02287FF468 +:100B50001FAFBAF1000F3FF41BAF20787F2808BF0A +:100B6000FFDF94F90000277000906068FE2190F884 +:100B7000733090F85420323004F0E3FD08E791F828 +:100B80004810002918BF00283FF47EAE0BE000009B +:100B9000740100203C110020B9F1070F7FF474AEFE +:100BA00000283FF471AEFEF790FC80461DE6000081 +:100BB000D0F8001149B1D0E941231A448B691A4495 +:100BC0008A61D0E93F12D16003E0FE4AD0F8FC1000 +:100BD0001162D0E93F1009B1086170470028FCD0CC +:100BE0000021816170472DE9FF4F06460C46488879 +:100BF00083B040F2E24148430190E08A002500FBC7 +:100C000001FA94F87C0090460D2822D00C2820D0C0 +:100C100024281ED094F87D0024281AD00020834672 +:100C2000069818B10121204603F0C0F894F864102A +:100C300094F86500009094F8F0200F464FF47A790C +:100C40004AB1012A61D0022A44D0032A5DD0FFDFD5 +:100C5000B5E00120E3E7B8F1000F00D1FFDFD9488C +:100C600014F8641F243090F83400FDF7F0F8019078 +:100C70002078F7F76FFB4D4600F2E730B0FBF5F157 +:100C8000DFF84093D9F80C0001EB00082078F7F763 +:100C900061FB014614F86409022816D0012816D019 +:100CA00040F6340008444AF2EF010844B0FBF5F185 +:100CB0000198D9F81C20411A514402EB08000D1884 +:100CC000012084F8F0002D1D78E02846EAE74FF473 +:100CD000C860E7E7DFF8EC92A8F10100D9F8081046 +:100CE000014300D1FFDFB848B8F1000F016801EB04 +:100CF0000A0506D0D9F8080000F22530A84200D92C +:100D0000FFDF032084F8F00058E094F87C20019D78 +:100D1000242A05D094F87D30242B01D0252A3AD1FD +:100D2000B4F87020B4F81031D21A521C12B2002A52 +:100D300031DB94F8122172B3174694F8132102B1F3 +:100D400010460090022916D0012916D040F6340032 +:100D500049F608528118022F12D0012F12D040F606 +:100D600034001044814210D9081A00F5FA70B0FB23 +:100D7000F9F005440FE04846EAE74FF4C860E7E7BA +:100D80004846EEE74FF4C860EBE7401A00F5FA700A +:100D9000B0FBF9F02D1AB8F1000F0FD0DFF8248264 +:100DA000D8F8080018B9B8F8020000B1FFDFD8F889 +:100DB000080000F22530A84200D9FFDF05B9FFDFA7 +:100DC0002946D4F8F400F3F724FFC4F8F400B06027 +:100DD000002030704FF0010886F80480204603F0B0 +:100DE00040F8ABF10101084202D186F8058005E028 +:100DF00094F8F000012844D003207071606A3946ED +:100E0000009A01F042FBF060069830EA0B0035D002 +:100E100029463046FCF7DEFD87B2204603F021F874 +:100E2000B8420FD8074686F8058005FB07F1D4F8CD +:100E3000F400F3F7EEFEB06029463046FCF7CAFD39 +:100E4000384487B23946204602F0B0FFB068C4F893 +:100E5000F400A06E002811D0B4F87000B4F894200B +:100E6000801A01B2002909DD34F86C0F0144491ED3 +:100E700091FBF0F189B201FB0020208507B0BDE8AD +:100E8000F08F0220B9E72DE9F04106460C4601201B +:100E900001F0DBFAC5B20B2001F0D7FAC0B28542EF +:100EA00000D0FFDF0025082C7ED2DFE804F00461CB +:100EB000696965C68293304601F0DDFA0621F2F7D2 +:100EC00061F8040000D1FFDF304601F0D4FA218838 +:100ED000884200D0FFDF94F8F00000B9FFDF204621 +:100EE00002F00FFE374E21460020B5607580F56197 +:100EF000FDF7E9FC00F19807606AB84217D994F849 +:100F00006500F6F7D5F8014694F864004FF47A725C +:100F1000022828D0012828D040F6340008444AF29C +:100F200047310844B0FBF2F1606A0844C51B214612 +:100F300000203561FDF7C7FC618840F2E242514371 +:100F40009830081AA0F22530706194F8652094F862 +:100F50006410606A01F099FAA0F29510B061BDE8E2 +:100F6000F041F4F72BBE1046D8E74FF4C860D5E740 +:100F7000BDE8F04102F02FBEBDE8F041F6F785BEB6 +:100F8000304601F078FA0621F1F7FCFF040000D1A9 +:100F9000FFDF304601F06FFA2188884200D0FFDF82 +:100FA00001220021204600E047E0BDE8F04101F0C9 +:100FB00089BAF6F729FDF6F768FE02204FF0E02126 +:100FC00004E00000C411002084010020C1F8800268 +:100FD000BDE8F081304601F04EFA0621F1F7D2FF6C +:100FE000040000D1FFDF304601F045FA2188884235 +:100FF00000D0FFDF94F8F000042800D0FFDF84F871 +:10100000F05094F8FA504FF6FF76202D00D3FFDF12 +:10101000F94820F8156094F8FA00F4F7F4F800B9EC +:10102000FFDF202084F8FA002046FFF7C1FDF348D7 +:101030000078BDE8F041E1F767BFFFDFC8E770B5B2 +:10104000ED4C0025443C84F82850E07868B1E57008 +:10105000FEF71EF92078042803D0606AFFF7A8FD88 +:101060006562E6480078E1F74FFFBDE8704001F0A7 +:101070003ABA70B5E04C0146443CE069F4F7D1FD62 +:101080006568A27890FBF5F172B140F27122B5FB70 +:10109000F2F292B2A36B01FB02F6B34202D901FB5A +:1010A000123200E00022A2634D43002800DAFFDF85 +:1010B0002946E069F3F7ADFDE06170BD2DE9F05F11 +:1010C000FEF736F98246CC48683800F1240881687A +:1010D0004646D8F81800F3F79CFD0146F069F4F78E +:1010E000A0FD4FF00009074686F835903C4640F2D7 +:1010F0008E254E461DE000BF0AEB06000079F5F78D +:10110000D7FF4AF2B12101444FF47A70B1FBF0F1FC +:1011100008EB86024046926811448C4207D3641A59 +:1011200090F83510A4F28E24491C88F83510761CEE +:10113000F6B298F83600B042DED8002C0FDD98F8F1 +:101140003510404608EB81018968A14207D2416809 +:10115000C91BA94200D90D466C4288F8359098F811 +:101160003560C3460AEB060898F80400F5F7A0FFBF +:1011700001464AF2B12001444FF47A7AB1FBFAF207 +:1011800098F80410082909D0042909D00020131860 +:1011900004290AD0082908D0252207E0082000E009 +:1011A000022000EB40002830F1E70F22521D4FF4DF +:1011B000A870082913D0042914D0022915D04FF0A3 +:1011C000080C282012FB0C00184462190BEB860354 +:1011D00002449868D84682420BD8791925E04FF02E +:1011E000400CEFE74FF0100CECE74FF0040C182028 +:1011F000E8E798F8352098F836604046B24210D2B9 +:10120000521C88F835203C1B9868621984180846DF +:10121000F5F74EFF4AF2B1210144B1FBFAF0011992 +:1012200003E080F83590D8F80410D8F81C00BDE829 +:10123000F05FF3F7EEBC2DE9FE4F14460546FEF7CE +:1012400077F8DFF8B4A10290AAF1440A50469AF860 +:1012500035604FF0000B0AEB86018968CAF83C1034 +:10126000F4B3044600780027042825D005283ED092 +:10127000FFDFA04639466069F3F7CBFC0746F3F77A +:10128000E1FF81463946D8F80440F4F7CAFC401E15 +:1012900090FBF4F0C14361433846F3F7BAFC0146D2 +:1012A000C8F81C004846F4F7BCFC002800DDFFDF4E +:1012B000012188F813108DE0D4F81490D4F804803C +:1012C00001F07CF9070010D0387800B9FFDF7969A8 +:1012D00078684A460844414601F05CF9074600E058 +:1012E0000BE04045C5D9FFDFC3E75F46C1E7606A51 +:1012F00001F006F940F6B837BBE7C1690AEB4600D2 +:101300000191408D10B35446DAF81400FFF7B1FE96 +:101310006168E069F3F77DFC074684F835B0019C0D +:10132000D0462046DAF81410F4F77BFC81463946A3 +:101330002046F4F776FCD8F804200146B9FBF2F019 +:10134000B1FBF2F1884242D0012041E0F3F77AFF8D +:10135000FFF78FFEFFF7B2FE9AF83510DAF8049027 +:101360000AEB81010746896800913946DAF81C00CA +:10137000F4F757FC00248046484504DB98FBF9F459 +:1013800004FB09F41AE0002052469AF8351007E0F1 +:1013900002EB800304F28E249B68401C1C44C0B204 +:1013A0008142F5D851B10120F5F782FE4AF2B12110 +:1013B00001444FF47A70B1FBF0F004440099A8EBBB +:1013C00004000C1A00D5FFDFCAF83C40A7E7002054 +:1013D00088F813009AF802005446B8B13946E0691B +:1013E000F4F71FFC0146A26B40F2712042438A428F +:1013F00006D2C4F83CB009E02C1200208001002085 +:10140000E06B511A884200D30846E063AF6085F86C +:1014100000B001202871029F94F835003F1DC05D87 +:10142000F5F746FE4AF23B5101444FF47A70B1FBA6 +:10143000F0F0E16BFD300844E8602078042808D122 +:1014400094F8350004EB4000408D0A2801D20320B7 +:1014500000E00220687104EB4600408DC0B12846D0 +:101460006168FCF7B7FA82B20020761C0CE000BF7E +:1014700004EB4001B0424B8D13449BB24B8501D32A +:101480005B1C4B85401CC0B294F836108142EFD2F1 +:10149000A8686061A06194F8350004EB4001488DB4 +:1014A000401C488594F83500C05D082803D0042806 +:1014B00003D000210BE0082100E0022101EB4101F3 +:1014C00028314FF4A872082804D0042802D002283A +:1014D00007D028220A44042805D0082803D0252153 +:1014E00002E01822F6E70F21491D08280CD0042835 +:1014F0000CD002280CD0082011FB0020E16B8842A0 +:1015000008D20120BDE8FE8F4020F5E71020F3E768 +:101510000420F1E70020F5E770B5FE4C061D14F835 +:10152000352F905DF5F7C4FD4FF47A7100F2E73086 +:10153000B0FBF1F0D4F8071045182078805DF5F77E +:101540003FFE2178895D082903D0042903D00022B9 +:101550000BE0082200E0022202EB420228324FF4A4 +:10156000A873082904D0042902D0022907D028230F +:101570001344042905D0082903D0252202E01823AA +:10158000F6E70F22521D08290AD004290AD00229A1 +:101590000AD0082112FB0131081A281A293070BD1F +:1015A0004021F7E71021F5E70421F3E72DE9FF419A +:1015B00007460C46012000F048FFC5B20B2000F0A2 +:1015C00044FFC0B2854200D0FFDF2046012600253F +:1015D000D04C082869D2DFE800F004304646426863 +:1015E0006865667426746078002819D1FDF7A0FE3E +:1015F000009594F835108DF808104188C90411D071 +:10160000206C019003208DF80900C24824388560C1 +:10161000C56125746846FDF76AFB002800D0FFDF2E +:10162000BDE8FF81FFF778FF0190E07C10B18DF8F5 +:101630000950EAE78DF80960E7E7607840B1207C5F +:1016400008B9FDF7FBFD6574BDE8FF41F3F705BD83 +:10165000A674FDF73BFC0028E2D0FFDFE0E7BDE821 +:10166000FF41F6F712BBFDF763FE4088C00407D0C8 +:1016700001210320FDF760FEA7480078E1F744FC54 +:10168000002239466846FFF7D6FD38B1694638462C +:1016900000F0EFFE0028C3D1FFDFC1E7E670FFF7DF +:1016A000CEFCBDE7BDE8FF41C9E4FFDFB8E79949DB +:1016B00050B101228A704A6840F27123B2FBF3F202 +:1016C00002EB0010886370470020887070472DE996 +:1016D000F05F894640F271218E4E48430025044652 +:1016E000706090462F46D0074AF2B12A4FF47A7BB9 +:1016F0000FD0B9F800004843B0600120F5F7D8FCDE +:1017000000EB0A01B1FBFBF0241AB7680125A4F233 +:101710008E245FEA087016D539F8151040F2712052 +:10172000414306EB85080820C8F80810F5F7C0FC0F +:1017300000EB0A01B1FBFBF0241AD8F80800A4F270 +:101740008E2407446D1CA74219D9002D17D0391BD0 +:10175000B1FBF5F0B268101AB1FBF5F205FB1212FD +:10176000801AB060012008E0B1FBF5F306EB8002BF +:101770009468E31A401CC0B29360A842F4D3BDE859 +:10178000F09F2DE9F041634C00262078042804D016 +:101790002078052801D00C201AE401206070607CBC +:1017A000002538B1EFF3108010F0010F72B610D0A1 +:1017B00001270FE0FDF7BCFD074694F82000F4F781 +:1017C0007FF87888C00411D000210320FDF7B4FD14 +:1017D0000CE00027607C38B1A07C28B1FDF72EFD1D +:1017E0006574A574F3F739FC07B962B694F8200064 +:1017F000F4F7D2FA94F8280030B184F82850207811 +:10180000052800D0FFDF0C26657000F06CFE304626 +:1018100014E4404810B5007808B1FFF7B2FF00F0BB +:10182000D6FE3C4900202439086210BD10B53A4C60 +:1018300058B1012807D0FFDFA06841F66A0188424D +:1018400000D3FFDF10BD40F6C410A060F4E73249BA +:1018500008B508702F4900200870487081F82800EA +:10186000C8700874487488742022486281F8202067 +:10187000243948704FF6FF7211F1680121F81020E9 +:10188000401CC0B22028F9D30020FFF7CFFFFFF79C +:10189000C0FF1020ADF80000012269460420FFF7C8 +:1018A00016FF08BD7FB51B4C05460E46207810B1CB +:1018B0000C2004B070BD95F8652095F86410686A36 +:1018C00000F0C7FEC5F80401656295F8F00000B1AC +:1018D000FFDF104900202439C861052121706070A4 +:1018E00084F82800014604E004EB4102491C5085BD +:1018F000C9B294F836208A42F6D284F835003046D0 +:10190000FFF7D5FE0548F3F723FC84F820002028D4 +:1019100007D105E0E811002080010020AD1502008C +:10192000FFDFF3F78FFC606194F820100122684616 +:10193000FFF781FC00B9FFDF94F82000694600F052 +:1019400098FD00B9FFDF0020B3E7F94810B5007833 +:1019500008B1002010BD0620F1F7AEFA80F00100BA +:1019600010BDF8B5F24D0446287800B1FFDF002025 +:10197000009023780246DE0701466B4605D060885A +:10198000A188ADF80010012211462678760706D509 +:10199000E088248923F8114042F00802491C491EBE +:1019A00085F836101946FFF792FE0020F8BD1FB5E6 +:1019B00011B1112004B010BDDD4C217809B10C200B +:1019C000F8E70022627004212170114605E000BF93 +:1019D00004EB4103491C5A85C9B294F836308B4256 +:1019E000F6D284F83520FFF762FED248F3F7B0FB59 +:1019F00084F82000202800D1FFDF00F0DFFD10B1C7 +:101A0000F3F720FC05E0F3F71DFC40F6B831F3F7DF +:101A100000F9606194F8201001226846FFF70BFC82 +:101A200000B9FFDF94F82000694600F022FD00B9FC +:101A3000FFDF0020BEE770B5BD4C616A0160FFF7B3 +:101A4000A0FE050002D1606AFFF7B2F800206062D4 +:101A5000284670BD7FB5B64C2178052901D00C20F1 +:101A600027E7B3492439C860606A00B9FFDF606ABC +:101A700090F8F00000B1FFDF606A90F8FA002028CB +:101A800000D0FFDFAC48F3F763FB616A054620280E +:101A900081F8FA000E8800D3FFDFA548443020F813 +:101AA0001560606A90F8FA00202800D1FFDF00235B +:101AB00001226846616AFFF796F8606A694690F805 +:101AC000FA0000F0D6FC00B9FFDF00206062F0E60B +:101AD000974924394870704710B540F2E24300FB43 +:101AE00003F4002000F0B5FD844201D9201A10BD96 +:101AF000002010BD70B50D46064601460020FCF7DB +:101B0000E2FE044696F86500F5F7D2FA014696F82B +:101B100064004FF47A72022815D0012815D040F6DF +:101B2000340008444AF247310844B0FBF2F17088AF +:101B300040F271225043C1EB4000A0F22530A54293 +:101B400006D2214605E01046EBE74FF4C860E8E70F +:101B50002946814204D2A54201D2204600E028460F +:101B6000706270BD70B50546FDF7E2FB7049007804 +:101B700024398C689834072D30D2DFE805F004341E +:101B800034252C34340014214FF4A873042810D0C9 +:101B90000822082809D02A2102280FD011FB024070 +:101BA00000222823D118441819E0402211FB0240DA +:101BB000F8E7102211FB02402E22F3E7042211FB6A +:101BC000024000221823EDE7282100F04DFC0444D8 +:101BD00004F5317403E004F5B07400E0FFDF54480D +:101BE000C06BA04201D9012070BD002070BD70B54E +:101BF0004F4C243C607870B1D4E904512846A26867 +:101C0000FBF713FF2061A84205D0A169401B0844DF +:101C1000A061F3F7D3FF2169A068884201D820783A +:101C200008B1002070BD012070BD2DE9F04F0546C0 +:101C300085B016460F461C461846F5F7C1FA05EB67 +:101C400047014718204600F0F7FB4AF2C5714FF4F0 +:101C50007A7908444D46B0FBF5F0384400F160084D +:101C60003348761C24388068304404902046F5F7C9 +:101C7000A7FAA8EB0007204600F0DEFB0646204648 +:101C8000F5F716FA301AB0FBF5F03A1A18252820A5 +:101C90004FF4C8764FF4BF774FF0020B082C30D0CA +:101CA000042C2BD00021022C2ED0082311F1280166 +:101CB00003EB830C0CEB831319440A444FF0000A26 +:101CC000082C29D0042C22D00021022C29D0054632 +:101CD000082001F5B07100BF00EB001028448142DC +:101CE00032D2082C2AD0042C1ED00020022C28D05E +:101CF0000821283001EB0111084434E03946102353 +:101D0000D6E731464023D3E704231831D0E73D46D8 +:101D100040F2EE311020DFE735464FF435614020C8 +:101D2000DAE70420B431D7E738461021E2E70000B3 +:101D3000E8110020AD150200870E02003046402158 +:101D4000D8E704211830D5E7082C4FD0042C4AD00E +:101D50000021022C4DD0082311F12801C3EBC30050 +:101D600000EB4310084415182821204600F07CFBA6 +:101D700005EB4001082C42D0042C3DD00026022C5B +:101D80003FD0082016F1280600EB801006EB8000FB +:101D90000E180120FB4D8DF804008DF800A08DF881 +:101DA00005B0A86906F229260499F2F732FFCDE9B9 +:101DB00002062046F5F77CF94AF23B510144B1FB9B +:101DC000F9F0301AFD38E8630298C5F84080A86140 +:101DD00095F82000694600F04CFB002800D1FFDF99 +:101DE00005B0BDE8F08F39461023B7E731464023F0 +:101DF000B4E704231831B1E73E461020C4E7402081 +:101E0000C2E704201836BFE72DE9FE4F06461C4600 +:101E1000174688464FF0010A1846F5F7D1F9D94D13 +:101E2000243DA9688A1907EB480111444718204648 +:101E300000F002FB4FF47A7BD84600F6FB00B0FBC3 +:101E4000F8F0384400F120092046F5F7B9F9A968FF +:101E50000246A9EB0100801B871A204600F0ECFA2D +:101E600005462046F5F724F9281AB0FBF8F03A1A8F +:101E7000182528204FF4C8774FF4BF78082C2DD0B0 +:101E8000042C28D00021022C2BD0082311F128018A +:101E900003EB830C0CEB831319440A44082C28D061 +:101EA000042C21D00021022C28D00546082001F561 +:101EB000B07100BF00EB0010284481422AD2082CE8 +:101EC00022D0042C1DD00020022C20D00821283044 +:101ED00001EB01112CE041461023D9E7394640239C +:101EE000D6E704231831D3E7454640F2EE311020FF +:101EF000E0E73D464FF435614020DBE70420B43194 +:101F0000D8E740461021E3E738464021E0E70421C6 +:101F10001830DDE7082C48D0042C43D00020022CD8 +:101F200046D0082110F12800C1EBC10303EB411199 +:101F3000084415182821204600F096FA05EB4001C8 +:101F4000082C3BD0042C36D00027022C38D0082097 +:101F500017F1280700EB801007EB80000C1804F540 +:101F600096740C98F5F7A4F84AF23B510144B1FB82 +:101F7000FBF0844DFD30A5F12407E96B06F1FD026D +:101F80000844B9680B191A44824224D93219114401 +:101F90000C1AFD342044B0F1807F37D2642C12D269 +:101FA000642011E040461021BEE738464021BBE7DF +:101FB00004211830B8E747461020CBE74020C9E796 +:101FC00004201837C6E720460421F3F75EFEE8B187 +:101FD000E86B2044E863E0F76BFEB96829383144C8 +:101FE0000844CDE9000995F835008DF80800022075 +:101FF0008DF809006846FCF77AFE00B1FFDFFCF7B8 +:1020000065FF00B1FFDF5046BDE8FE8F4FF0000ACC +:10201000F9E71FB500F023FB5A4C607880B994F8BB +:10202000201000226846FFF706F938B194F8200026 +:10203000694600F01EFA18B9FFDF01E00120E070E8 +:10204000F3F70BF800206074A0741FBD2DE9F84F62 +:10205000FDF76EF90646441CC07840090CD00128F3 +:102060000CD002280CD000202178824608064FF4BC +:10207000967507D41E2006E00120F5E70220F3E75D +:102080000820F1E72846B4F80120C2F30C0212FB45 +:1020900000F7C80901D010B103E01E2501E0FFDF01 +:1020A0000025F5F79FF8A7EB00092078B77909EB31 +:1020B0000508C0F3801010B120B1322404E04FF4C1 +:1020C000FA7401E0FFDF00240C2F00D3FFDF2E485D +:1020D0002E4A30F81700211801FB0821501CB1FBD3 +:1020E000F0F4F5F739F8F4F7E3FF4FF47A7100F202 +:1020F0007160B0FBF1F1A9EB0100071BA7F15900DA +:1021000040F28E21103F884211D91E4E717829B9B4 +:102110000246534621462846FFF787FD00F09FFA06 +:10212000F2F79BFF00207074B074BDE8F88F307830 +:10213000009053462A4621463846FFF765FE0028A0 +:10214000F3D101210220FDF7F7F8BDE8F84F60E771 +:1021500010B50446012903D10A482438007830B16B +:10216000042084F8F000BDE81040F2F776BF0022AA +:102170000121204600F0A6F934F8700F401C2080A1 +:10218000F1E70000E8110020006502003F420F0067 +:102190002DE9F0410746FDF7CBF8050000D1FFDF40 +:1021A000287810F00C0F01D0012100E00021F74C3D +:1021B000606A3030FCF7C7FA29783846FBF747FEEB +:1021C000A4F124060146A069B26802446FB32878DE +:1021D000082803D0042803D000230BE0082300E0E4 +:1021E000022303EB430328334FF4A877082804D0D5 +:1021F000042802D0022810D028273B4408280ED0FB +:1022000004280ED002280ED05FF00800C0EBC007F3 +:1022100007EB40101844983009E01827EDE74020FC +:10222000F4E71020F2E70420F0E74FF4FC701044CC +:10223000471828783F1DF4F73BFF014628784FF4F4 +:102240007A7202281DD001281DD040F634000844BF +:102250004AF2EF010844B0FBF2F03A1A606A40F229 +:10226000E241B0464788F0304F43316A81420DD099 +:102270003946206B00F08EF90646B84207D9FFDFD9 +:1022800005E01046E3E74FF4C860E0E70026C048E9 +:102290008068864207D2616A40F2712248884243D0 +:1022A00006EB420604E040F2E240B6FBF0F0616A61 +:1022B000C882606A297880F86410297880F86510EF +:1022C00005214175C08A6FF41C71484306EB40003C +:1022D00040F63541C8F81C00B0EB410F00D3FFDFDA +:1022E000BDE8F08110B5052937D2DFE801F0050916 +:1022F000030D3100002100E00121BDE8104027E777 +:10230000032180F8F01010BD0446408840F2E241FD +:1023100048439F49091D0860D4F818010089E082EC +:10232000D4F8180180796075D4F81801408960806C +:10233000D4F818018089A080D4F81801C089E08001 +:102340002046A16AFFF7D6FB022084F8F00010BDFA +:10235000816ABDE81040FFF7CDBBFFDF10BD70B54F +:102360008A4C243C0928A1683FD2DFE800F0050B25 +:102370000B15131538380800BDE8704049E6BDE874 +:10238000704063E6022803D00020BDE87040FFE6FD +:102390000120FAE7E16070BD032802D005281CD0B7 +:1023A00000E0E1605FF0000600F059F9774D012090 +:1023B00085F8280085F83460686AA9690026C0F8A5 +:1023C000F41080F8F060E068FFF744FB00B1FFDF35 +:1023D000F2F743FE6E74AE7470BD0126E4E76C48FC +:1023E0000078BDE87040E0F78FBDFFDF70BD674942 +:1023F00024394860704770B5644D0446243DB1B13E +:102400004FF47A76012903D0022905D0FFDF70BD91 +:102410001846F4F7C6FE05E06888401C6880104640 +:10242000F5F798FF00F2E730B0FBF6F0201AA8604D +:1024300070BD564800787047082803D0042801D0A2 +:10244000F4F736BE4EF628307047002804DB00F162 +:10245000E02090F8000405E000F00F0000F1E0201B +:1024600090F8140D4009704710F00C0000D0084699 +:102470007047F3F70BB910B50446202800D3FFDFEF +:102480004248443030F8140010BD70B505460C4683 +:102490001046F4F70DFE4FF47A71022C0DD0012C8A +:1024A0000DD040F6340210444AF247321044B0FBDB +:1024B000F1F0284400F2951070BD0A46F3E74FF49E +:1024C000C862F0E71FB513460A460446014668464F +:1024D000FEF789FB94F8FA006946FFF7CAFF002867 +:1024E00000D1FFDF1FBD70B5284C0025257094F882 +:1024F0002000F2F788FE00B9FFDF84F8205070BD9D +:102500002DE9F041050000D1FFDF204A0024243AE4 +:10251000D5F804612046631E116A08E08869B0425C +:1025200003D3984201D203460C460846C9680029E5 +:10253000F4D104B904460021C5F80041F035C4B116 +:10254000E068E560E86000B105612E698846A96130 +:1025500056B1B06930B16F69B84200D2FFDFB069DF +:10256000C01BA861C6F81880084D5CB1207820B95E +:1025700002E0E9601562E8E7FFDF6169606808442E +:102580002863ADE6C5F83080AAE60000E811002017 +:102590008001002010B50C4601461046F3F741FBC0 +:1025A000002806DA211A491EB1FBF4F101FB0400F0 +:1025B00010BD90FBF4F101FB140010BD2E48016A20 +:1025C000002001E00846C9680029FBD170472DE9C9 +:1025D000FE43294D0120287000264FF6FF7420E0AD +:1025E0000621F0F7CFFC070000D1FFDF97F8FA00D3 +:1025F000F037F3F7D1FB07F80A6BA14617F8FA8911 +:10260000B8F1200F00D3FFDF1B4A683222F8189080 +:1026100097F8FA00F2F7F7FD00B9FFDF202087F8FE +:10262000FA0069460620F0F736FC50B1FFDF08E0FB +:10263000029830B190F8F01019B10088A042CFD1C3 +:1026400004E06846F0F705FC0028F1D02E70BDE8E4 +:10265000FE8310B5FFF719FF00F5C87010BD0648DE +:102660000021243090F8352000EB420041850348DA +:102670000078E0F749BC0000C41100208001002070 +:10268000012804D0022805D0032808D105E001293B +:1026900007D004E0022904D001E0042901D0002081 +:1026A000704701207047F748806890F8A21029B160 +:1026B000B0F89E10B0F8A020914215D290F8A61064 +:1026C00029B1B0F8A410B0F8A02091420CD2B0F813 +:1026D0009C20B0F89A108A4206D290F88020B0F878 +:1026E00098001AB1884203D3012070470628FBD214 +:1026F000002070472DE9F041E24D0746A86800F13F +:10270000700490F8140130B9E27B002301212046C7 +:10271000FBF7F6F810B1A08D401CA08501263D21E5 +:10272000AFB92878022808D001280AD06878C8B143 +:1027300010F0140F09D01E2039E0162037E026775C +:102740003EE0A86890F8160131E0020701D56177F4 +:10275000F5E7810701D02A2029E0800600D4FFDFB9 +:10276000232024E094F8320028B1E08D411CE1855B +:10277000218E884213D294F8360028B1A08E411CD5 +:10278000A186218E88420AD2A18D608D814203D319 +:10279000AA6892F8142112B9228E914201D3222004 +:1027A00005E0217C29B1218D814207D30820607783 +:1027B000C5E7208D062801D33E20F8E7207FB0B181 +:1027C00000202073607320740221A868FFF78AFD3F +:1027D000A86890F8E410012904D1D0F81C110878F9 +:1027E000401E0870E878BDE8F041E0F78DBBA868AE +:1027F000BDE8F0410021FFF775BDA2490C288968AA +:1028000081F8E40014D0132812D0182810D0002228 +:1028100011280ED007280BD015280AD0012807D080 +:10282000002805D0022803D021F89E2F012008712E +:102830007047A1F8A420704710B5924CA1680A888F +:10284000A1F8602181F85E0191F8640001F046FB77 +:10285000A16881F8620191F8650001F03FFBA16871 +:1028600081F86301012081F85C01002081F82E01CC +:10287000E078BDE81040E0F747BB70B5814C00231D +:102880001946A06890F87C207030FBF739F80028D2 +:102890003DD0A06890F820110025C9B3A16909783E +:1028A000B1BB90F87D00FBF713F888BBA168B1F8C5 +:1028B00070000A282DD905220831E069EBF79EFD4A +:1028C00010B3A068D0F81C11087858B10522491C33 +:1028D000E069EBF793FD002819D1A068D0F81C013E +:1028E000007840B9A068E169D0F81C010A68C0F816 +:1028F000012009794171A068D0F81C110878401CAA +:1029000008700120FFF779FFA06880F8205170BDA2 +:10291000FFE7A06890F8241111B190F82511C1B318 +:1029200090F82E110029F2D090F82F110029EED145 +:1029300090F87D00FAF7CCFF0028E8D1A06890F865 +:10294000640001F0CBFA0646A06890F8650001F03B +:10295000C5FA0546A06890F830113046FFF790FEA2 +:10296000A0B3A06890F831112846FFF789FE68B33C +:10297000A268B2F8703092F86410B2F8320102F531 +:102980008872FBF72DFA20B3A168252081F87C001E +:10299000BDE7FFE790F87D10242918D090F87C104F +:1029A000242914D05FF0000300F5897200F59271BC +:1029B000FBF78EFEA16881F8245101F13000C28A34 +:1029C00021F8E62F408B4880142007E005E0012322 +:1029D000EAE7BDE8704000202EE71620BDE8704011 +:1029E0000BE710B5F3F7C4FD0C2813D3254C0821D1 +:1029F000A068D0F818011E30F3F7BEFD28B1A0681A +:102A00000421D830F3F7B8FD00B9FFDFBDE810406E +:102A10000320F2E610BD10B51A4CA068D0F81811CA +:102A20000A78002A1FD04988028891421BD190F869 +:102A30007C20002319467030FAF762FF002812D07C +:102A4000A068D0F818110978022907D003290BD003 +:102A5000042919D0052906D108200DE090F87D0041 +:102A6000FAF736FF40B110BD90F8811039B190F8F7 +:102A7000820000B9FFDF0A20BDE81040BDE6BDE8D6 +:102A80001040AEE78C01002090F8AA008007EAD140 +:102A90000C20FFF7B2FEA068002120F89E1F012144 +:102AA0000171017B41F00101017310BD70B5F74C5C +:102AB000A268556EFBF72EF9EBB2C1B200228B4231 +:102AC00003D0A36883F8121102E0A16881F81221F3 +:102AD000C5F30721C0F30720814203D0A16881F824 +:102AE000130114E7A06880F8132110E710B5E74C34 +:102AF0000421A068FFF7F6FBA06890F85A1001299E +:102B000008D000F59E71FBF7ACFEE078BDE8104000 +:102B1000E0F7FAB9022180F85A1010BD70B5DB4C0D +:102B2000A06890F8E410FE2955D16178002952D1AF +:102B300090F87F20002301217030FAF7E1FE002891 +:102B400049D1A06890F8141109B1022037E090F83B +:102B50007C20002319467030FAF7D2FE28B1A06815 +:102B600090F8960008B1122029E0A068002590F89E +:102B70007C20122A1DD004DC032A23D0112A04D180 +:102B800019E0182A1AD0232A26D0002304217030F5 +:102B9000FAF7B6FE00281ED1A06890F87D1019291A +:102BA00071D020DC01292AD0022935D0032932D165 +:102BB00020E00B2003E0BDE8704012E70620BDE8EE +:102BC00070401AE610F8E21F01710720FFF715FEAA +:102BD000A06880F87C509AE61820FFF70EFEA068E7 +:102BE000A0F89E5093E61D2918D01E2916D0212941 +:102BF00066D149E010F8E11F4171072070E00C2018 +:102C0000FFF7FBFDA06820F8A45F817941F0010186 +:102C1000817100F8275C53E013202CE090F8252107 +:102C200082BB90F82421B2B1242912D090F87C10F4 +:102C300024290ED05FF0000300F5897200F592712F +:102C4000FBF746FDA0681E2180F87D1080F8245116 +:102C500003E00123F0E71E2932D1A068FBF797FDBE +:102C6000FFF744FFA16801F13000C28A21F8E62F86 +:102C7000408B48801520FFF7C0FDA068A0F8A45045 +:102C800080F87D501CE02AE090F8971051B180F850 +:102C9000125180F813511820FFF7AFFDA068A0F87B +:102CA000A4500DE090F82F1151B990F82E1139B1C0 +:102CB000C16DD0F83001FFF7F9FE1820FFF79DFD38 +:102CC000A06890F8E400FE2885D1FFF7A4FEA06874 +:102CD00090F8E400FE2885D1BDE87040CDE51120D4 +:102CE000FFF78BFDA068CBE7684A0129926819D0ED +:102CF000002302290FD003291ED010B301282BD0A6 +:102D0000032807D192F87C00132803D0162801D09D +:102D1000182804D1704792F8E4000028FAD0D2F8BD +:102D2000180117E092F8E4000128F3D0D2F81C1142 +:102D30000878401E0870704792F8E4000328EED12E +:102D40007047D2F81801B2F870108288891A09B257 +:102D50000029F5DB03707047B2F87000B2F8221159 +:102D6000401A00B20028F6DBD2F81C010178491E97 +:102D70000170704770B5044690F87C0000250C285F +:102D800010D00D282ED1D4F81811B4F8700089880D +:102D9000401C884226D1D4F864013C4E017811B31E +:102DA000FFDF42E0B4F87000B4F82211401C884202 +:102DB00018D1D4F81C01D0F80110A160407920731B +:102DC00003212046FAF780FAD4F81C01007800B9F4 +:102DD000FFDF0121FE20FFF787FF84F87C500120F0 +:102DE00084F8B20093E52188C180D4F81801D4F8A2 +:102DF000641140890881D4F81801D4F864118089DD +:102E00004881D4F81801D4F86411C0898881D4F8B5 +:102E100064010571D4F8641109200870D4F86411B4 +:102E200020884880F078E0F76FF802212046FAF712 +:102E30004BFA03212046FFF755FAB068D0F8180185 +:102E40000078022800D0FFDF0221FE20FFF74CFFB0 +:102E500084F87C505BE52DE9F0410C4C00260327FB +:102E6000D4F808C0012598B12069C0788CF8E20038 +:102E700005FA00F0C0F3C05000B9FFDFA06800F809 +:102E80007C7F468480F82650BDE8F0818C010020CC +:102E900000239CF87D2019460CF17000FAF730FDF4 +:102EA00070B160780028EFD12069C178A06880F8FF +:102EB000E11080F87D70A0F8A46080F8A650E3E7E8 +:102EC0006570E1E7F0B5F74C002385B0A0681946BE +:102ED00090F87D207030FAF713FD012580B1A068CD +:102EE00090F87C0023280ED024280CD06846F5F7F3 +:102EF00025FB68B1009801A9C0788DF8040008E0AE +:102F0000657005B0F0BD607840F020006070F8E7B3 +:102F10000021A06803AB162290F87C00FAF77BFF33 +:102F2000002648B1A0689DF80C20162180F80C21DD +:102F300080F80D11192136E02069FBF718FB78B1F4 +:102F40002169087900F00702A06880F85C204979BF +:102F500001F0070180F85D1090F82F310BBB03E002 +:102F60000020FFF778FFCCE790F82E31CBB900F1C5 +:102F700064035F78974205D11A788A4202D180F8BB +:102F800097500EE000F5AC71028821F8022990F804 +:102F90005C200A7190F85D0048710D70E078DFF7F1 +:102FA000B3FFA068212180F87D1080F8A650A0F81A +:102FB000A460A6E7F8B5BB4C00231946A06890F8BA +:102FC0007D207030FAF79CFC40B32069FBF7B4FA1F +:102FD00048B32069FBF7AAFA07462069FBF7AAFA6B +:102FE00006462069FBF7A0FA05462069FBF7A0FA20 +:102FF00001460097A06833462A463030FBF79BFB1A +:10300000A168012591F87C001C2810D091F85A0085 +:10301000012812D091F8250178B90BE0607840F0D2 +:1030200001006070F8BDBDE8F840002013E781F8AA +:103030005A5002E091F8240118B11E2081F87D0059 +:103040000BE01D2081F87D0001F5A57231F8300BF1 +:10305000FBF7FBFBE078DFF757FFA068002120F8C3 +:10306000A41F8570F8BD10B58E4C00230921A068FF +:1030700090F87C207030FAF743FC48B16078002863 +:1030800005D1A16801F8960F087301F81A0C10BD5C +:103090000120607010BD7CB5824C00230721A06820 +:1030A00090F87C207030FAF72BFC38B36078002859 +:1030B00026D169462069FBF755FA9DF800000025E6 +:1030C00000F02501A06880F8B0109DF8011001F013 +:1030D000490180F8B11080F8A250D0F8181100888A +:1030E0004988814200D0FFDFA068D0F818110D7028 +:1030F000D0F864110A7822B1FFDF16E00120607079 +:103100007CBD30F8E82BCA80C16F0D71C16F009A89 +:103110008A60019ACA60C26F0821117030F8E81CF9 +:10312000C06F4180E078DFF7EFFEA06880F87C5048 +:103130007CBD70B55B4C00231946A06890F87D20DB +:103140007030FAF7DDFB012540B9A06800230821A3 +:1031500090F87C207030FAF7D3FB10B36078002829 +:1031600020D1A06890F8AA00800712D42069FBF74C +:10317000BFF9A16881F8AB00206930F8052FA1F8EC +:10318000AC204088A1F8AE0011F8AA0F40F0020070 +:103190000870A0684FF0000690F8AA10C90702D086 +:1031A00011E065709DE490F87D2000231946703091 +:1031B000FAF7A6FB00B9FFDFA06880F87D5080F821 +:1031C000A650A0F8A460A06890F87C10012906D150 +:1031D00080F87C6080F8A260E078DFF795FEA16857 +:1031E000D1F81801098842888A42DBD10178042984 +:1031F000D8D10670E078DFF787FEA06890F87C10E1 +:103200000029CFD180F8A2606BE470B5254DA86885 +:1032100090F87C101A2902D00220687061E4697865 +:103220000029FBD1002480F8A74080F8A240D0F804 +:10323000181100884988814200D0FFDFA868D0F8C3 +:1032400018110C70D0F864110A780AB1FFDF25E07C +:1032500090F8A82072B180F8A8400288CA80D0F8FF +:1032600064110C71D0F864210E2111700188D0F81E +:1032700064010DE030F8E82BCA80C16F0C71C26F99 +:1032800001211172C26F0D21117030F8E81CC06F5E +:10329000418000F0A1FEE878DFF736FEA86880F8EC +:1032A0007C401EE48C01002070B5FA4CA16891F8B6 +:1032B0007C20162A01D0132A02D191F8A82012B13D +:1032C000022060700DE46278002AFBD181F8E000F2 +:1032D000002581F8A75081F8A250D1F8180109887B +:1032E0004088884200D0FFDFA068D0F8180100783D +:1032F000032800D0FFDF0321FE20FFF7F5FCA068C4 +:10330000D0F864110A780AB1FFDF14E030F8E02B3E +:10331000CA8010F8081BC26F1171C16F0D72C26FA5 +:103320000D21117030F8E81CC06F418000F054FE90 +:10333000E078DFF7E9FDA06880F87C504BE470B5D9 +:10334000D44C09210023A06890F87C207030FAF753 +:10335000D7FA002518B12069007912281ED0A0687C +:103360000A21002390F87C207030FAF7C9FA18B1CE +:1033700020690079142814D02069007916281AD100 +:10338000A06890F87C101F2915D180F87C5080F837 +:10339000A250BDE870401A20FFF74EBABDE8704059 +:1033A00061E6A06800F87C5F458480F82650BDE89F +:1033B0007040FFF79BBB0EE470B5B64C2079C00798 +:1033C00073D0206900230521C578A06890F87C207F +:1033D0007030FAF795FA98B1062D11D006DC022D5F +:1033E0000ED0042D0CD0052D06D109E00B2D07D0F1 +:1033F0000D2D05D0112D03D0607840F008006070CD +:103400006078002851D12069FAF7D6FF00287ED0D5 +:10341000206900250226C178891E162977D2DFE8A7 +:1034200001F00B7634374722764D76254A4576767D +:10343000763A53506A6D7073A0680023012190F8AA +:103440007F207030FAF75CFA08BB2069FBF718F8A8 +:10345000A16881F81601072081F87F0081F8A65045 +:1034600081F8A25056E0FFF76AFF53E0A06890F899 +:103470007C100F2901D066704CE0617839B980F872 +:103480008150122180F87C1044E000F0D0FD41E032 +:1034900000F0ACFD3EE0FBF7A8F803283AD1206924 +:1034A000FBF7A7F8FFF700FF34E03BE00079F9E70E +:1034B000FFF7ABFE2EE0FFF73CFE2BE0FFF7EBFD46 +:1034C00028E0FFF7D0FD25E0A0680023194690F81A +:1034D0007D207030FAF714FA012110B16078C8B974 +:1034E00001E0617016E0A06820F8A45F817000F828 +:1034F000276C0FE00BE0FFF75DFD0BE000F034FD03 +:1035000008E0FFF7DFFC05E000F0FAFC02E0002035 +:10351000FFF7A1FCA268F2E93001401C41F1000173 +:10352000C2E900015EE42DE9F0415A4C20798007A0 +:1035300041D5607800283ED1E06801270026C17897 +:1035400020461929856805F170006FD2DFE801F087 +:103550004B3E0D6FC1C1801C34C1556287C1C1C1D2 +:10356000C1BE8B9598A4B0C1BA0095F87F20002306 +:103570000121FAF7C5F900281DD1A068082180F8BB +:103580007F1080F8A26090E0002395F87D20194616 +:10359000FAF7B6F910B1A06880F8A660A068002319 +:1035A000194690F87C207030FAF7AAF9002802D06A +:1035B000A06880F8A26067E4002395F87C20194693 +:1035C000FAF79EF900B9FFDF042008E0002395F820 +:1035D0007C201946FAF794F900B9FFDF0C20A168A6 +:1035E00081F87C0050E4002395F87C201946FAF716 +:1035F00087F900B9FFDF0D20F1E7002395F87C2063 +:103600001946FAF77DF900B9FFDFA0680F2180F8AD +:10361000A77008E095F87C00122800D0FFDFA068B2 +:10362000112180F8A87080F87C102DE451E000236F +:1036300095F87C201946FAF763F920B9A06890F84C +:10364000A80000B9FFDFA068132180F8A770EAE79F +:1036500095F87C00182800D0FFDF1A20BFE7BDE8EE +:10366000F04100F063BD002395F87C201946FAF77D +:1036700047F900B9FFDF0520B1E785F8A66003E44C +:10368000002395F87C201946FAF73AF900B9FFDFD4 +:103690001C20A4E78C010020002395F87D2019460A +:1036A000FAF72EF900B9FFDFA06880F8A66006E4FB +:1036B000002395F87C201946FAF722F900B9FFDFBC +:1036C0001F208CE7BDE8F04100F0F8BC85F87D6074 +:1036D000D3E7FFDF6FE710B5F74C6078002837D1EC +:1036E000207940070FD5A06890F87C00032800D10E +:1036F000FFDFA06890F87F10072904D10121217015 +:10370000002180F87F10FFF70EFF00F0B5FCFFF7F7 +:1037100053FEA078000716D5A0680023052190F875 +:103720007C207030FAF7ECF850B108206070A06887 +:10373000D0F8641108780D2800D10020087002E04C +:103740000020F8F710FDA068BDE81040FFF712BB9D +:1037500010BD2DE9F041D84C07464FF000056078C8 +:1037600008436070207981062046806802D5A0F861 +:10377000985004E0B0F89810491CA0F8981000F098 +:1037800018FD0126F8B1A088000506D5A06890F8BC +:10379000821011B1A0F88E5015E0A068B0F88E101C +:1037A000491CA0F88E1000F0F3FCA068B0F88E1051 +:1037B000B0F89020914206D3A0F88E5080F83A617C +:1037C000E078DFF7A1FB207910F0600F08D0A06847 +:1037D00090F8801021B980F880600121FEF782FD09 +:1037E0001FB9FFF778FFFFF799F93846FEF782FF18 +:1037F000BDE8F041F4F7B1BEAF4A51789378194370 +:1038000013D111460128896808D01079400703D5E3 +:1038100091F87F00072808D001207047B1F84C00CC +:10382000098E884201D8FEF7E2B900207047A2490C +:10383000C2788968012A06D05AB1182A08D1B1F88D +:103840001011FAF7B0BEB1F822114172090A817263 +:103850007047D1F8181189884173090A817370473C +:1038600070B5954C05460E46A0882843A080A80751 +:1038700003D5E80700D0FFDFE660E80700D0266147 +:10388000A80719D5F078062802D00B2814D10BE030 +:10389000A06890F87C1018290ED10021E0E93011C1 +:1038A000012100F83E1C07E0A06890F87C10122966 +:1038B00002D1002180F88210280601D50820A070CE +:1038C00068050AD5A0688288B0F87010304600F00C +:1038D0007FFC3046BDE87040A9E763E43EB505468D +:1038E0006846F4F705FE00B9FFDF222200210098A8 +:1038F000EAF7DBFD03210098FAF746FD009801780E +:1039000021F0100101702946FAF763FD6A4C192D68 +:1039100071D2DFE805F020180D3EC8C8C91266C88C +:10392000C9C959C8C8C8C8BBC9C971718AC8930078 +:10393000A168009891F8151103E0A168009891F82A +:10394000E6100171B0E0A068D0F81C110098491C85 +:10395000FAF78BFDA8E0A1680098D1F818219279B8 +:103960000271D1F8182112894271120A8271D1F8BC +:1039700018215289C271120A0272D1F81821928953 +:103980004272120A8272D1F81811C989FAF744FDFD +:103990008AE0A068D0F818110098091DFAF772FDA6 +:1039A000A068D0F8181100980C31FAF775FDA068DE +:1039B000D0F8181100981E31FAF774FDA16800982C +:1039C000D831FAF77DFD6FE06269009811780171D6 +:1039D00091884171090A81715188C171090A017286 +:1039E00062E03649D1E90001CDE9010101A9009861 +:1039F000FAF780FD58E056E0A068B0F8441000984F +:103A0000FAF78AFDA068B0F8E6100098FAF788FD8A +:103A1000A068B0F848100098FAF776FDA068B0F8F2 +:103A2000E8100098FAF774FD3EE0A168009891F85C +:103A30003021027191F83111417135E0A06890F8A0 +:103A40001301FAF75EF901460098FAF7A8FDA0689D +:103A500090F8120100F03DFA70B1A06890F864008F +:103A600000F037FA40B1A06890F8121190F86400A5 +:103A7000814201D0002002E0A06890F81201FAF71C +:103A800040F901460098FAF786FD0DE0A06890F82D +:103A90000D110098FAF7A7FDA06890F80C11009896 +:103AA000FAF7A5FD00E0FFDFF4F735FD00B9FFDF11 +:103AB0000098FFF7BCFE3EBD8C0100201865020097 +:103AC00010B5F94CA06890F8121109B990F864107B +:103AD00080F8641090F8131109B990F8651080F817 +:103AE00065100020FEF7A8FEA068FAF750FE002837 +:103AF00006D0A068BDE8104000F59E71FAF7B1BE8F +:103B000010BDF8B5E84E00250446B060B58075706C +:103B1000B57035700088F4F7E8FCB0680088F4F7F9 +:103B20000AFDB4F8F800B168401C82B201F17000DF +:103B3000F9F79FFC00B1FFDF94F87D00242809D13C +:103B4000B4F87010B4F81001081A00B2002801DBB4 +:103B5000707830B194F87C0024280AD0252808D049 +:103B600015E0FFF7ADFF84F87D50B16881F89750FC +:103B70000DE0B4F87010B4F81001081A00B2002873 +:103B800005DB707818B9FFF79BFF84F87C50A4F828 +:103B9000F850FEF788FD00281CD1B06890F8E400CA +:103BA000FE2801D0FFF79AFEC0480090C04BC14AE2 +:103BB00021462846F8F702FAB0680023052190F85C +:103BC0007C207030F9F79CFE002803D0BDE8F84057 +:103BD000F7F787BFF8BD10B5FEF765FD20B10020EF +:103BE000BDE810400146B4E5BDE81040F8F797BACB +:103BF00070B50C46154606464FF4B47200212046B7 +:103C0000EAF753FC268005B9FFDF2868C4F81801DD +:103C10006868C4F81C01A868C4F8640182E4EFF77E +:103C2000BBBA2DE9F0410D4607460621EFF7AAF988 +:103C3000041E3DD0D4F864110026087858B14A8893 +:103C400021888A4207D109280FD00E2819D00D28C3 +:103C500026D008283ED094F83A01D0B36E701020D8 +:103C6000287084F83A61AF809AE06E70092028705D +:103C7000D4F86401416869608168A9608089A8817D +:103C800033E00846EFF7B1FA0746EEF75CFF70B98C +:103C90006E700E202870D4F864014068686011E0EE +:103CA0000846EFF7A2FA0746EEF74DFF08B10020ED +:103CB00081E46E700D202870D4F864014168696059 +:103CC00000892881D4F8640106703846EEF735FF84 +:103CD00066E00EE06E7008202870D4F86401416838 +:103CE00069608168A960C068E860D4F86401067002 +:103CF00056E094F83C0198B16E70152028700AE0E7 +:103D000084F83C61D4F83E016860D4F84201A860B0 +:103D1000D4F84601E86094F83C010028F0D13FE077 +:103D200094F84A0158B16E701C20287084F84A61DA +:103D30000A2204F5A671281DEAF78DFB30E094F8FD +:103D4000560140B16E701D20287084F85661D4F879 +:103D50005801686024E094F8340168B16E701A204C +:103D6000287004E084F83461D4F83601686094F86F +:103D700034010028F6D113E094F85C01002897D0B4 +:103D80006E701620287007E084F85C61D4F85E013C +:103D90006860B4F86201288194F85C010028F3D1CE +:103DA000012008E4404A5061D170704770B50D465B +:103DB00004464EE0B4F8F800401CA4F8F800B4F84B +:103DC0009800401CA4F89800204600F0F2F9B8B121 +:103DD000B4F88E00401CA4F88E00204600F0D8F9FC +:103DE000B4F88E00B4F89010884209D30020A4F8EB +:103DF0008E00012084F83A012B48C078DFF784F860 +:103E000094F8A20020B1B4F89E00401CA4F89E00D3 +:103E100094F8A60020B1B4F8A400401CA4F8A400B3 +:103E200094F8140140B994F87F200023012104F193 +:103E30007000F9F765FD20B1B4F89C00401CA4F8AF +:103E40009C002046FEF796FFB4F87000401CA4F8D2 +:103E500070006D1EADB2ADD23FE5134AC2E9060156 +:103E6000704770B50446B0F8980094F88010D1B14E +:103E7000B4F89A100D1A2D1F94F8960040B194F8DA +:103E80007C200023092104F17000F9F739FDB8B155 +:103E9000B4F88E60204600F08CF980B1B4F8900040 +:103EA000801B001F0CE007E08C010020533702004C +:103EB000F937020061380200C0F10205DCE728464C +:103EC000A84200DA0546002D01DC002005E5A8B275 +:103ED00003E510F00C0000D00120704710B5012858 +:103EE00008D0022808D0042808D0082806D0FFDF10 +:103EF000204610BD0124FBE70224F9E70324F7E77D +:103F000070B5CC4CA06890F87C001F2804D0607875 +:103F100040F001006070E0E42069FAF732FBD8B1AC +:103F2000206901220179407901F0070161F3070559 +:103F3000294600F0070060F30F21A06880F8A22056 +:103F40000022A0F89E20232200F87C2FD0F8B40095 +:103F5000BDE87040FEF7AABD0120FEF77CFFBDE87A +:103F600070401E20FEF768BCF8B5B24C00230A2151 +:103F7000A06890F87C207030F9F7C2FC38B3206953 +:103F8000FAF7DAFAC8B12069FAF7D0FA07462069D9 +:103F9000FAF7D0FA06462069FAF7C6FA054620690C +:103FA000FAF7C6FA01460097A06833462A46303031 +:103FB000FAF7C1FBA068FAF7EAFBA168002081F8D4 +:103FC000A20081F87C00BDE8F840FEF78FBD607864 +:103FD00040F001006070F8BD964810B58068008818 +:103FE000EFF703F9BDE81040EEF798BD10B5914C1E +:103FF000A36893F87C00162802D00220607010BDE0 +:1040000060780028FBD1D3F81801002200F11E01CE +:104010000E30C833F9F7EEFBA0680021C0E92E117D +:10402000012180F88110182180F87C1010BD10B596 +:10403000804CA06890F87C10132902D00220607098 +:1040400010BD61780029FBD1D0F81811008849888B +:10405000814200D0FFDFA068D0F818112069263116 +:10406000FAF73BFAA1682069DC31FAF73EFAA16859 +:10407000162081F87C0010BD10B56E4C2079000729 +:104080001BD56078002818D1A068002190F8E400C2 +:10409000FEF72AFEA06890F8E400FE2800D1FFDFBA +:1040A000A068FE2180F8E41090F87F10082904D160 +:1040B00002212170002180F87F1010BD70B55D4D88 +:1040C00024210024A86890F87D20212A05D090F8AA +:1040D0007C20232A18D0FFDFA0E590F8122112B926 +:1040E00090F813212AB180F87D10A86880F8A640C6 +:1040F00094E500F87D4F847690F8B1000028F4D064 +:104100000020FEF799FBF0E790F8122112B990F821 +:1041100013212AB180F87C10A86880F8A2407DE5C0 +:1041200080F87C400020FEF787FBF5E770B5414C36 +:104130000025A068D0F8181103884A889A4219D13E +:104140000978042916D190F87C2000231946703094 +:10415000F9F7D6FB00B9FFDFA06890F8AA1089072D +:1041600003D4012180F87C1004E080F8A250D0F83C +:1041700018010570A0680023194690F87D20703062 +:10418000F9F7BEFB002802D0A06880F8A65045E5EC +:10419000B0F89020B0F88E108A4201D3511A00E096 +:1041A00000218288521D8A4202D3012180F8961094 +:1041B000704710B590F8821041B990F87C20002328 +:1041C00006217030F9F79CFB002800D0012010BDBB +:1041D00070B51144174D891D8CB2C078A9680128AB +:1041E00006D040B1182805D191F8120138B109E084 +:1041F000A1F8224112E5D1F8180184800EE591F86A +:10420000131191B1FFF765FE80B1A86890F86400C2 +:10421000FFF75FFE50B1A86890F8121190F8642083 +:10422000914203D090F8130100B90024A868A0F8C7 +:104230001041F3E48C01002070B58E4C0829207ADF +:104240006CD2DFE801F004176464276B6B6458B12B +:10425000F3F79DF8F4F79FF80020A072F3F77EF9CA +:10426000BDE87040F3F70EBCF4F7B7F8BDE8704056 +:10427000F0F7F3BEDEF71CFDF3F7CEFFD4E9000143 +:10428000F0F7C7FC2060A07A401CC0B2A0722828BA +:1042900024D370BDA07A0025401EC6B2E068304429 +:1042A000F3F7B6FC10B9E1687F208855A07A27287B +:1042B00028BF0125DEF7FCFCA17A01EB4102C2EB2D +:1042C000811108442946F3F7D1FFA07A282809D2A2 +:1042D000401CC0B2A072282828BF70BDBDE8704045 +:1042E000F3F73CB9207A002818BF00F085F8F3F7FF +:1042F000FFFAF3F7ADFBF4F770F80120E0725E48C7 +:104300000078DEF701FEBDE87040F0F7A6BE002899 +:1043100008BF70BDBDE8704000F06EB8FFDF70BD33 +:1043200010B5544C207A002804BF0C2010BD00208A +:104330002072E072607AF1F7C3FA607AF1F72CFD2F +:10434000607AF0F760FF00280CBF1F20002010BD2E +:10435000002270B5474C06460D46207A68B122729D +:10436000E272607AF1F7ACFA607AF1F715FD607AE3 +:10437000F0F749FF002808BFFFDF3F48E5600670FF +:1043800070BD70B5050007D0A5F5E8503B494C3825 +:1043900081429CBF122070BD364CE068002804BFEB +:1043A000092070BD207A00281CBF0C2070BD344845 +:1043B000F0F7CEFE6072202804BF1F2070BDF0F71A +:1043C00041FF2060002D1CBF284420600120656053 +:1043D000207200F011F8002070BD2649CA7A002A28 +:1043E00004BF002070471E22027000224270CB687A +:1043F0004360CA7201207047F0B585B0F0F722FF24 +:104400001C4D0746394668682C6800EB8000460062 +:104410002046F1F706FCB04206DB6868811B38468F +:10442000F0F7F7FB0446286040F23576214638461F +:10443000F1F7F7FBB04204DA31463846F0F7E9FB12 +:10444000044600208DF8000040F6E110039004209F +:104450008DF8050001208DF8040068460294F1F7FC +:1044600099F8687A6946F1F711F9002808BFFFDF6B +:1044700005B0F0BD6C120020AC010020B5EB3C0093 +:10448000394202002DE9F0410C4612490D68114AEB +:10449000114908321160A0F12001312901D3012016 +:1044A0000CE0412810D040CC0C4F94E80E0007EBF4 +:1044B0008000241F50F8807C3046B84720600548B3 +:1044C000001D0560BDE8F081204601F027FDF5E7FD +:1044D000062070471005024001000001206502001F +:1044E00010B55548F1F7C6FF00B1FFDF5248401C38 +:1044F000F1F7C0FF002800D0FFDF10BD2DE9F14F1C +:104500004E4E82B0D6F800B001274B48F1F7BAFF03 +:10451000DFF8248120B9002708F10100F1F7C8FF76 +:10452000474C00254FF0030901206060C4F800519A +:10453000C4F80451029931602060DFF808A11BE043 +:10454000DAF80000C00617D50E2000F068F8EFF387 +:10455000108010F0010072B600D001200090C4F865 +:104560000493D4F8000120B9D4F8040108B901F08B +:10457000DFFC009800B962B6D4F8000118B9D4F88D +:1045800004010028DCD0D4F804010028CCD137B1D4 +:10459000C6F800B008F10100F1F774FF11E008F16E +:1045A0000100F1F76FFF0028B6D1C4F80893C4F8F2 +:1045B0000451C4F800510E2000F031F81E48F1F704 +:1045C00077FF0020BDE8FE8F2DE9F0438DB00D464A +:1045D000064600240DF110090DF1200818E000BF77 +:1045E00004EB4407102255F827106846E9F733FF1B +:1045F00005EB8707102248467968E9F72CFF6846E3 +:10460000FFF77CFF10224146B868E9F724FF641CDD +:10461000B442E5DB0DB00020BDE8F0836EE7002872 +:1046200009DB00F01F02012191404009800000F1E8 +:10463000E020C0F880127047AD01002004E5004082 +:1046400000E0004010ED00E0B54900200870704720 +:1046500070B5B44D01232B60B34B1C68002CFCD00B +:10466000002407E00E6806601E68002EFCD0001DC6 +:10467000091D641C9442F5D30020286018680028A6 +:10468000FCD070BD70B5A64E0446A84D3078022807 +:1046900000D0FFDFAC4200D3FFDF7169A4480129DD +:1046A00003D847F23052944201DD03224271491C83 +:1046B0007161291BC1609E49707800F02EF90028B5 +:1046C00000D1FFDF70BD70B5954C0D466178884212 +:1046D00000D0FFDF954E082D4BD2DFE805F04A04ED +:1046E0001E2D4A4A4A382078022800D0FFDF0320D6 +:1046F0002070A078012801D020B108E0A06801F066 +:10470000C1F904E004F1080007C8FFF7A1FF052084 +:104710002070BDE87040F0F7A0BCF0F793FD0146B3 +:104720006068F1F77EFAB04202D2616902290BD3C8 +:104730000320F1F7C6FD12E0F0F784FD0146606842 +:10474000F1F76FFAB042F3D2BDE870409AE72078F3 +:1047500002280AD0052806D0FFDF04202070BDE81B +:10476000704000F0D0B8022000E00320F1F7A9FD6E +:10477000F3E7FFDF70BD70B50546F0F763FD684CE9 +:1047800060602078012800D0FFDF694901200870AF +:104790000020087104208D6048716448C8600220C0 +:1047A0002070607800F0B9F8002800D1FFDF70BDFC +:1047B00010B55B4C207838B90220F1F798FD18B994 +:1047C0000320F1F794FD08B1112010BD5948F0F70E +:1047D000BFFC6070202804D00120207000206061A0 +:1047E00010BD032010BD2DE9F0471446054600EB2F +:1047F00084000E46A0F1040801F057F907464FF077 +:10480000805001694F4306EB8401091FB14201D278 +:10481000012100E0002189461CB10069B4EB900F32 +:1048200002D90920BDE8F0872846DCF70BFD90B9D6 +:10483000A84510D3BD4205D2B84503D245EA0600CB +:10484000800701D01020EDE73046DCF7FBFC10B903 +:10485000B9F1000F01D00F20E4E73748374900686D +:10486000884205D0224631462846FFF7F1FE1AE07D +:10487000FFF79EFF0028D5D1294800218560C0E9B7 +:1048800003648170F1F79FFD08B12D4801E04AF201 +:10489000F87060434FF47A7100F2E730B0FBF1F04A +:1048A0001830FFF768FF0020BCE770B505464FF0F1 +:1048B000805004696C432046DCF7C4FC08B10F202B +:1048C00070BD01F0F2F8A84201D8102070BD1A485E +:1048D0001A490068884203D0204601F0D3F810E05E +:1048E000FFF766FF0028F1D10D4801218460817037 +:1048F000F1F769FD08B1134800E013481830FFF7DD +:104900003AFF002070BD10B5054C6078F0F77BFCD5 +:1049100000B9FFDF0020207010BDF0F7B7BE000027 +:10492000B001002004E5014000E40140105C0C00EF +:104930007C120020C74602005C000020BEBAFECAFE +:1049400050280500645E0100A85B01007E490968EB +:104950000160002070477C490860002070470121F9 +:104960008A0720B1012804D042F204007047916701 +:1049700000E0D1670020704774490120086042F2CE +:104980000600704708B50423704A1907103230B189 +:10499000C1F80433106840F0010010600BE01068AB +:1049A00020F001001060C1F808330020C1F80801B0 +:1049B000674800680090002008BD011F0B2909D836 +:1049C000624910310A6822F01E0242EA4000086083 +:1049D0000020704742F2050070470F2809D85B4954 +:1049E00010310A6822F4706242EA00200860002058 +:1049F000704742F205007047000100F18040C0F8A6 +:104A0000041900207047000100F18040C0F8081927 +:104A100000207047000100F18040D0F800090860D4 +:104A200000207047012801D907207047494A52F8F1 +:104A3000200002680A43026000207047012801D963 +:104A400007207047434A52F8200002688A430260F8 +:104A500000207047012801D9072070473D4A52F8CD +:104A60002000006808600020704702003A494FF0BB +:104A7000000003D0012A01D0072070470A60704768 +:104A8000020036494FF0000003D0012A01D0072070 +:104A900070470A60704708B54FF40072510510B1B5 +:104AA000C1F8042308E0C1F808230020C1F824015C +:104AB00027481C3000680090002008BD08B58022FF +:104AC000D10510B1C1F8042308E0C1F80823002083 +:104AD000C1F81C011E48143000680090002008BD79 +:104AE00008B54FF48072910510B1C1F8042308E0B5 +:104AF000C1F808230020C1F82001154818300068CB +:104B00000090002008BD104938310968016000207C +:104B1000704770B54FF080450024C5F80841F1F7A3 +:104B20005EFC10B9F1F765FC28B1C5F82441C5F861 +:104B30001C41C5F820414FF0E020802180F800148E +:104B40000121C0F8001170BD0004004000050040C4 +:104B500008010040E465020078050040800500403F +:104B60006249634B0A6863499A42096801D1C1F3FB +:104B700010010160002070475C495D4B0A685D4987 +:104B8000091D9A4201D1C0F310000860002070474F +:104B90005649574B0A68574908319A4201D1C0F328 +:104BA000100008600020704730B5504B504D1C6815 +:104BB00042F20803AC4202D0142802D203E01128CA +:104BC00001D3184630BDC3004B481844C0F8101537 +:104BD000C0F81425002030BD4449454B0A6842F214 +:104BE00009019A4202D0062802D203E0042801D328 +:104BF00008467047404A012142F8301000207047B3 +:104C00003A493B4B0A6842F209019A4202D006280F +:104C100002D203E0042801D308467047364A012136 +:104C200002EBC00041600020704770B52F4A304E43 +:104C3000314C156842F2090304EB8002B54204D0FE +:104C4000062804D2C2F8001807E0042801D3184649 +:104C500070BDC1F31000C2F80008002070BD70B52F +:104C6000224A234E244C156842F2090304EB8002C9 +:104C7000B54204D0062804D2D2F8000807E0042880 +:104C800001D3184670BDD2F80008C0F310000860C8 +:104C9000002070BD174910B5083118480860112070 +:104CA000154A002102EBC003C3F81015C3F8141510 +:104CB000401C1428F6D3002006E0042804D302EB9D +:104CC0008003C3F8001807E002EB8003D3F8004824 +:104CD000C4F31004C3F80048401C0628EDD310BDEF +:104CE0000449064808310860704700005C00002055 +:104CF000BEBAFECA00F5014000F001400000FEFF10 +:104D0000814B1B6803B19847BFF34F8F7F48016801 +:104D10007F4A01F4E06111430160BFF34F8F00BF90 +:104D2000FDE710B5EFF3108010F0010F72B601D05F +:104D3000012400E0002400F0DDF850B1DCF727FB8F +:104D4000F0F72BF8F1F75FFAF1F78AFF71490020CD +:104D5000086004B962B6002010BD2DE9F0410C4690 +:104D60000546EFF3108010F0010F72B601D0012656 +:104D700000E0002600F0BEF820B106B962B60820B7 +:104D8000BDE8F08101F05AF9DCF705FB024600208E +:104D900001234709BF0007F1E02700F01F01D7F802 +:104DA0000071CF40F9071BD0202803D222FA00F16E +:104DB000C90727D141B2002904DB01F1E02191F8B4 +:104DC000001405E001F00F0101F1E02191F8141D3C +:104DD0004909082916D203FA01F717F0EC0F11D090 +:104DE000401C6428D5D3F1F719FF4B4A4B490020EA +:104DF000F1F75CFF47494A4808602046DCF729FA8A +:104E000060B904E006B962B641F20100B8E73E4875 +:104E100004602DB12846DCF769FA18B1102428E0A7 +:104E2000404D19E02878022802D94FF4805420E040 +:104E300007240028687801D0D8B908E0C8B1202834 +:104E400017D8A878212814D8012812D001E0A87812 +:104E500078B9E8780B280CD8DCF79DFA2946F1F7E9 +:104E6000B8F9EFF759FF00F053FE2846DCF75CFA7B +:104E7000044606B962B61CB1FFF753FF20467FE730 +:104E800000207DE710B5044600F034F800B10120A1 +:104E90002070002010BD244908600020704770B5C4 +:104EA0000C4622490D682149214E08310E60102818 +:104EB00007D011280CD012280FD0132811D00120B0 +:104EC00013E0D4E90001FFF748FF354620600DE00C +:104ED000FFF727FF0025206008E02068FFF7D2FFDA +:104EE00003E0114920680860002020600F48001D81 +:104EF000056070BD07480A490068884201D1012059 +:104F00007047002070470000C80100200CED00E051 +:104F10000400FA055C000020481400200000002076 +:104F2000BEBAFECAEC650200040000201005024073 +:104F30000100000100B59B4902282ED021DC10F1B0 +:104F40000C0F08BFF42028D00FDC10F1280F08BF89 +:104F5000D82022D010F1140F08BFEC201DD010F182 +:104F6000100F08BFF02018D021E010F1080F08BF83 +:104F7000F82012D010F1040F0CBFFC2000280CD038 +:104F800015E0A0F10300062811D2DFE800F00E0CB6 +:104F90000A080503082000E00720086000BD06207D +:104FA000FBE70520F9E70420F7E70320F5E7FFDF3B +:104FB00000BD00B57C49012808BF03200CD00228A1 +:104FC00008BF042008D0042808BF062004D0082801 +:104FD00016BFFFDF052000BD086000BD70B50546A7 +:104FE0000C4616461046F2F763F8022C08BF4FF441 +:104FF0007A7105D0012C0CBF4FF4C86140F6340122 +:1050000044183046F2F7CDF8204449F67971084447 +:105010004FF47A71B0FBF1F0281A70BD70B50546F7 +:105020000C460846F3F796F9022C08BF40F24C41B3 +:1050300005D0012C0CBF40F634014FF4AF5149F6B6 +:10504000CA62511A08444FF47A7100F2E140B0FB91 +:10505000F1F0281A801E70BD70B5064615460C4644 +:105060000846F3F777F9022D08BF4FF47A7105D09F +:10507000012D0CBF4FF4C86140F63401022C08BF6B +:1050800040F24C4205D0012C0CBF40F634024FF4E4 +:10509000AF52891A084449F6FC6108444FF47A710A +:1050A000B0FBF1F0301A70BD70B504460E460846EC +:1050B000F1F7FEFF05463046F2F773F828444AF24E +:1050C000AB3108444FF47A71B0FBF1F0201A801E26 +:1050D00070BD2DE9F04107461E460D4614461046A8 +:1050E000082A16BF04284EF62830F1F7E1FF07EB37 +:1050F0004701C1EBC71100EBC100022D08BF40F210 +:105100004C4105D0012D0CBF40F634014FF4AF5196 +:1051100047182846F3F71EF9381A4FF47A7100F64B +:10512000B730B0FBF1F52046F2F74AF82844304496 +:10513000401DBDE8F08170B5054614460E46084690 +:10514000F1F7B6FF05EB4502C2EBC512C0EBC20595 +:105150003046F2F726F82D1A2046082C16BF0428F0 +:105160004EF62830F1F7A4FF28444FF47A7100F688 +:10517000B730B0FBF1F52046F2F722F82844401D85 +:1051800070BD0A49082818BF0428086803BF20F426 +:105190006C5040F4444040F0004020F00040086073 +:1051A000704700000C1500401015004040170040EB +:1051B000F0B585B00C460546F9F7FAF807466E7863 +:1051C000204603A96A46EDF79AFC81198EB258B1C0 +:1051D000012F02D0032005B0F0BD204604AA039998 +:1051E000EDF7AFFB049D01E0022F0FD1ED1C042E63 +:1051F0000FD32888BDF80010001D80B2884201D866 +:10520000864202D14FF00000E5E702D34FF00200E2 +:10521000E1E74FF00100DEE7FA48C078FF2814BF4D +:105220000120002070472DE9F041F74C0746160099 +:1052300060680D4603D0F9F725F8A0B121E0F9F731 +:1052400021F8D8B96068F9F71DF8D0B915F00C0F3E +:1052500017D06068C17811F03F0F1CBF007910F0C3 +:10526000100F0ED00AE0022E08D0E6481FB1807D54 +:10527000FF2806D002E0C078FF2802D00120BDE858 +:10528000F0810020BDE8F0810A4601460120CAE70E +:1052900010B5DC4C1D220021A01CE9F706F97F2087 +:1052A0006077FF202074E070A075A08920F0600076 +:1052B0002030A0810020207010BD70B5D249486018 +:1052C00001200870D248D149002541600570CD4CBD +:1052D0001D222946A01CE9F7E8F87F206077FF200F +:1052E0002074E070A075A08920F060002030A081BB +:1052F000257070BD2DE9F047C24C06462078C24F9C +:105300004FF0010907F10808002520B13878D0B91D +:1053100098F80000B8B198F8000068B387F80090DA +:10532000D8F804103C2239B37570301DE9F793F8B2 +:105330000520307086F804903878002818BF88F867 +:10534000005005D015E03D70A11C4FF48E72EAE7C5 +:105350001D220021A01CE9F7A8F87F206077FF201C +:105360002074E070A075A08920F060002030A0813A +:1053700025700120BDE8F0870020BDE8F087A14836 +:10538000007800280CBF0120002070470A46014623 +:10539000002048E710B510B1022810D014E09A4C54 +:1053A0006068F8F76FFF78B96068C17811F03F0F57 +:1053B0001CBF007910F0100F06D1012010BD9148DC +:1053C000007B10F0080FF8D1002010BD2DE9FF4F31 +:1053D00081B08C4D8346DDE90F042978DDF838A0D3 +:1053E0009846164600291CBF05B0BDE8F08F8849D5 +:1053F000097800291CBF05B0BDE8F08FE872B4B190 +:10540000012E08BF012708D0022E08BF022704D0B2 +:10541000042E16BF082E0327FFDFEF7385F81E80CA +:105420004FF00008784F8CB1022C1DD020E0012EE7 +:1054300008BF012708D0022E08BF022704D0042E7F +:1054400016BF082E0327FFDFAF73E7E77868F8F78A +:1054500019FF68B97868C17811F03F0F1CBF007957 +:1054600010F0100F04D110E0287B10F0080F0CD1C1 +:105470004FF003017868F8F7B9FD30B141780909B8 +:1054800029740088C0F30B006882CDF8008078682A +:10549000F8F7F8FE01460128BDF8000005F1020901 +:1054A0000CBF40F0010020F00100ADF8000099F8B9 +:1054B0000A2012F0020F4ED1022918BF20F002007C +:1054C00049D000BFADF8000010F0020F04D0002951 +:1054D00008BF40F0080801D020F00808ADF80080AF +:1054E0007868C17811F03F0F1CBF007910F0020FEF +:1054F0000CD0314622464FF00100FFF794FE002801 +:1055000004BF48F00400ADF8000006D099F80A0086 +:10551000800860F38208ADF8008099F80A0041091C +:10552000BDF8000061F34610ADF8000080B20090B5 +:10553000BDF80000A88104217868F8F757FD00281D +:1055400004BFA88920F060000CD0B0F80100C004AE +:10555000C00C03D007E040F00200B3E7A88920F0B8 +:1055600060004030A8815CB916F00C0F08D0786854 +:10557000C17811F03F0F1CBF007910F0100F0DD152 +:105580007868C17811F03F0F08D0017911F0400F11 +:1055900004D00621F8F72AFD0078687731462246C4 +:1055A0000020FFF740FE60BB7968C87810F03F0F1D +:1055B0003FD0087910F0010F3BD0504605F10409A7 +:1055C00005F10308BAF1FF0F0DD04A464146F7F73F +:1055D000AFFA002808BFFFDF98F8000040F0020093 +:1055E00088F8000025E00846F8F797FC88F80000E6 +:1055F0007868F8F769FC07280CD249467868F8F70C +:105600006EFC16E08C120020CC010020CA12002093 +:10561000D40100207868F8F757FC072809D1002149 +:105620007868F8F7E3FC0168C9F800108088A9F8E9 +:105630000400314622460120FFF7F5FD80BB786863 +:10564000C17811F03F0F2BD0017911F0020F27D054 +:1056500005F1170605F11608BBF1020F18BFBBF1E3 +:10566000030F08D0F8F730FC07280AD231467868D3 +:10567000F8F743FC12E00298016831608088B0803E +:105680000CE07868F8F720FC072807D1012178683A +:10569000F8F7ACFC016831608088B08088F800B011 +:1056A000002C04BF05B0BDE8F08F7868F8F7EAFD7C +:1056B000022804BF05B0BDE8F08F05F11F0478682B +:1056C000F8F729FEAB7AC3F1FF01884228BF0846EC +:1056D00005D9A98921F0600101F14001A981C2B277 +:1056E00003EB04017868F8F71EFEA97A0844A87253 +:1056F00005B0BDE8F08FB0480178002918BF7047A9 +:1057000001220270007B10F0080F14BF0720062052 +:10571000FCF725BEA848C17B002908BF70470122BD +:10572000818921F06001403181810378002B18BF0D +:105730007047027011F0080F14BF07200620FCF715 +:105740000EBE2DE9FF5F9C4FDDF838B091463878EA +:105750000E4600281CBF04B0BDE8F09FBC1C1D22F3 +:1057600000212046E8F7A1FE944D4FF0010A84F88D +:1057700000A06868F8F7A8FB18B3012826D0022813 +:1057800029D0062818BFFFDF2AD000BF04F11D0171 +:105790006868F8F7E2FB2072484604F1020904F158 +:1057A0000108FF2821D04A464146F7F7C1F90028F1 +:1057B00008BFFFDF98F8000040F0020088F8000002 +:1057C00031E0608940F013006081DFE7608940F0DC +:1057D00015006081E0E7608940F010006081D5E746 +:1057E000608940F012006081D0E76868F8F795FBA7 +:1057F00088F800006868F8F767FB072804D2494674 +:105800006868F8F76CFB0EE06868F8F75DFB07283E +:1058100009D100216868F8F7E9FB0168C9F80010B0 +:105820008088A9F8040084F809B084F80CA000204E +:105830006073FF20A073A17A11F0040F08BF2075D8 +:105840002AD004F1150804F11409022E18BF032E02 +:1058500009D06868F8F738FB07280CD24146686819 +:10586000F8F74BFB16E000980168C8F80010808834 +:10587000A8F804000EE06868F8F726FB072809D1AD +:1058800001216868F8F7B2FB0168C8F80010808849 +:10589000A8F8040089F800607F20E076039820775C +:1058A00087F800A004B00620BDE8F05FFCF757BD04 +:1058B0002DE9FF5F424F81469A4638788B46002893 +:1058C0001CBF04B0BDE8F09F3B48017831B1007BBC +:1058D00010F0100F04BF04B0BDE8F09F1D227C68DB +:1058E00000212046E8F7E1FD48464FF00108661C1C +:1058F000324D84F8008004F10209FF280BD04A469B +:105900003146F7F715F9002808BFFFDF307840F07F +:10591000020030701CE06868F8F7FFFA30706868C1 +:10592000F8F7D2FA072804D249466868F8F7D7FA98 +:105930000EE06868F8F7C8FA072809D100216868FE +:10594000F8F754FB0168C9F800108088A9F8040032 +:1059500004F11D016868F8F700FB207284F809A0C3 +:1059600060896BF3000040F01A00608184F80C80BD +:1059700000206073FF20A07320757F20E0760298DE +:10598000207787F8008004B00720BDE8F05FFCF7BF +:10599000E6BC094A137C834205BF508A8842002036 +:1059A000012070470448007BC0F3411002280CBF5F +:1059B00001200020704700008C120020CC01002044 +:1059C000D4010020C2790D2341B342BB8188012953 +:1059D00004D94908818004BF01228280016801291D +:1059E00018BF002930D001686FEA0101C1EBC10284 +:1059F00002EB011281796FEA010101EB8103C3EB34 +:105A0000811111444FEA914201608188B2FBF1F3A8 +:105A100001FB132181714FF0010102E01AB14FF037 +:105A20000001C17170478188FF2908D24FF6FF72CB +:105A300002EA41018180FF2984BFFF228280016840 +:105A4000012918BF0029CED10360CCE7817931B19B +:105A5000491E11F0FF0181711CBF00207047012019 +:105A6000704710B50121C171817181800446042104 +:105A7000F0F778FD002818BF10BD2068401C20609A +:105A800010BD00000B4A022111600B490B68002B6E +:105A9000FCD0084B1B1D186008680028FCD00020B3 +:105AA000106008680028FCD070474FF080504069B3 +:105AB0007047000004E5014000E4014002000B468D +:105AC0004FF00000014620D0012A04D0022A04D061 +:105AD000032A0DD103E0012002E0022015E003209B +:105AE000072B05D2DFE803F00406080A0C0E1000AD +:105AF00007207047012108E0022106E0032104E0AD +:105B0000042102E0052100E00621EFF73EBB000082 +:105B1000E248052181700021017041707047E04921 +:105B20000A78012A05D0CA681044C8604038F0F7E6 +:105B300045B88A6810448860F8E7002819D00378CF +:105B4000D849D94A13B1012B0ED011E00379012BAA +:105B500000D06BB943790BB1012B09D18368643B49 +:105B60008B4205D2C0680EE00379012B02D00BB145 +:105B70000020704743790BB1012BF9D1C368643B16 +:105B80008B42F5D280689042F2D801207047C44918 +:105B900001220A70027972B100220A71427962B15F +:105BA00004224A71826852328A60C068C860BB4968 +:105BB0000220887070470322EFE70322F1E770B5F7 +:105BC000B74D044600202870207988B10020287144 +:105BD000607978B10420B14E6871A168F068EFF780 +:105BE00018F8A860E0685230E8600320B07070BD1B +:105BF0000120ECE70320EEE72DE9F04105460226FF +:105C0000EFF708FF006800B1FFDFA44C01273DB1AA +:105C10002878B8B1012805D0022811D0032814D063 +:105C200027710DE06868C82808D30421F0F72DF823 +:105C300020B16868FFF773FF012603E0002601E04A +:105C400000F014F93046BDE8F08120780028F7D143 +:105C50006868FFF772FF0028E2D06868017879B1C0 +:105C6000A078042800D0FFDF01216868FFF7A7FFB4 +:105C70008B49E07800F003F90028E1D1FFDFDFE78E +:105C8000FFF785FF6770DBE72DE9F041834C0F4696 +:105C9000E178884200D0FFDF00250126082F7DD261 +:105CA000DFE807F0040B28283D434F57A07803286E +:105CB000C9D00228C7D0FFDFC5E7A078032802D0EB +:105CC000022800D0FFDF0420A07025712078B8BB27 +:105CD0000020FFF724FF72480178012906D0806870 +:105CE000E06000F0EDF82061002023E0E078EFF7BD +:105CF000C8FBF5E7A078032802D0022800D0FFDF18 +:105D0000207880BB022F08D05FF00500F0F7D9FAA9 +:105D1000A078032840D0A57095E70420F6E7A07886 +:105D2000042800D0FFDF022004E0A078042800D07F +:105D3000FFDF0120A1688847FFF75EFF054633E0DB +:105D400003E0A078042800D0FFDFBDE8F04100F0B8 +:105D50008DB8A078042804D0617809B1022800D059 +:105D6000FFDF207818B1BDE8F04100F08AB8207953 +:105D700020B10620F0F7A5FA25710DE0607840B15A +:105D80004749E07800F07BF800B9FFDF65705AE71B +:105D900004E00720F0F795FAA67054E7FFDF52E71A +:105DA0003DB1012D03D0FFDF022DF9D14BE70420D7 +:105DB000C0E70320BEE770B5050004D0374CA078DB +:105DC000052806D101E0102070BD0820F0F78FFAF9 +:105DD00008B1112070BD3548EFF7BAF9E0702028FE +:105DE00006D00121F0F76CF80020A560A07070BD0E +:105DF000032070BD294810B5017809B1112010BDEC +:105E00008178052906D0012906D029B10121017028 +:105E1000002010BD0F2010BD00F033F8F8E770B57A +:105E20001E4C0546A07808B1012809D155B1284675 +:105E3000FFF783FE40B1287840B1A078012809D04F +:105E40000F2070BD102070BD072070BD2846FFF7E1 +:105E50009EFE03E000212846FFF7B1FE1049E078DE +:105E600000F00DF800B9FFDF002070BD0B4810B541 +:105E7000006900F01DF8BDE81040EFF7EEB8EFF74D +:105E800005BC064810B5C078EFF7BDF900B9FFDFD3 +:105E90000820F0F716FABDE8104039E6DC010020D2 +:105EA000AC1300203D860100FF1FA107895C0200A2 +:105EB0000C490A6848F202139A4302430A60704789 +:105EC000084A116848F2021301EA0300994311607D +:105ED00070470246044B10201344FC2B01D811607C +:105EE00000207047C80602400018FEBF1EF0040FD5 +:105EF0000CBFEFF30880EFF30980014A1047000060 +:105F0000C76C010001B41EB400B5F0F7FDFB01B48D +:105F10000198864601BC01B01EBD0000826903499C +:105F200081614FF00100104470470000055F0200DE +:105F30000FF20C0000F10000694641F8080C20BF88 +:105F400070470000FEDF18490978F9B9042071464E +:105F500008421BD10699154A914217DC069902297D +:105F600014DB02394878DF2810D10878FE2807D0E2 +:105F7000FF280BD14FF001004FF000020C4B1847E7 +:105F800041F201000099019A094B1847094B002B77 +:105F900002D01B68DB6818474FF0FF3071464FF0A6 +:105FA0000002034B1847000028ED00E000700200DB +:105FB000014D020004000020174818497047FFF700 +:105FC000FBFFDBF7FBF800BD15481649096888425E +:105FD00003D1154A13605B68184700BD20BFFDE779 +:105FE0000F4810490968884210D1104B18684FF0CB +:105FF000FF318842F2D080F308884FF02021884298 +:1060000004DD0B48026803210A4302600948804707 +:1060100009488047FFDF0000C0130020C0130020A4 +:1060200000100000000000200400002000700200AA +:1060300014090040B92F0000C95F0200F0B44046C7 +:10604000494652465B460FB402A0013001B50648EE +:10605000004700BF01BC86460FBC80468946924679 +:106060009B46F0BC704700000911000004207146F7 +:10607000084202D0EFF3098101E0EFF3088188695B +:1060800002380078102813DB20280FDB2C280BDBCC +:106090000A4A12680A4B9A4203D1602804DB094A73 +:1060A0001047022008607047074A1047074A104708 +:1060B000074A12682C321268104700005C0000206A +:1060C000BEBAFECA9B130000854402009F4E020028 +:1060D000040000200D4B0E4908470E4B0C490847A1 +:1060E0000D4B0B4908470D4B094908470C4B084914 +:1060F00008470C4B064908470B4B054908470B4B13 +:10610000034908470A4B0249084700005DBF0000E9 +:1061100095C10000792D0000F32B0000812B0000B9 +:10612000012E0000B71300003F2900007D2F000062 +:10613000ED5E0200002101604160017270470A6853 +:1061400002600B7903717047CD97000073990000CE +:10615000D59A00003F9B0000799B0000B59B000092 +:10616000E79B0000179C0000B79C0000C19800004E +:10617000FF9A0000331200000F4400005B4400004F +:10618000C14400004F450000754600004B47000029 +:106190007D47000055480000EF48000043490000DB +:1061A000294A0000494A0000AD160000D11600003F +:1061B000F11500004D1600000317000097170000AE +:1061C00037610000F7620000DD660000F76700003D +:1061D0007F680000FD68000061690000856A0000BA +:1061E000556B0000C16B00006B4A0000714A000053 +:1061F0007B4A0000E34A00000F4B0000CB4C00003C +:10620000F54C00002D4D0000974D0000814E000020 +:10621000974E00007F440000AB4E0000CD4E0000C2 +:10622000134F00003312000033120000331200003D +:1062300033120000C125000047260000632600003D +:106240007F2600000D280000A9260000B3260000CC +:10625000F526000017270000F3270000352800006E +:106260003312000033120000F38400001385000095 +:106270001D8500005785000085850000758600009B +:106280000387000017870000658700007B880000F7 +:10629000218A0000498B000075740000618B0000AA +:1062A000331200003312000007B8000069B9000083 +:1062B000C3B900003DBA0000E9BA000001000000C7 +:1062C00000000000100110013A0200001A02000450 +:1062D0000506000007000000FFFFFFFF0000FFFFB2 +:1062E0000FB400002B3D000053210000BF740000DC +:1062F0005D900000000000000D930000E992000096 +:10630000FB920000000002000000000000020000FC +:106310000000000000010000000000009F8200005B +:106320007F820000ED8200002D250000EF24000098 +:106330000F250000F7AA000023AB00002BAD0000E2 +:10634000315A00000D830000000000003D83000072 +:106350007B2500000000000000000000000000009D +:106360000DAC000000000000C55A00000300000052 +:1063700001555555D6BE898E00006506650C65121F +:1063800000000903AD055108000055044508350C0F +:10639000F5FD000089FF0000C5FB0000F1FD0000D5 +:1063A00085990100BD04010000000000900A000072 +:1063B000900A0000AF570000AF570000E94300000B +:1063C0006FB200004377000063200000F13B020041 +:1063D00043AE0100F1570000F15700000D440000EA +:1063E00001B30000CB770000D72000001F3C020063 +:1063F00059AE010070017001400038005C002400BB +:106400006801200200000300656C74620000000057 +:1064100000000000000000000000000087000000F5 +:10642000000000000000000000000000BE83605A71 +:10643000DB0B376038A5F5AA9183886C010000005A +:106440005337010025460100000000010206030445 +:1064500005000000070000FB349B5F800000800007 +:106460001000000000000000000000000600000016 +:106470000A0000003200000073000000B4000000B9 +:10648000F401FA00960064004B0032001E00140074 +:106490000A000500020001000049000000000000A1 +:1064A0003BC1010019C3010087C201004FC10100B7 +:1064B0000000000087C50100AAAED7AB154120102F +:1064C0000C0802170D010102090901010602091851 +:1064D000180301010909030305000000555555255E +:1064E0002627D6BE898E00005FFC010037F8010028 +:1064F0007DFB010073F30100EF230200EBFC0100C0 +:10650000F401FA00960064004B0032001E001400F3 +:106510000A000500020001002549000000000000FB +:10652000614B0200794B0200914B0200A94B020023 +:10653000D94B0200014C02002B4C02005F4C0200C0 +:10654000AB480200E7470200D1440200D35E0200DC +:106550007564010085640100B16401008365010078 +:106560008B6501009D6501005F49020079490200C9 +:106570004D4902005749020085490200BB4902000B +:10658000DB490200F9490200074A0200154A0200ED +:10659000254A02003D4A0200554A02006B4A0200A9 +:1065A000814A020000000000FBBC000051BD000059 +:1065B00067BD0000BD5A0200FD440200C94502004B +:1065C000B75D0200F55D02001F5E0200656201001A +:1065D000C5670100974A0200BD4A0200E14A020075 +:1065E000074B02001C05004020050040001002007F +:1065F0001066020008000020E801000044110000BD +:1066000034660200F0010020D0110000A01100004B +:1066100001181348140244200B4008064813730B5A +:106620001B2030041AB60401A4021710327F0B7429 +:046630003C11C40055 +:02000004000FEB +:1010000018F20020D5130F00DD130F00DF130F00BF +:10101000E1130F00E3130F00E5130F0000000000C1 +:10102000000000000000000000000000C1130F00DD +:10103000E9130F0000000000EB130F00ED130F0089 +:10104000EF130F00EF130F00EF130F00EF130F005C +:10105000EF130F00EF130F00EF130F00EF130F004C +:10106000EF130F00EF130F00EF130F00EF130F003C +:10107000EF130F00EF130F00EF130F00EF130F002C +:10108000752C0F00EF130F00EF130F00EF130F007D +:10109000EF130F00EF130F00952A0F00EF130F004F +:1010A000EF130F00EF130F00EF130F00EF130F00FC +:1010B000EF130F00EF130F0000000000000000000E +:1010C000EF130F00EF130F00EF130F00EF130F00DC +:1010D00091290F00EF130F00EF130F00EF130F0014 +:1010E000EF130F00EF130F00E5140F0000000000D6 +:1010F00000000000EF130F0000000000EF130F00CE +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:10120000DFF80CD000F05CF900480047B9510F003E +:1012100018F2002030B450E8012F93B2C48923445F +:101220008489A34228BF1B1B0489A34202BFBFF3CA +:101230002F8F002007E0C3EA020340E80134002CAE +:10124000E9D14FF001000A6030BC704750E8012F2F +:10125000C2EA024240E801210029F7D1704730B4C8 +:1012600050E8022F1FFAA2F3C488A34202BFBFF3C3 +:101270002F8F00200DE0C48923448489A34228BF16 +:101280001B1BC2EA034340E80234002CE8D14FF0B4 +:1012900001000A6030BC704750E8022FC2EA2242C7 +:1012A00040E802210029F7D17047034653E8022F96 +:1012B000D988B2EB324F4FF0000017BF92B241EA2B +:1012C000014142EA014104E05A68B2EB324F08BFE3 +:1012D000012043E80212002AE8D1704730B40446E6 +:1012E00054E8000F0D4644E80053002BF8D1156078 +:1012F00030BC704730B4044654E8000F40EA0105A2 +:1013000044E80053002BF7D1156030BC704730B46F +:10131000044654E8000F00EA010544E80053002B9E +:10132000F7D1156030BC704730B4044654E8000F64 +:1013300080EA010544E80053002BF7D1156030BC6A +:10134000704730B4044654E8000F00EB010544E850 +:101350000053002BF7D1156030BC704730B4044601 +:1013600054E8000FA0EB010544E80053002BF7D12F +:10137000156030BC704770B404464FF0000054E86C +:10138000006F0D68AE4207BF44E80023012044E827 +:1013900000630E60002B1CBF0020F0E770BC70479C +:1013A00030B4044654E8000F88422CBF451A054665 +:1013B00044E80053002BF5D1156030BC70470000A5 +:1013C0001EF0040F0CBFEFF30880EFF3098007F065 +:1013D0008BBE00000648804706480047FEE7FEE750 +:1013E000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7D5 +:1013F000992A0F0001120F00202A04DB203A00FA7C +:1014000002F1002070479140C2F1200320FA03F35B +:1014100019439040704700000048704700BF0F001C +:1014200010B5441A0346944209D28418114403E0CB +:1014300011F8013D04F8013D521EF9D210BD40EAF9 +:101440000104A40703D009E010C9121F10C3042A25 +:10145000FAD203E011F8014B03F8014B521EF9D206 +:1014600010BDD2B201E000F8012B491EFBD270473B +:101470000022F6E710B513460A4604461946FFF760 +:10148000F0FF204610BD421C10F8011B0029FBD1C3 +:10149000801A704730B504460020034600E05B1C0C +:1014A000934203D2E05CCD5C401BF8D030BD0346D4 +:1014B00011F8012B00F8012B002AF9D118467047CA +:1014C000064C074D06E0E06840F0010394E8070091 +:1014D00098471034AC42F6D3FFF796FE4CCF0F007E +:1014E0006CCF0F00054B4FF0FF321A6053F8042CFD +:1014F000034B1A601A68034B1A60704704BA025013 +:1015000014B2002008BA025001EB820204388A4269 +:1015100001D10020704752F8043D1BBA40F8043F47 +:10152000F5E70000354B8EB019461A680092009A14 +:10153000D207FAD5324B334A1A600A680192019AEF +:10154000D007FAD5304A1A600A680292029AD20786 +:10155000FAD52E4A1A600A680392039AD007FAD580 +:101560002B4A1A600A680492049AD207FAD5294ACB +:101570001A600A680592059AD007FAD5264A1A60B9 +:101580000A680692069AD207FAD5244A1A600A68AF +:101590000792079AD007FAD5214A1A600A6808927A +:1015A000089AD207FAD51F4A1A600A680992099A5E +:1015B000D007FAD51C4A1A600A680A920A9AD2071A +:1015C000FAD51A4A1A6008680B900B98C007FAD52A +:1015D0001A600A680C920C9AD007FAD5144A1A605D +:1015E0000A680D920D9AD207FAD5124A1A600E2196 +:1015F0000D230F2200200EB000F090BDB0B00250BD +:1016000080B0025080430129406339218070012954 +:101610008020542100D13490C0403490C030202923 +:10162000C0530D9000413890832308C880E31021F7 +:1016300000413821CF4308C810B5504B96B01C4626 +:101640001A680192019AD207FAD54D4B4D4A1A6099 +:1016500022680292029AD207FAD54B4A1A604B4A84 +:1016600042EA804022680392039AD207FAD51860B2 +:1016700022680492049AD007FAD5454A1A60A2F566 +:10168000800242EA814122680592059AD207FAD582 +:10169000196022680692069AD007FAD53D4A1A6068 +:1016A00022680792079AD107FAD53B4A1A60226846 +:1016B0000892089AD207FAD5384A1A602268099225 +:1016C000099AD007FAD5364A1A6022680A920A9A0D +:1016D000D107FAD5334A1A6022680B920B9AD207C7 +:1016E000FAD5314A1A6022680C920C9AD007FAD5C2 +:1016F0002E4A1A6022680D920D9AD107FAD52C4A0B +:101700001A6022680E920E9AD207FAD5294A1A60F8 +:1017100022680F920F9AD007FAD5274A1A602168DB +:1017200010911099C907FAD51A60144B1A46196816 +:1017300011911199C807FAD5114B20491960116808 +:1017400012911299C907FAD51D49196011681391B0 +:101750001399CC07FAD50B491960116814911499A3 +:10176000C807FAD517491960116815911599C90765 +:10177000FAD5154A1A6016B010BD00BFB0B00250BD +:1017800080B002504004419000862929D81001C839 +:1017900040144190401421294014652100344090A8 +:1017A00000310C90C0400C90C030202940960D9024 +:1017B00000416090031645C8008611210041602158 +:1017C000594644C84014459040142D902DE9F041ED +:1017D000484B88B01C461D680195019DEF07FAD55E +:1017E000454BDFF820E1454F13449B000A181B6866 +:1017F0001E2A88BFC0F11E011F330A185B095A4315 +:10180000B2F5806F88BF4FF480614FF0000203F1A2 +:10181000010588BFB1FBF3F1944688BF091A25F092 +:1018200001058000914233DC22680492049AD207B9 +:10183000FAD5334A1268216805910599CF07FAD580 +:1018400030482E490260002215469A4246D15A1C61 +:101850002A4D194622F0010200268A4241D8216809 +:1018600006910699CE07FAD5274909682568079594 +:10187000079DED07FAD50160002120480C469942EA +:1018800032D11E4900209A4231D808B0BDE8F0811B +:1018900026680296029EF607FAD500F1A04606F5E4 +:1018A0002C363668D4F80080CDF80C80DDF80C803A +:1018B00018F0010FF6D0CEF8006000269E4205D148 +:1018C0001E46B54206D801320430ABE7C7F800C067 +:1018D0000136F3E7C7F800C00136F2E70D600132C8 +:1018E000B3E72E600131B8E704600131C7E7086053 +:1018F0000133C8E7B4B0025024AC0014D8B0025091 +:101900007CB00250D4B0025078B00250F0B52A4DED +:1019100085B02C462E680096009EF707FAD500F198 +:10192000A05000F52C4080000568206801900198C7 +:10193000C607FAD5214E2248356002EB8307BA422A +:101940002BD15A1C1E4822F0010200279A4229D8A6 +:1019500023680293029BD807FAD51A4B0B449B00CD +:1019600018681F30B2EB501F4FEA501313D2216892 +:1019700003910399C907FAD5154400219B1A104A0F +:10198000356008468B4210D85A1C0D4922F00102DE +:1019900000209A420CD805B0F0BD52F804CBC0F834 +:1019A00000C0CCE707600133D0E710600131E9E700 +:1019B00008600133EDE700BFB4B00250D4B002506C +:1019C000D8B0025024AC001410B5494B94B019465D +:1019D0001A680092009AD207FAD5464B464A1A6016 +:1019E0000A680192019AD407FAD5444A1A600A6833 +:1019F0000292029AD007FAD5414818600A68039209 +:101A0000039AD207FAD53F4A1A600A680492049AE8 +:101A1000D407FAD53C4A1A600A680592059AD2079B +:101A2000FAD53A4A1A600A680692069AD407FAD595 +:101A3000374A1A600A680792079AD207FAD5354AD8 +:101A40001A600A680892089AD407FAD5324A1A60CE +:101A50000A680992099AD207FAD5304A1A600A68C8 +:101A60000A920A9AD407FAD52D4A1A600A680B928C +:101A70000B9AD207FAD52B4A1A600A680C920C9A74 +:101A8000D407FAD5284A1A600A680D920D9AD2072F +:101A9000FAD5264A1A600A680E920E9AD407FAD529 +:101AA000234A1A600A680F920F9AD207FAD5214A80 +:101AB0001A600F4B19461C681094109CE407FAD565 +:101AC0000C4B1860086811901198C407FAD51A6079 +:101AD0000A681292129AD007FAD5174A1A600A6851 +:101AE0001392139AD207FAD5144A1A6014B010BD93 +:101AF000B0B0025080B0025080906521000409907F +:101B0000409665908080612180200821802064902B +:101B10000081619000461021008111210041442183 +:101B200080202029024610C80086092180206021DB +:101B3000402128294096652140962529594614C8F8 +:101B400010B5544B98B019461A680192019AD20701 +:101B5000FAD5514B514A1A600A680292029AD40788 +:101B6000FAD54F4A1A600A680392039AD007FAD549 +:101B70004C4818600A680492049AD207FAD54A4A77 +:101B80001A600A680592059AD407FAD5474A1A607E +:101B90000A680692069AD207FAD5454A1A600A6878 +:101BA0000792079AD407FAD5424A1A600A6808923F +:101BB000089AD207FAD5404A1A600A680992099A27 +:101BC000D407FAD53D4A1A600A680A920A9AD207DF +:101BD000FAD53B4A1A600A680B920B9AD407FAD5D9 +:101BE000384A1A600A680C920C9AD207FAD5364A1B +:101BF0001A600A680D920D9AD407FAD5334A1A6012 +:101C00000A680E920E9AD207FAD5314A1A600A680B +:101C10000F920F9AD407FAD52E4A1A600A681092CA +:101C2000109AD207FAD52C4A1A601A4B19461C682A +:101C30001194119CE407FAD5174B186008681290AC +:101C40001298C407FAD51A600A681392139AD0073B +:101C5000FAD5124A1A600A681492149AD207FAD571 +:101C60001E4A1A600A681592159AD407FAD51C4ABA +:101C70001A600A681692169AD007FAD5194A1A609D +:101C80000A681792179AD207FAD5174A1A6018B03D +:101C900010BD00BFB0B0025080B00250009365216B +:101CA00000043190409665900083612100C330218B +:101CB00000C36490008161900046102100811121D1 +:101CC0000041442100C320290C4610C80086312160 +:101CD00000C3602140C1282940966521001331903E +:101CE00040962529594614C8400432492DE9F0414F +:101CF000834B1D6898682033A0B01E461A68019275 +:101D0000019AD207FAD57F4C7F4B23603368029348 +:101D1000029BDF07FAD57D4B23607D4B1F461A6877 +:101D20000392039AD107FAD57A4B1968C1F340217F +:101D300032680492049AD207FAD5774A22603A6848 +:101D40000592059AD207FAD51A68C2F340220029F3 +:101D500000F0D180002A00F0CE8032680692069A08 +:101D6000D107FAD56D4A22603A680792079AD207DE +:101D7000FAD51A68C2F34022316808910899C90758 +:101D8000FAD567492160396809910999C907FAD5D7 +:101D90001B68C3F34023002A00F0AF80002B00F043 +:101DA000AC8033680A930A9BDA07FAD5564B236056 +:101DB00033680B930B9BDB07FAD55A4A22603368D2 +:101DC0000C930C9BDF07FAD5574B236033680D93B8 +:101DD0000D9BD907FAD5554B236033680E930E9BA4 +:101DE000DB07FAD5524B236033680F930F9BDF0755 +:101DF000FAD5504B2360504B1E461968109110992C +:101E0000C907FAD53F4C4D4B236033681193119BA2 +:101E1000DB07FAD54A4B236033681293129BDF0726 +:101E2000FAD5484B23603A4B984619681391139999 +:101E3000C907FAD5324F386033681493149BDB0717 +:101E4000FAD5226033681593159BD807FAD53E4B17 +:101E5000236033681693169BD907FAD53B4B236052 +:101E600033681793179BDA07FAD5394B2360336829 +:101E70001893189BDB07FAD5364B23603368199308 +:101E8000199BD807FAD5344B236033681A931A9BF1 +:101E9000D907FAD5314B236033681B931B9BDA07B4 +:101EA000FAD52F4B236000F0D3F908BBD8F80030E7 +:101EB0001C931C9BDB07F9D53D6033681D931D9B6C +:101EC000D907FAD5274B236033681E931E9BDA0788 +:101ED000FAD5254B2360D8F800301F931F9BDB07F2 +:101EE000F9D50C4B1B6813F4805F204B08BF1846D4 +:101EF00020B0BDE8F0811E48FAE71E48F8E700BFB1 +:101F000090B0025080B0025000100251C01F7229E0 +:101F1000B4B0025088B00250C0CF0129C01F0E29B2 +:101F2000C03F002940010249003184A80000164941 +:101F3000400108A180440888B0B00250C0447088B5 +:101F400080077A41C0077E4100006A498006164931 +:101F500040006E49000200210082202140822021A1 +:101F60008082242140A161A100C861510308F100D1 +:101F70000108F1000208F10008B540B1202801462F +:101F80004FF0070228BF20210020FFF71FFC024B63 +:101F900000221A6008BD00BF1CB80250F0B51D68D1 +:101FA00085B001F01F040DB91F2C25D1154D2E460B +:101FB0002F680197019FFF07FAD500F1A05000F5A7 +:101FC0002C408000006835680395039DED07FAD525 +:101FD0000D4D00EB611028600C48006802901F2C2A +:101FE00018BFC94302980FBF106001F01F0100FA2B +:101FF00001F111600021196010684300C00F1360E7 +:1020000005B0F0BDB4B00250E4B00250DCB00250F4 +:1020100030B51F4B85B01A46196800910099CC075E +:10202000FAD500F1A05000F52C408000016813683B +:102030000193019BD807FAD5164B174C1B68174D17 +:1020400013F11F0048BF03F13E0040110138002882 +:1020500010DA00230130400153B1A0F120014FF00C +:102060000042134204D1013888424FEA5202F8D1AB +:1020700005B030BD13680393039BDB07FAD5431803 +:1020800023602B680293029B002BE3D10138DEE72B +:10209000B4B00250ACB00250E4B00250DCB0025018 +:1020A0000A460021AFF3008038B5A0F12003B3F554 +:1020B000426F05462CD88F2826D800F1470300F13F +:1020C0006604DB064FEA541400D0013464013F3447 +:1020D000A409013411B18C421AD80C46E3004FF424 +:1020E0008050B0FBF3F0202828BF202002B1106000 +:1020F000084B01221A60214600F068F82846214664 +:1021000000F088F8002038BD00F11F046409DDE705 +:102110000148F8E71CB802502221F00070B52648AB +:1021200088B0054604680094009CE607FAD5234869 +:10213000234C0460234C44EA83432C680194019CA3 +:10214000E407FAD50360930143EA824242F0104467 +:1021500044F4C0442B680293029BDE07FAD5046066 +:102160002B680393039BDB07FAD5174B03608B01A6 +:1021700043EA814141F0104343F4C0432E68049682 +:10218000049EF607FAD503602B680593059BDE07CE +:10219000FAD5046041F058412B680693069BDC0792 +:1021A000FAD5016042F058422B680793079BDB0782 +:1021B000FAD5026008B070BDB0B0025080B00250D5 +:1021C000C02102298071009880611890002230B5EA +:1021D00049001346023840F6FC75940004F1A0440F +:1021E00004F52C34904202F10102CABF236025603D +:1021F0005B181E2AF1D1044A13600B445360034B51 +:10220000034A1A6030BD00BF78B0025084B002505B +:1022100020F80F000C4B18603F3020F03F00890180 +:10222000403058609960D9601961596199610748D7 +:10223000D9611C3382B002680192019AD207FAD5A3 +:10224000196002B0704700BF90B00250B4B00250A5 +:102250002DE9F041012392B0CDE90333624B1E46D4 +:102260001A680592059AD107FAD5604C604B236035 +:10227000604B19461A680692069AD207FAD55E4B49 +:102280001A68D70400F1A88032680792079AD50728 +:10229000FAD55A4A22600A680892089AD007FAD5F5 +:1022A0001B68DA04C3F3003700F198801220FFF7AF +:1022B000AFFE05461320FFF7ABFE85428CBF122010 +:1022C0001320FFF7A5FE451EFFF72CF903AB01AA6B +:1022D00029461220FFF762FE04AB804602AA294677 +:1022E0001320FFF75BFE00EB4800022832D00328E2 +:1022F0003ED0012874D133680993099BDB07FAD5D6 +:102300003F4B236033680A930A9BD807FAD53D4BAD +:10231000236033680F930F9BD907FAD53A4B23609C +:1023200033681093109BDA07FAD5384B2360336873 +:102330001193119BDB07FAD5354B2360013D25D561 +:102340001023192218210020FFF7E8FE384612B0AA +:10235000BDE8F08133680B930B9BD907FAD52D4B61 +:10236000236033680C930C9BDA07FAD52A4BCFE72E +:1023700033680D930D9BDB07FAD5284B2360336838 +:102380000E930E9BD807FAD5254BC1E703AB01AAE4 +:1023900029461220FFF702FE04AB044602AA294692 +:1023A0001320FFF7FBFD10EB440402D1FFF7C8FB3D +:1023B000C4E7FFF709FB022C08D0032C09D0012C3D +:1023C00010D117211620FFF737F9B7E71521142090 +:1023D000F9E70F210E20F6E7124FB7E7124FB5E7E6 +:1023E000124FB3E7124FB1E7B0B0025080B00250C5 +:1023F00000084A51B4B0025088B0025000084E5153 +:1024000000065A4940065E49000442410014424910 +:1024100040042E49000652494006564900063A49F2 +:1024200040063E490608F1000708F1000408F100E3 +:102430000508F100014B1860704700BF08BA025050 +:10244000014B1860704700BF04BA0250094BC243E9 +:102450001A60043B82B01B680193074B019A024249 +:1024600004D0064A1060186802B0704720BF1A688E +:102470000192F3E704BA025014B2002008BA0250E5 +:10248000FEF7CEBFFEF7F6BF0A460021FEF7F2BF09 +:102490002DE9F74305460E461F46114600F058FA4F +:1024A0000446002840F08280002E00F0838000293E +:1024B00000F08280202F40F0818005F14404082242 +:1024C00005F104092046FFF71FF805F1240808224A +:1024D00031464846FFF718F806F120010822404629 +:1024E000FFF712F801A94FF480700197FFF7D8FDAC +:1024F000002865D1334A4FF4807313600121936043 +:10250000314A0823FFF702FA012108462F4A052322 +:10251000FFF7FCF908234A4601211C20FFF7F6F9D2 +:102520000823424601210320FFF7F0F92246082341 +:1025300001210220FFF7EAF9254A082301211A2088 +:10254000FFF7E4F9234A052301211B20FFF7DEF9F9 +:10255000214A082301211420FFF7D8F91F4A082334 +:1025600001211520FFF7D2F9082305F164020121AA +:102570001620FFF7CBF9082305F18402012117206B +:10258000FFF7C4F90823164A01210B20FFF7BEF913 +:10259000FFF7ACFB04460198FFF7EEFC114B002C53 +:1025A00018BF1C46A4212846FFF76EFF204603B043 +:1025B000BDE8F0830C4CF9E70C4CF7E70C4CF5E761 +:1025C000084CEFE790B00250C0CE0F0038CF0F009C +:1025D00080CE0F0024CF0F00E4CE0F0004CF0F00F9 +:1025E000A0CE0F008408F0007608F0008008F0000C +:1025F0008108F00038B50D460446B0B1A022002194 +:102600000430FFF73FFF95B10822294604F164002A +:10261000FEF77AFF082205F1200104F18400FEF79D +:1026200073FF044B2360002038BD0348FCE70348D8 +:10263000FAE700BFDD55AABB7108F0008308F0007F +:1026400037B50193069B009304461546FFF7D2FF6A +:1026500040B9DDE900322946204603B0BDE83040EC +:10266000FFF716BF03B030BD2DE9FF41144B044600 +:102670000D460FCBE84688E80F00204600F078F9B9 +:102680000746B0B9CDB1636A261D01963BB9012357 +:10269000226F636204F13001404600F081F8334656 +:1026A000043D243453F8042B12BAA34245F8042FF6 +:1026B000F8D1384604B0BDE8F081024FF9E700BF19 +:1026C00050CE0F000502F00013B5044670B104307F +:1026D00070210190FFF7D8FE019805492022FFF7ED +:1026E000CFFE044B2360002002B010BD0248FBE780 +:1026F00060CE0F00DD55AABB0002F0002DE9FF47B8 +:10270000254B04460F4615460FCBE84688E80F00D8 +:1027100025B90026304604B0BDE8F087204600F019 +:1027200027F906460028F5D1666A231D01938EBB62 +:10273000206FC0B1C0F14009A94528BFA94604F1E6 +:10274000300A4A4639465044FFF79AFE226F4A44FF +:10275000402A4F442267A5EB090504D15146404663 +:1027600000F01EF8266705F03F0935F03F0505D05B +:1027700039462A46404600F013F82F44B9F1000FBD +:10278000C7D04A46394604F13000FFF779FEC4F855 +:102790007090BFE7014EBDE750CE0F000C02F00075 +:1027A0002DE9F74F314B4468054691469A461A6821 +:1027B000002AFCD12E4B9B461A68002AFCD14FF010 +:1027C000FF300191FFF736FE8020FFF739FE294EDA +:1027D000294ADFF8B880294F012307203360A2F58A +:1027E0009E72C2F83C011360636AC8F80030A36AA5 +:1027F0003B602B6842F8043CAB682046984701993F +:10280000DAF80030002BFBD1B9F1000F20D11C4BBE +:1028100004221A60DAF80030002BFBD1DBF80090BC +:10282000B9F1000FFAD1EB6820469847D8F800308C +:1028300063623B68A362134BC3F80090C3F84491F2 +:10284000DAF80030002BFBD1336003B0BDE8F08F25 +:10285000236A012B04BF0B4A13600B4B4020196005 +:10286000C3F80490FFF7F2FDD4E700BF10B902509F +:1028700020BC025018B8025000B90250D0B7025024 +:10288000C8B7025084B6025028BC0250CCB70250E0 +:10289000084B1B681B0EF02B08D1074B1A68074B1F +:1028A0009A4205D1064B00201860704705207047FA +:1028B0000620704728B9025024BA02500000E020D8 +:1028C0000CBA02500C4B1B68C3610C4B1B68836134 +:1028D0000B4B1B6843610B4B1B6803610A4B1B6866 +:1028E000C3600A4B1B688360094B1B684360094B3C +:1028F0001B680360704700BF5CB6025058B60250B8 +:1029000054B6025050B602504CB6025048B602506F +:1029100044B6025040B602500C4BC2691A6082693C +:1029200043F8042C426943F8082C026943F80C2C44 +:10293000C26843F8102C826843F8142C426843F8AC +:10294000182C026843F81C2C704700BF5CB602507C +:1029500030B10268034B04489A4208BF0020704718 +:1029600002487047DD55AABB8208F0007108F000EC +:1029700030B10268034B04489A4208BF00207047F8 +:1029800002487047DD55AABB0202F0000002F000C9 +:102990002DE9F0411E4E4FF48271D6F8040130B19A +:1029A0001C48C268521CC260304606F0C1F80025BF +:1029B0004FF4A07707EB85018AB23046B25812B3C4 +:1029C00089B206F0B5F81348103000EB0514204624 +:1029D00008F05CFD104811492246401AC008042145 +:1029E00001EB00400EA105F067FE616819B12046B9 +:1029F00008F0A2FC07E0A16811B1204608F09CFC99 +:102A0000206800B180476D1C022DD3D3BDE8F08152 +:102A10000040024084590020DCCF0F008CCF0F0013 +:102A200074696D65725F66697265202830782578F3 +:102A30002900000000F02EB970B50E46144900EBD5 +:102A4000400001EBC0051446E86A183520B10128A2 +:102A50000FD0022805D113E0284600F051F9A0421A +:102A600001D2002411E022463146284600F080F9C8 +:102A70000BE0284600F044F9A042F4D20446F2E705 +:102A80003146284600F047F90446204670BD000054 +:102A90008CA1002006F026BA30B54FF080520023FA +:102AA000D2E94C10082906D1CC06C4F80C31C4F880 +:102AB0001031624C2360082955D1614B1B68614C71 +:102AC00023605F4B1B1D1B68241D23605C4B083378 +:102AD0001B68241D23605A4B0C331B68241D236084 +:102AE000574B10331B68241D2360554B14331B6850 +:102AF000241D2360524B18331B68524C2034236032 +:102B00004F4B1C331B68241D23604D4B20331B6827 +:102B1000241D23604A4B24331B68241D2360484B2B +:102B200028331B68241D2360454B2C331B68241D50 +:102B30002360434B30331B68424C40342360404B8E +:102B400034331B68241D23603D4B38331B68241D20 +:102B500023603B4B3C331B68241D2360384B4033C0 +:102B60001B68241D2360082904D1030002D1374CBF +:102B7000354B2360082904D1030002D1344CFB23D8 +:102B80002360082908D1030006D1324B92F858522D +:102B90001C6865F303041C60082904D1030002D1FA +:102BA0002D4C8B012360082906D12C480168C907E8 +:102BB00002D06FF0010101602948016841F4700101 +:102BC0000160BFF34F8FBFF36F8FD2E94C104FF00E +:102BD0001022082906D1032804D9D2F8080217497F +:102BE00020310860D2F80002002803DBD2F804028A +:102BF00000281FDA012006F0ADFA1221C2F80012F7 +:102C000018480368002BFCD0C2F8041201680029A0 +:102C1000FCD0002006F09EFABFF34F8F10487C389E +:102C20000168114A01F4E06111430160BFF34F8F65 +:102C300000BFFDE70E490D48086030BD3805004073 +:102C40000404001020C50040488103008C56004059 +:102C500018F50040E40E0040409602400004004099 +:102C600088ED00E000E401400400FA050090D00384 +:102C7000845A0020064808B50021016000680090D1 +:102C800005F0CEFD05F0A2FB0028FBD108BD000039 +:102C90000001014010B5124C02202061606111A0BA +:102CA000A06104F17800E0614FF4805020620020C0 +:102CB000A06260620BA1A164E0620D49E164102191 +:102CC000A065C4E91410E0650AA1E01DFEF7EFFB62 +:102CD00009A12046FEF7EBFB2020A07110BD0000EB +:102CE0008CA100205465726D696E616C000000005B +:102CF00004B2002052545400534547474552000047 +:102D00000269C1688A4203D88068401A104400E012 +:102D1000501A401E70472DE9F047C468174689468F +:102D200006464FF000083069A04201D9051B02E0B9 +:102D3000B168201A0D1AB0686D1E001BA84200D899 +:102D40000546BD4200D33D4670682A4620444946A8 +:102D5000FEF766FBB0687F1B2C44A844A944A04240 +:102D600000D10024F460002FDDD14046BDE8F0879B +:102D70002DE9F04104468846D4E90207C51BE16805 +:102D8000606816460844B54206D94146FEF748FB3E +:102D9000B819E060BDE8F0812A464146FEF740FBE5 +:102DA000761B08EB050132466068FEF739FBE660EA +:102DB000F0E702E008C8121F08C1002AFAD17047E4 +:102DC0007047002001E001C1121F002AFBD17047AB +:102DD0000121202803DA81400548014003E0402812 +:102DE00002DA2038814009B1012070470020704785 +:102DF000FC06FFBD800701D000207047012070470E +:102E000040680068401E084201D101207047002040 +:102E10007047C3688B4206D811440069491E81423D +:102E200001D80120704700207047000030B585B000 +:102E30000D46164C1621ADF800101ECC0DF1040CF9 +:102E40008CE81E00124C0221012221706270A070D9 +:102E50000320E070217159206071FE20A071694645 +:102E600004F109007DDF00280ED1BDF800002A46DC +:102E7000411CE17109212172BDF808100844ADF828 +:102E8000080001A9034872DF05B030BDC0BA0F00C9 +:102E9000BC6E0020C059002010B586B00624182250 +:102EA0000D496846FEF7BCFA0C480D49401AC008A7 +:102EB000042101EB00400BA105F0FAFB6946204616 +:102EC000FFF7B4FF002805D10A4C207874DF0121F8 +:102ED000207873DF06B010BDD0BA0F0094CF0F007A +:102EE0008CCF0F004164766572746973696E672ECA +:102EF0002E2E0000C05900202DE9F05FDFF89CB0B5 +:102F00005C46DBF84890DBF8246003F05FF9216B46 +:102F10004718751A22482349401AC108042000EBBB +:102F20000140804620A105F0C3FB216B4944B94212 +:102F300000D1002508232A46384601F0CBFE0700C1 +:102F4000184817494FF0010AA1EB00004FEAD001E1 +:102F50000AEB014404D020461AA105F0A9FB19E0B0 +:102F600003F034F90022314601F0BCFADBF82820E6 +:102F70000546D946AA4208D1404619A105F098FB5A +:102F8000C9E9075AC9F8186004E020462B461A49D7 +:102F900005F099FB3846BDE8F09F000054860020FC +:102FA000DCCF0F008CCF0F00456E746572206E72FF +:102FB000665F6466755F6170705F636F6E74696E83 +:102FC000756500004661696C656420746F20636FED +:102FD0007079206669726D776172652E000000005D +:102FE00053657474696E6720617070206173207618 +:102FF000616C696400000000F0BF0F0008B5134663 +:10300000024600930648074BC01AC008012303EB91 +:1030100000400B4604A105F05EFB06F02DFD00000C +:10302000DCCF0F008CCF0F00526563656976656455 +:103030002061206661756C74212069643A203078C3 +:10304000253038782C2070633A2030782530387855 +:103050002C20696E666F3A20307825303878000071 +:10306000024606480649401AC008012101EB00400B +:1030700004A105F021FB06F0FFFC0000DCCF0F00EF +:103080008CCF0F00526563656976656420616E20A0 +:103090006572726F723A20307825303878210000DE +:1030A0002DE9F04107461E4E1E481F49326A401A5C +:1030B000C508012A04D0032000EB05401BA12BE02A +:1030C0004FF44050184B174C4168E31A234A022032 +:1030D000DB0800EB0344914206D1C1023B46204885 +:1030E000726B00F04FFF90B103F070F801461C487E +:1030F0003B464130B26900F045FF58B1042000EB77 +:10310000054018A105F0D4FA0120BDE8F081204661 +:1031100018A101E0204626A105F0CAFA0020F4E734 +:1031200054860020DCCF0F008CCF0F00426F6F74ED +:103130002076616C69646174696F6E206661696C88 +:1031400065642E204E6F2076616C6964206170701A +:1031500020746F20626F6F742E000000DBE5B151A8 +:10316000B48800204170702069732076616C6964B6 +:1031700000000000426F6F742076616C69646174B6 +:10318000696F6E206661696C65642E20536F66748A +:103190004465766963652069732070726573656E36 +:1031A000742062757420696E76616C69642E00000B +:1031B000426F6F742076616C69646174696F6E2010 +:1031C0006661696C65642E204170702069732069A6 +:1031D0006E76616C69642E002DE9F84F254C8146AE +:1031E000924660880E46814241D800274FF6FF780C +:1031F0008DF80070684600F075F822786078A18834 +:10320000884201DA401C00E00020C0B2904204D1A4 +:103210009DF8000000F0B2F827E0657860788842F9 +:1032200001DA401C00E0002060709DF8000000F012 +:10323000A5F8454519D0A068B9F1000F40F835A0B0 +:103240000DD066B16188E068324605FB0100494651 +:10325000FEF7E6F8A06800EBC500868002E000EB10 +:10326000C50087800020BDE8F88F0420FBE7092017 +:10327000F9E70000045A002010B50E4C03E0401C92 +:1032800000E00020207020786178814210D0227800 +:103290006188E068A36802FB010003EBC20153F8F8 +:1032A0003220898890472078A1888842E9DAE6E7C9 +:1032B00010BD0000045A002030B5CB0008339DB289 +:1032C00093074FF0000401D0072030BD044B9A60F3 +:1032D0002A44DA605C701C7058809980002030BDF0 +:1032E000045A002070B5044607F088FA012803D07C +:1032F00010A11D2000F086F8EFF3108172B61D4A70 +:103300009368012083B990604FF0E020D0F880519D +:10331000194B1D401560C0F88031D0F884315360DE +:103320004217C0F8842100202070002900D162B625 +:1033300070BD00002E2E5C2E2E5C2E2E5C2E2E5C80 +:103340002E2E5C636F6D706F6E656E74735C6C694E +:10335000627261726965735C7574696C5C617070CE +:103360005F7574696C5F706C6174666F726D2E63EB +:1033700000000000C88D0020FC06FFBD10B504460B +:1033800007F03CFA012803D00DA12B2000F03AF8F9 +:103390001B498868002811D0002C0FD1EFF3108052 +:1033A00072B60B684FF0E022C2F800314B68C2F8E9 +:1033B000043100228A60002800D162B610BD0000EE +:1033C0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6302 +:1033D0006F6D706F6E656E74735C6C696272617232 +:1033E0006965735C7574696C5C6170705F75746934 +:1033F0006C5F706C6174666F726D2E63000000000C +:10340000C88D00201CB56A46CDE90001002144F2B8 +:103410000200FFF7F3FD1CBDF8B521480146456ADF +:10342000C06A8C6CAC2801D024B106E0486B04441F +:103430002D1A02E002F0DEFE04461A481A4923461D +:10344000401AC708042000EB07400646174A18A197 +:10345000009505F040F92A4621461448FEF71AF86F +:10346000D0B130462B4622461FA105F02CF900BFF3 +:1034700004F0ACFF0028FBD102F01EFC29462046D8 +:1034800003F0A0FA040005D0012000EB074022A1C0 +:1034900005F00EF92046F8BD0024304625A1F7E7D7 +:1034A00054860020DCCF0F008CCF0F0000100F00DF +:1034B000566572696679696E6720424C3A204164AC +:1034C00064723A203078253038782C205372633A71 +:1034D000203078253038782C204C656E3A203078B2 +:1034E0002530387800000000436F7079696E6720DE +:1034F000626F6F746C6F616465723A205372633AE5 +:10350000203078253038782C204C656E3A20307881 +:10351000253038780000000052657175657374209D +:10352000746F20636F707920424C206661696C650E +:10353000640000004E6F20626F6F746C6F61646591 +:103540007220636F7079206E65656465642C2062FB +:103550006F6F746C6F6164657220757064617465FF +:1035600020636F6D706C6574652E000030B595B08A +:10357000040004D12E4940F22940FFF743FF2D49B2 +:103580004FF6FF702246488001208DF812004FF65A +:103590005960ADF8100004A90120A8DF002844D12B +:1035A000254B0FCB8DE80F00A11C684662DF002879 +:1035B0003BD121491C2260390BA8FDF731FF1F4D7B +:1035C000142205F1C401A8681290A0788DF84A0071 +:1035D0002868139006A8FDF723FF12A8069013A8E9 +:1035E00007902088231D06AA0BA9AADF00281CD15A +:1035F0001C2205F1D8010BA8FDF712FFE868129014 +:10360000A0788DF84A0068681390142205F1F4013F +:1036100006A8FDF705FF12A8069013A807902088BA +:1036200004F10C0306AA0BA9AADF15B030BD0000F7 +:10363000DCC00F00C059002098BB0F0090BA0F00EB +:10364000F0B585B00D46040004D1374940F2611051 +:10365000FFF7D8FE25B934494FF4B170FFF7D2FE19 +:1036600014216846FDF704FF2078032308280BD1B6 +:103670002E48C188491E89B2C1808288002A4BD059 +:10368000002949D1C28023702178607860228DF8AA +:1036900000208DF801108DF8020063780325012BBE +:1036A00016D0234823492278401AC008022101EB92 +:1036B000004021A105F007F860780B2828D101F01F +:1036C00025FA8DF80300002001F028FA04251FE0F8 +:1036D000207809281CD2DFE800F01B1B1B211B1BD4 +:1036E000051B2100D4E902706D46E91C666807F0ED +:1036F000F3FE044629193046C91C07F0EDFE0444C8 +:1037000029193846C91C07F0E7FE2044C01CC5B281 +:103710002946684607F03AF905B0F0BDD4E9011230 +:10372000684607F022F9F1E7DCC00F00C05900201D +:1037300094CF0F008CCF0F004446552072657175F1 +:10374000657374202564206661696C6564207769FF +:103750007468206572726F723A20307825780000A4 +:103760002DE9F0411D4C0026217AC90733D01C49B0 +:10377000884230D01B481C49401AC108042000EB85 +:103780000140054619A104F093FF6088A0F57F4130 +:10379000FF3916D028461DA104F08AFFA068132126 +:1037A00040F00400A060608876DF002814D11B4C34 +:1037B000C8264FF47A47611C38468847761EFAD1EE +:1037C00001E0207874DF05F029FB060003D12846CC +:1037D00013A104F06DFF3046BDE8F081C059002010 +:1037E00074CF0F0094CF0F008CCF0F005368757407 +:1037F00074696E6720646F776E20424C4520747246 +:10380000616E73706F72742E000000004469736300 +:103810006F6E6E656374696E672E0000A0BA0F004C +:10382000424C45207472616E73706F7274207368BD +:10383000757420646F776E2E0000000070B5204C08 +:1038400006460020217AC90738D11E481E49401A71 +:10385000C108042000EB014005461CA104F028FF2C +:103860002248E66001F0AEFE00F01CFB002825D1E6 +:1038700003F07EFA38B11E4803F06EFAA06840F0FB +:103880000200A06003E028461AA104F011FF01F035 +:1038900091F9002812D116481C30FFF767FE002866 +:1038A0000CD1FFF7F9FA002808D1A06818A140F060 +:1038B0000100A060284604F0FBFE002070BD00005F +:1038C000C059002094CF0F008CCF0F00496E69744F +:1038D00069616C697A696E6720424C45204446559F +:1038E000207472616E73706F72740000FCCF0F00F1 +:1038F000DC6E00204E6F20616476657274697369B6 +:103900006E67206E616D6520666F756E64000000E5 +:10391000424C4520444655207472616E73706F723C +:103920007420696E697469616C697A65642E00003F +:103930002DE9FE439F49A04B0122591AC9080746A9 +:10394000051D02EB0148008804229C4E4FF000093F +:1039500002EB014421286ED037DC13286CD01EDC2A +:1039600001286AD0102854D0112868D0122879D1A3 +:10397000204693A104F09CFEEA8820469AA104F018 +:103980009BFEAA8820469EA104F096FE2A89204626 +:10399000A1A104F091FE6A892046A4A1ECE01428BC +:1039A00075D01A2874D01F285CD12046A5A104F038 +:1039B0007FFE291D708875DF040053D040462246E3 +:1039C000ACA104F079FE20461FE051287AD00EDC2D +:1039D000222878D0232868D024287BD0502877D17B +:1039E00003B03946BDE8F043B04806F0D5B85228D8 +:1039F000D8D0552837D056286AD1B879002867D151 +:103A00001321708876DF002862D0BDE8FE43FFF7FF +:103A100027BB2046A6A104F04BFE28887080F168E1 +:103A200009B101208847A549708875DF02004FD091 +:103A30004046A3A1A0E07FE055E087E0FFE74FF616 +:103A4000FF707080307A400704D4FFF725FA08B180 +:103A5000FFF706FBF16800293AD003B00220BDE869 +:103A6000F043084734E0FA88F72A14D29007B0F1FF +:103A7000404F0ED0D01F81B2481EC31700EB937386 +:103A800023F00303C01A081A801D85B204E078E011 +:103A900081E0154600E0F72520462B46944904F0C6 +:103AA00012FE29467088B5DFADE7204691A104F0EB +:103AB000FFFDCDF80090CDF80490B888002269464B +:103AC00090DF2DE046E02EE004E000BFFFF7C8FAEB +:103AD000BDE8FE836B89EA8803B02046BDE8F04369 +:103AE00091A104F0F0BD20469FA104F0E1FD7348D0 +:103AF00001AA163842F60521806A0190CDF808D057 +:103B00007088ADDF08B1FFF7ABFA2046BDF80020A2 +:103B10009FA104F0D1FD00231A46852170887FDF24 +:103B20000028D3D1D4E7287900906B79AA79204670 +:103B3000A0A104F0D0FDCBE72046ADA104F0B8FD74 +:103B4000CDF80090288869468FDFE9E7002170886A +:103B500066DF58E7B8790028BAD03946534805F0EF +:103B6000D7FF0028B4D007F10801504805F0F2FB58 +:103B70000200ADD04046A9A103B0BDE8F04304F077 +:103B80009BBD2046B2A104F093FD00210A4628887F +:103B90000B4686DF37E7002328881A461946B1DF2F +:103BA00008B1FFF75DFA03B02046BDE8F043B2A1CB +:103BB00004F07EBD8CCF0F0094CF0F00C0590020C1 +:103BC000526563656976656420424C455F474150A4 +:103BD0005F4556545F434F4E4E5F504152414D5FDB +:103BE00055504441544500006D61785F636F6E6EBF +:103BF0005F696E74657276616C3A2025640000001E +:103C00006D696E5F636F6E6E5F696E74657276610B +:103C10006C3A202564000000736C6176655F6C610E +:103C200074656E63793A202564000000636F6E6EE0 +:103C30005F7375705F74696D656F75743A20256484 +:103C400000000000526563656976656420424C455A +:103C50005F4741505F4556545F434F4E4E5F504162 +:103C600052414D5F5550444154455F524551554571 +:103C7000535400004661696C75726520746F20753D +:103C8000706461746520636F6E6E656374696F6ED6 +:103C900020706172616D6574657220726571756501 +:103CA00073743A203078257800000000F86E002008 +:103CB000436F6E6E6563746564000000A6BA0F0002 +:103CC0004661696C75726520746F207570646174EB +:103CD0006520636F6E6E656374696F6E20706172CC +:103CE000616D65746572733A203078257800000044 +:103CF00094C00F00526563656976656420424C4547 +:103D00005F4741505F4556545F444154415F4C45C5 +:103D10004E4754485F5550444154455F52455155B4 +:103D20004553542E00000000526563656976656452 +:103D300020424C455F4741505F4556545F444154D3 +:103D4000415F4C454E4754485F55504441544520CF +:103D50002825752C206D61785F72785F74696D65B8 +:103D6000202575292E00000052656365697665641B +:103D700020424C455F4741505F4556545F53454391 +:103D80005F504152414D535F524551554553540088 +:103D90004343434420666F7220736572766963659E +:103DA000206368616E676564206973203078253010 +:103DB00034780000526563656976656420424C453D +:103DC0005F4741505F4556545F5048595F555044D6 +:103DD000415445202852583A25642C2054583A25FD +:103DE000642C207374617475733A25642900000093 +:103DF000526563656976656420424C455F47415072 +:103E00005F4556545F5048595F5550444154455F93 +:103E1000524551554553542E00000000436F756CB8 +:103E200064206E6F742068616E646C65206F6E5FD5 +:103E30006374726C5F70745F77726974652E20654D +:103E400072725F636F64653A203078253034780091 +:103E5000526563656976656420424C455F47415011 +:103E60005F4556545F5345435F494E464F5F524549 +:103E7000515545535400000046696E697368656486 +:103E80002068616E646C696E6720636F6E6E20736C +:103E9000656320757064617465000000007800F04F +:103EA0000100704738B50020009002F097FD00280F +:103EB0002DD117481749184A401AC108042000EBB1 +:103EC0000140044615A104F0F7FB134813DF002856 +:103ED0001DD1204619A104F0EBFB04F0C9FF002816 +:103EE00015D1684604F02AFE002810D1204619A1F9 +:103EF00004F0DEFB6946012004F02AFE002806D10A +:103F000020461AA104F0D4FB684604F0B9FE38BD7F +:103F100094CF0F008CCF0F0000100F005365747406 +:103F2000696E6720757020766563746F72207461A6 +:103F3000626C653A2030782530387800456E6162D1 +:103F40006C696E6720536F66744465766963652E8D +:103F500000000000436F6E6669677572696E6720C6 +:103F6000424C4520737461636B2E0000456E6162A4 +:103F70006C696E672074686520424C4520737461DB +:103F8000636B2E0013B90378012B01D003F062B9E3 +:103F9000012070470022C32100F5187000F0A2BA7A +:103FA0002DE9F043A3B00446DDE92A9620200F4610 +:103FB0002190984615467C2102A8FDF759FA412127 +:103FC0002046FDF755FAB7F8940005EB051107EB0D +:103FD0008101A84201D991F896602670320033D051 +:103FE000012A0DD01B481C4D0123401BC00803EBC8 +:103FF0000045022A0CD0032A20D0284617A117E03A +:1040000000224946404600F06DFAC4F801001BE06A +:1040100021A9601CCDE900014B464246184902A87F +:1040200001F0A6FF80B105F055F80246284615A11B +:1040300004F042FB002023B0BDE8F083B1F89820E3 +:10404000601C9A31FDF7ECF94A464146204603F0E0 +:1040500001F9F0E7BCCF0F008CCF0F00496E7661FD +:104060006C696420626F6F742076616C696461743E +:10407000696F6E20747970653A2025640000000035 +:10408000C4B80F006E72665F63727970746F5F6898 +:104090006173685F63616C63756C61746528292066 +:1040A0006661696C65642077697468206572726FF7 +:1040B000722025730000000010B504460A480B4921 +:1040C000401AC008042101EB004009A104F0F0FAF5 +:1040D0004FF0000034B10C490870BDE810400B48A7 +:1040E00002F072BE00F05AFCDCCF0F008CCF0F0044 +:1040F000526573657474696E6720626F6F746C6F5C +:10410000616465722E000000785900209D490F00FF +:104110002DE9FC410646C0074FF000050ED0104FB8 +:1041200000240122385D009500231146019503F01B +:10413000D7FF641C042CF4D300F064F8B0070DD54D +:10414000074E0024361D0022305D032300951146E2 +:10415000019503F0C5FF641C042CF4D3BDE8FC8179 +:10416000A6B80F0010B50446042803D305A12120EA +:10417000FFF748F90E480121005DBDE8104004F04A +:1041800045B800002E2E5C2E2E5C2E2E5C2E2E5C52 +:104190002E2E5C636F6D706F6E656E74735C626FF4 +:1041A000617264735C626F617264732E63000000FD +:1041B000A6B80F0010B50446042803D305A11B20A0 +:1041C000FFF720F90E480021005DBDE8104004F023 +:1041D0001DB800002E2E5C2E2E5C2E2E5C2E2E5C2A +:1041E0002E2E5C636F6D706F6E656E74735C626FA4 +:1041F000617264735C626F617264732E63000000AD +:10420000A6B80F0010B500242046FFF7ABFF641CD2 +:10421000042CF9D310BD00002DE9F84F0546861C8B +:1042200000208DF8000091460F464FF0010A6846C5 +:10423000FFF758F81C4C60683860D4E901011B4F47 +:10424000401A3968081A41F21C0104EB01080EE01B +:104250000121404601F0E1F800F036FF01464046FA +:1042600001F0DBF8D4E90101401A3968081A401C52 +:104270008642EDD8B9F1000F03D0052065F389100F +:1042800002E0062065F39F5061683A68114004EB34 +:104290008101C8606068304460609DF80000FFF7ED +:1042A0006DF85046BDE8F88F6C9100202C5A002024 +:1042B00010B543689C18446021B905E013F8010B60 +:1042C00001F8010B521EF9D2012010BD70B50D4648 +:1042D00004460A2902D10D21FFF7F8FFA0682268E1 +:1042E000411CA1601554D4E90101814204D3204648 +:1042F000BDE8704003F0FCBB70BD0000044881685D +:104300004068814201D101207047002070470000C1 +:104310006C91002010B50548012101F094F8BFF31D +:104320005F8F08B1002010BD012010BDB8590020DA +:1043300010B5064C2068012803D005A16D20FFF7B9 +:1043400061F8BFF35F8F0020206010BDB8590020D6 +:104350002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6362 +:104360006F6D706F6E656E74735C6C696272617292 +:104370006965735C6D757465785C6E72665F6D748B +:10438000782E680006490020086006494FF48060D6 +:10439000C1F88001BFF34F8FBFF36F8F70470000EC +:1043A00000A5025004E000E0034901200860034931 +:1043B0008002C1F80001704700A5025004E000E04F +:1043C00070B500F10805106814460E46202802D288 +:1043D00048F2145070BDFFF79DFF90B1FFF7E4FF66 +:1043E00031462846FEF740F90546FFF7CBFFFFF7B9 +:1043F0009FFF284600F04AFC0028EBD120212160D5 +:1044000070BD48F2045070BD10B50830FEF75CF97D +:10441000BDE8104000F03ABC2DE9F04700F1080972 +:104420000E461446FFF776FFB8B1FFF7BDFF4FF415 +:1044300080584546AC4200D825462A4631460E48AB +:10444000FCF7EEFF2A460C494846FEF757F90700ED +:10445000A4EB05042E4404D005E048F20450BDE866 +:10446000F087002CE5D1FFF78DFFFFF761FF38469D +:10447000BDE8F04700F00ABCBC5E002070B50B48F8 +:1044800000240460BFF35F8F094D01202860FEF710 +:10449000FFF901002C604FF0030004D0052901D181 +:1044A00048F2035070BD002070BD0000B8590020D4 +:1044B00000A50250014900200860704700A5025085 +:1044C00010B5040003D10549CA20FEF79BFF04483C +:1044D000C16B6160006CA06010BD0000DCC10F000A +:1044E00054860020F0B54FF0FF3622B11268D24357 +:1044F00000230A4D0DE03246FAE7C45C624008240E +:10450000D70700D037462F4087EA5202641EF7D102 +:104510005B1C8B42F1D3D043F0BD00002083B8ED8B +:1045200010B504460068401C07D0204606F08EFCFB +:104530002168814201D1012010BD002010BD000082 +:1045400010B5104C90B06078002818D101F074FDBF +:1045500018B10D49B520FEF755FF20220B496846DA +:1045600001F08AFD40236A4609490A4801F096FC99 +:1045700018B10549BF20FEF745FF0120607010B05B +:1045800010BD0000F4590020BCC50F0060B80F003A +:10459000008D0020B8B80F00F0B5146906468DB044 +:1045A00020681546271DE0B1022920D00A2000907E +:1045B0006B4609AA304606F0A7F900280FD009A9D2 +:1045C00001A8009A05F0CCFE01AE96E80F0005AEFA +:1045D00086E80F00236869683A4605A898470DB039 +:1045E000F0BD0DB03046BDE8F04005F02DBF694686 +:1045F000304605F0BFFE0028F1D0236869683A46CE +:10460000684698470028EAD002980028F5D101981A +:1046100070600120E3E753689B7813F0C00303D078 +:10462000402B03D00020704700F002B8FFF7B4BF62 +:104630002DE9FF410B465168064614468878334DF4 +:1046400000F00F0210F0300055F8225006D010286C +:1046500006D0202808D0302856D13EE022694DE00F +:1046600061690120087047E0022B28D1042A26D86E +:104670004FF0010869463046676905F07BFE002867 +:104680001AD009E00B89226903FB00226846A8477B +:1046900070B13888401C3880029820B16168388831 +:1046A0004A899042EED301987060029860BB02E0A4 +:1046B0004FF00008F7E7404604B0BDE8F081D4E9C8 +:1046C00004300F890288498907FB02338A421BD2D2 +:1046D000521C02801A46616810E008886169072A46 +:1046E000088009D1606801892069FCF7C1FE606813 +:1046F0002169C06805F059FE2269616804B030463E +:10470000AC46BDE8F04160470020D5E758BE0F0039 +:1047100038B51E4901200A68D20301D5000408E01B +:104720001B490A6802F0F902A92A04D1086800F0BE +:10473000560008600020FEF7B3FC1649164A891A95 +:10474000C908042202EB0144A0B119200090684678 +:1047500003F01EFDD0F810050099C84010F0010FBD +:104760000BD00B48001F006800F0F900B12807D0FB +:10477000002038BD204609A104E0204610A101E038 +:10478000204617A103F094FF012038BD000400402B +:1047900020050040DCCF0F008CCF0F004446552091 +:1047A0006D6F64652062656361757365206170700B +:1047B000206973206E6F742076616C69642E00002E +:1047C000444655206D6F646520726571756573741C +:1047D00065642076696120627574746F6E2E0000C6 +:1047E000444655206D6F64652072657175657374FC +:1047F0006564207669612047505245475245542EE2 +:1048000000000000FEB519490446086808B1401EC2 +:1048100008601748174AD4E90153801AC0080422D7 +:1048200002EB004022789DB10E6821690296CDE925 +:1048300000312B46012A16D00FA211A103F05EFF12 +:104840006169002911D0E06803B0BDE8F040084775 +:1048500009680091012A04D007A218A103F03BFFC8 +:10486000EEE720A2F9E71FA2E7E7FEBDD859002036 +:104870009CCF0F008CCF0F00657261736500000044 +:10488000466C617368202573206661696C656420DD +:104890002830782578293A20616464723D25702C8F +:1048A000206C656E3D307825782062797465732CB4 +:1048B0002070656E64696E6720256400466C6173C4 +:1048C0006820257320737563636573733A20616490 +:1048D00064723D25702C2070656E64696E672025BA +:1048E00064000000777269746500000010B5082844 +:1048F0001BD2DFE800F004121A1A1A041A0401206D +:10490000FFF706FC0020FFF755FC0120FFF752FCE3 +:10491000BDE810400220FFF725BC0120FFF722FC74 +:10492000BDE810400220FFF745BC10BD10B504469D +:10493000801E062810D2DFE800F00D03030F0909DE +:104940000A494FF4701000F0A7FF05E00120FFF7BF +:10495000B3FB01E002F0C4FA05484168002903D026 +:104960002046BDE81040084710BD0000494E0F002A +:104970007859002010B50446062801D0072C02D132 +:10498000002002F0A9FB04480168002903D020465A +:10499000BDE81040084710BDBC59002003F040FF9F +:1049A00003F014FD0028FBD1BFF34F8F05480168C9 +:1049B000054A01F4E06111430160BFF34F8F00BF6E +:1049C000FDE700000CED00E00400FA0510B5002141 +:1049D000024800F038FD80F3100010BD88A10020CF +:1049E0002DE9FC4180461F4615460E4600240D4821 +:1049F00000F010FD38B11120BDE8FC8106EB043059 +:104A000004F036F8641CAC42F8D1064800F0F9FC1A +:104A1000CDE90057334600220221404600F02AF833 +:104A20000020E9E7145A00202DE9F843104D0F4605 +:104A300080461E4691466946286800F0B6FC040090 +:104A400014D01C21FCF714FD01202071C4F814902F +:104A5000380BC4F80080C4E902606946286800F099 +:104A6000C5FC05F031FF0020BDE8F8830420FBE71A +:104A700024BC0F002DE9F04387B00446DDE90E8920 +:104A800080681D4616460F4600280BD01821684640 +:104A9000FCF7EEFC02A88DF8007080E86003A168C6 +:104AA0006846884707B0BDE8F08330B50446006823 +:104AB00087B00D46806800281FD018216846FCF793 +:104AC000D7FC0195A0680590207910B1012810D17C +:104AD00007E001208DF8000020690290E068039053 +:104AE00005E002208DF80000E06800030290606994 +:104AF0000490206881686846884707B030BD0B285D +:104B000003D30B38C0B200F009B870470249002245 +:104B100008780A7070470000DC59002001490870CD +:104B20000B207047DC5900200149012008707047B4 +:104B3000785900200149012008707047B4590020BD +:104B400070B515460E46040004D1074940F28A208C +:104B5000FEF758FC2A46314604F17200BDE8704069 +:104B6000012302F0C9BB0000BCC50F0010B5040052 +:104B700003D10E49B520FEF745FC207818B90B4942 +:104B8000B620FEF73FFC94F85500094938B10128DA +:104B900005D06068C968884205D9012010BD6068E9 +:104BA00089688842F9D24FF0000010BD04C60F009A +:104BB000548600203EB59DF8080020F00F00401CF0 +:104BC00020F0F00010308DF8080068466DDF0028F6 +:104BD0002BD19DF80100401C8DF8010068466CDF68 +:104BE000002822D111481349007A82071048A0EB0F +:104BF00001004FEAD0004FF0040101EB004008D55E +:104C00000D4C0EA1221DA36903F05DFD211DA069BD +:104C100004E013A103F04CFD19A1072082B202A801 +:104C20007CDF002801D118487ADF3EBDC059002042 +:104C300094CF0F008CCF0F00DC6E0020536574748E +:104C4000696E6720616476206E616D653A20257318 +:104C50002C206C656E6774683A20256400000000A3 +:104C60005573696E672064656661756C7420616454 +:104C7000766572746973696E67206E616D65000098 +:104C80004466755461726700A6BA0F0010B50F4CE8 +:104C900048F20351031B48F21652A04211D007DC20 +:104CA00000280AD00A4BC01808D0012804D10BE014 +:104CB0000A2B01D00D2B07D0104610BD48F2015031 +:104CC00010BD48F2025010BD084610BD0202F000AF +:104CD00000FE0FFF2DE9FC5F164607463A4A3B48A7 +:104CE0001D46101A04224FEAD00902EB09408B46F8 +:104CF0008246B94205D136A103F0DAFC0020BDE8B6 +:104D0000FC9F04D236494FF02900FEF77BFB1DB90A +:104D100033492A20FEF776FB2EB1380503D03049FF +:104D20002D20FEF76FFBABEB0700040B03D12C49E2 +:104D30003120FEF767FB0020009006F6FF704FEA77 +:104D4000103800F0CDFFA54239D22C4637E0A045FF +:104D500003D83546CDF8048001E0250301940022F4 +:104D60003846019901F0BCFC0028C8D150463B46AA +:104D70005A461CA1009503F0AEFC681E00F003002B +:104D80002A1A002359463846D21C01F05FFD00283C +:104D9000B5D101991C48A8EB0108761B016B2F4483 +:104DA00029440163AB44002002F082F9009030B145 +:104DB000012101EB094015A103F07AFC01E0002E6E +:104DC000C5D100989BE70000DCCF0F008CCF0F000F +:104DD0004E6F20636F7079206E65656465640000B6 +:104DE000A0BF0F00436F7079696E67203078257817 +:104DF00020746F20307825782C2073697A653A20EA +:104E00003078257800000000548600204661696CE7 +:104E1000656420746F20777269746520696D6167BD +:104E20006520636F7079696E672070726F67726555 +:104E3000737320746F2073657474696E6773207068 +:104E40006167652E000000000748084910B5401A48 +:104E5000C008032101EB004005A103F029FCBDE8D7 +:104E600010400120FFF728B9DCCF0F008CCF0F00D6 +:104E7000496E61637469766974792074696D656FD0 +:104E800075742E000149416000207047F8BB0F0087 +:104E900010B50B4941600B4800F0BCFA68B904F04A +:104EA00039F808491C234FF4EE7208740448A1F540 +:104EB000EE71001F006800F065FA002010BD0000D0 +:104EC00028BC0F00C08F00202DE9FC5F0E00834638 +:104ED000DDE90C47C6F1000098469246814600D4B1 +:104EE0000846012503E000BF90FBFAF06D1C504519 +:104EF000FADAA84500D9454624B1002E01DB78072F +:104F000000D5641EB80702D5B8F1000F0AD0F80723 +:104F100008D13CB1A54205D220215846641EFFF7B6 +:104F2000D5F9F6E7002E02DA4E462D2102E0780789 +:104F300003D52B215846FFF7C9F907F003000228D3 +:104F40000BD1B8F1000F08D13CB1A54205D23021F8 +:104F50005846641EFFF7BAF9F6E7CDE90047434625 +:104F600052463146584606F0D9FABDE8FC9F024643 +:104F700000201268530713D502F00300012802D065 +:104F800002280CD105E0C2F383100B68801C184482 +:104F900004E00223086803EB9252104408600120E9 +:104FA0007047000002480068002800D001207047C8 +:104FB000145A00200248007A002800D001207047CF +:104FC000C08F002038B54FF440521B49536800F59C +:104FD00000508B4204D044688C4201D1012400E08F +:104FE00000248B4226D143688B4223D111781429A7 +:104FF00001D9526900E000221049B2FBF1F30278B6 +:10500000142A01D9406900E00020B0FBF1F083428E +:1050100003D001240AA2009002E000240AA200901A +:105020000B480C49401AC008032101EB00400AA1BB +:1050300003F051FB204638BDDBE5B15140420F0083 +:105040006D616A6F720000006D696E6F7200000022 +:10505000BCCF0F008CCF0F00536F66744465766928 +:105060006365207570646174652069732061202513 +:10507000732076657273696F6E20757064617465F4 +:105080002E2043757272656E743A2025642E204E70 +:1050900065773A2025642E0070B5054608680C46F1 +:1050A0004A6886682846314605F0A0F8606828619D +:1050B00004F10C006861B0780221B1EB901F01D1BE +:1050C000241D2C6170BD70472DE9FF410026274843 +:1050D00000F09DF92548001F074600F098F9244C80 +:1050E0002449A06800900D6800E0009869462840B7 +:1050F00004EB80000C30FFF73AFF0028F5D101AA3D +:10510000009901EA050304EB8303491CDB6842F8BC +:105110002030401C00910228F2D3019800F00300D7 +:1051200001281AD002280ED013A14FF4AF70FEF759 +:1051300069F9384600F068F908B10098A06004B039 +:105140003046BDE8F0810198032101EB90500099B1 +:10515000BDF80A6001EB900005E00198BDF80A6017 +:10516000C0F3831008440090E3E7000084A100200E +:105170006C9100202C5A00202E2E5C2E2E5C2E2EA0 +:105180005C2E2E5C2E2E5C636F6D706F6E656E7480 +:10519000735C6C69627261726965735C6C6F675C89 +:1051A0007372635C6E72665F6C6F675F66726F6E60 +:1051B00074656E642E63000000F066FD4FF480514C +:1051C000002000F089FBC8B91548C0F57E2100F029 +:1051D00083FB98B90021134803F0F6FA03F0E0F8D6 +:1051E00011481249401AC408032000EB044010A1E2 +:1051F00003F05EFA114800F075FC08B1FDF730FFCE +:1052000003F0E4F80028FBD1012000EB04400CA1DE +:1052100003F04EFA03F0DAF80028FBD1EEE70000C5 +:1052200000100F00C1580F00DCCF0F008CCF0F0013 +:10523000496E73696465206D61696E00ED480F0009 +:105240004166746572206D61696E2C2073686F759C +:105250006C64206E6576657220626520726561639C +:105260006865642E000000002DE9F05F1E46DDF841 +:1052700028B091468A46040003D124A19020FEF76D +:10528000C1F8B4F80680607908FB00F8A8F10408BA +:10529000464503D31DA19E20FEF7B4F8E788301DD4 +:1052A000B0FBF7F1B0FBF7F207FB1200D9F80050A2 +:1052B000AA19424501D9A8EB0605C9F8005001E03A +:1052C0002468491E0029FBD13E1A8846AE4215D8F3 +:1052D00017E000BF2044001D0AEB0803BBF1000FDC +:1052E000324602D00146184600E01946FCF798F80D +:1052F00000202468AD1BB044AF4201D92E4600E027 +:105300003E46002DE6D1BDE8F09F00002E2E5C2E1B +:105310002E5C2E2E5C2E2E5C2E2E5C636F6D706FBD +:105320006E656E74735C6C69627261726965735CE0 +:105330006D656D6F626A5C6E72665F6D656D6F62E2 +:105340006A2E630030B5024651B103F051FA0021D4 +:10535000074C08E034F821301568AB4202D11160E7 +:10536000002030BD491C8142F4D3052030BD00002F +:105370000000000010B5FBF798FF08B1002010BD39 +:10538000112010BD10B531B1B2FBF3F403FB1424AE +:105390001CB1092010BD0E2010BD0160002141602C +:1053A00081608281C381084610BD70B50C460546F8 +:1053B000FBF730FF002802D021882868084470BD20 +:1053C00010B50A8849888A4203D1FBF765FF01209E +:1053D00010BD002010BD70B50C460546FBF73FFF21 +:1053E000002802D061882868084470BD10B50A887A +:1053F00049888A4203D1FBF729FF012010BD002014 +:1054000010BD002100F00FB8002100F012B80121FA +:1054100000F01EB8012100F011B808B56A46FBF78C +:1054200090FF009808BD08B56A46FBF770FF00982A +:1054300008BD08B56A46FBF76AFF08BD08B56A46AD +:10544000FBF758FF08BD08B56A46FBF747FF08BDE4 +:1054500008B56A46FBF74EFF009808BD08B56A46D6 +:10546000FBF77CFF009808BD38B5040003D115A1F7 +:10547000FE20FDF7C7FF00258DF800506846FDF7B8 +:1054800031FF206862680168914214D9491E0160A9 +:105490000D781CB919A1C220FDF7B4FF208AE1687C +:1054A00005FB00152068217A0278891A0279C9B2B1 +:1054B0008A4200D201719DF80000FDF75FFF284687 +:1054C00038BD00002E2E5C2E2E5C2E2E5C2E2E5C07 +:1054D0002E2E5C636F6D706F6E656E74735C6C699D +:1054E000627261726965735C62616C6C6F635C6E41 +:1054F00072665F62616C6C6F632E63002E2E5C2E91 +:105500002E5C2E2E5C2E2E5C2E2E5C636F6D706FCB +:105510006E656E74735C6C69627261726965735CEE +:1055200062616C6C6F635C6E72665F62616C6C6F03 +:10553000632E630038B50C46050004D112A140F279 +:105540002110FDF75FFF24B90FA14FF49170FDF713 +:1055500059FF00208DF800006846FDF7C3FE1DB915 +:105560001749CF20FDF74EFFE8682A68211A288ADC +:10557000B1FBF0F11068431C136001709DF800004E +:10558000FDF7FCFE38BD00002E2E5C2E2E5C2E2E6C +:105590005C2E2E5C2E2E5C636F6D706F6E656E746C +:1055A000735C6C69627261726965735C62616C6C78 +:1055B0006F635C6E72665F62616C6C6F632E63001A +:1055C000FC540F0010B5040002D0206830B901E08F +:1055D0000E2010BD17A1D920FDF714FF606818B97F +:1055E00014A1DA20FDF70EFFA06818B911A1DB2085 +:1055F000FDF708FFE06818B90EA1DC20FDF702FFF7 +:10560000208A18B90BA1DD20FDF7FCFE207A616825 +:105610002268401AC0B2116004E0226811684B1C75 +:1056200013600870401EC0B2F7D2216800200871D4 +:1056300010BD00002E2E5C2E2E5C2E2E5C2E2E5CBD +:105640002E2E5C636F6D706F6E656E74735C6C692B +:10565000627261726965735C62616C6C6F635C6ECF +:1056600072665F62616C6C6F632E63002DE9F041BE +:10567000184819494FF48052401AC708042000EB1B +:105680000745164615A1284603F016F84FF0E0240A +:10569000D4F8802128461FA104F5C07403F00CF84B +:1056A00060172060C4F800016060C4F8040101F0D4 +:1056B000A1F928B1012000EB074021A102F0F8FF79 +:1056C00002F084FE0028FBD13046BDE8F04100F036 +:1056D00053B80000DCCF0F008CCF0F0052756E6EF8 +:1056E000696E67206E72665F626F6F746C6F616463 +:1056F00065725F6170705F73746172742077697432 +:105700006820616464726573733A2030782530389C +:105710007800000044697361626C696E6720696E8D +:1057200074657272757074732E204E5649432D3E07 +:10573000494345525B305D3A2030782578000000BF +:105740004661696C65642072756E6E696E67206E65 +:1057500072665F6466755F6D62725F6972715F66C3 +:105760006F72776172645F616464726573735F7393 +:10577000657428290000000070B506462648C0F56B +:105780007F2100F0A9F8040024482549A0EB01007E +:105790004FEAD0004FF0010101EB004507D0284649 +:1057A000224620A102F088FF2046FDF759FC00F0B8 +:1057B0000DFD014629488069421EC2F30B02801A82 +:1057C0000144002001F6FF7100F086F8040004D0C7 +:1057D0002846224622A102F06FFF201E01D0FDF7CD +:1057E0003FFCEFF30580C105D6E90045C90D4FF038 +:1057F000000080F3148880F3108880F3118880F310 +:10580000138803D023493220FDF7FCFD84F3088878 +:10581000AC46BDE87040604700100F00DCCF0F00C1 +:105820008CCF0F00436F756C64206E6F74207072A4 +:105830006F7465637420626F6F746C6F61646572FE +:1058400020616E642073657474696E677320706183 +:105850006765732C20307825782E00005486002050 +:10586000436F756C64206E6F742070726F74656323 +:105870007420536F667444657669636520616E6455 +:10588000206170706C69636174696F6E2C20307870 +:1058900025782E0004BF0F0070B5084D04460E4653 +:1058A000686805F0F3FD002C06D032462146686892 +:1058B000BDE8704005F0DCBD70BD000084590020DB +:1058C0000348D0F804050349097B00EB01607047E9 +:1058D000004002408459002030B50A0502D1B0F5DD +:1058E0007F2F01D9072030BD094C2268082A01D337 +:1058F000042030BD074B03EB0213C3F80008C3F8C4 +:1059000004180220C3F80808521C0020226030BD91 +:105910008059002000E001402DE9F0413A483B4920 +:10592000384E401AC508042000EB05400027044605 +:1059300037A102F0BDFEB06801280ED0A52813D013 +:10594000AA2818D0AC281ED0032000EB054039A1AE +:1059500002F0AEFE0020BDE8F08120463CA102F03E +:10596000A7FEFDF7C9FA0CE020463CA102F0A0FE1C +:1059700005F02AF80DE020463BA102F099FEFDF764 +:105980004BFD024607E020463AA102F091FE05F0E9 +:10599000E9F8024601271D491B4B0120591AC90885 +:1059A00000EB014522B1284636A1B36802F08BFE18 +:1059B000304600F02FFCDFF80081002188F800104D +:1059C0003E4801F075FB064698F8000020B93C49B6 +:1059D00040F27F10FDF716FD2EB1284639A102F0E6 +:1059E00067FE0320B7E70120002FB4D00549243912 +:1059F000096A0129AFD12046394902F059FE022037 +:105A0000A9E7000078860020DCCF0F008CCF0F00C4 +:105A1000456E746572206E72665F626F6F746C6F34 +:105A2000616465725F66775F6163746976617465EE +:105A3000000000004E6F206669726D77617265200C +:105A4000746F2061637469766174652E00000000D4 +:105A500056616C69642041707000000056616C6989 +:105A6000642053440000000056616C696420424C7D +:105A70000000000056616C6964205344202B2042D2 +:105A80004C00000041637469766174696F6E206632 +:105A900061696C65642077697468206572726F72E1 +:105AA000202564202862616E6B20636F64653A2054 +:105AB0003078257829000000B4590020354B0F00BC +:105AC000A0BF0F00436F756C64206E6F74207772F7 +:105AD0006974652073657474696E67732E000000C5 +:105AE00038C00F002DE9F843044641484149401AA7 +:105AF000C108042000EB014005463FA102F0D8FD9B +:105B0000434F19207C600090684602F041FB009AE8 +:105B1000404900EB82004FF00008C0F800174046F3 +:105B200001F058F900284CD1FFF7F6FE314A304B0E +:105B300001219A1AD20801EB024420B101281BD09E +:105B400002283ED105E04FF47016FEF7E1FD10B9D2 +:105B500034E04FF4A02600F0C3F82F4A202118208B +:105B6000FDF7AAFB08B1FDF77BFA2C48016801F0AC +:105B7000F901B12904D007E00120FEF79DFA31E0D8 +:105B8000016801F04E01016000F0FCFEC8B9244933 +:105B90003046FFF781FE234800F0A8FE88B928466A +:105BA00021A102F085FD00BF00F086F8FDF764FB3F +:105BB00002F00CFC0028F7D141DFF5E701F090F886 +:105BC00010B10320BDE8F88387F800801A4801F07F +:105BD000FBF8387820B919A14FF4F070FDF712FCEA +:105BE000FFF744FD204625A102F062FDE9E7000031 +:105BF000DCCF0F008CCF0F00496E206E72665F62A3 +:105C00006F6F746C6F616465725F696E69740000B8 +:105C1000785900200C0003009C5A00201C0500400D +:105C2000494E0F002D490F00456E746572206D615D +:105C3000696E206C6F6F7000294B0F002E2E5C2E4A +:105C40002E5C2E2E5C2E2E5C2E2E5C636F6D706F84 +:105C50006E656E74735C6C69627261726965735CA7 +:105C6000626F6F746C6F616465725C6E72665F62A6 +:105C70006F6F746C6F616465722E6300556E726530 +:105C800061636861626C650010B540F6F870016888 +:105C9000491C02D1074902F003FF40F6FC7001687D +:105CA000491C05D1BDE810404FF47E2102F0F8BE3A +:105CB00010BD000000100F0010B503F043FA0028DB +:105CC00003D0BDE8104005F043BD10BD034A936802 +:105CD0000A4601469860184605F0CABB8459002060 +:105CE0002DE9F0411A4E307800282ED103F02AFA1F +:105CF0001849194A0127891AC908032202EB0145EC +:105D000000281DD0154804682846224614A102F038 +:105D1000D3FCA4F54864962C00DA962405F018FD0F +:105D20002846224615A102F0C7FC21492046FFF76C +:105D3000CDFF4FF0E0214FF48030C1F8000103E0C7 +:105D400028461CA102F0B4FC3770BDE8F0810000C9 +:105D5000B55900208CCF0F008CCF0F0004050140F7 +:105D600057445420656E61626C6564204352563A14 +:105D70002564207469636B730000000053746172C2 +:105D800074696E6720612074696D657220282564CE +:105D9000207469636B732920666F72206665656481 +:105DA000696E67207761746368646F672E00000016 +:105DB0008DB70F00574454206973206E6F742065AF +:105DC0006E61626C6564000070B504460D46202269 +:105DD0000830FBF725FB202205F1200104F1280003 +:105DE000FBF71EFB002070BD2DE9F8430C461B4954 +:105DF000DDF82090016005461F46904618480121B5 +:105E0000FFF721FBBFF35F8F002618B148F2045063 +:105E1000BDE8F883FEF7C8FA43464A4604F1080194 +:105E200028460097FCF70CFC0446FEF7ABFA0C4D35 +:105E30002868012803D00BA16D20FDF7E3FABFF31A +:105E40005F8F2E6044B11448C44202D148F24250E0 +:105E5000DEE748F21650DBE70020D9E7DD55AABBA4 +:105E6000B85900202E2E5C2E2E5C2E2E5C2E2E5C21 +:105E70002E2E5C636F6D706F6E656E74735C6C69F3 +:105E8000627261726965735C6D757465785C6E725F +:105E9000665F6D74782E68007CF70FFF70B516464C +:105EA0000C46054600F00CF900280ED1AA791946D7 +:105EB000304600F012F9002807D131462046FFF79E +:105EC00083FF002801D10149216070BD7052464D09 +:105ED0002DE9F8430C46DDE9085807469946164671 +:105EE0001249204600F0E0F8002811D160684146D0 +:105EF00040794200284600F0F0F8002808D14EB161 +:105F00005FB14B463246214638460095FFF76CFF9D +:105F1000BDE8F88348F21050FAE705A14FF4C770C6 +:105F2000FDF770FA48F21550F2E700007052464D46 +:105F30002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6366 +:105F40006F6D706F6E656E74735C6C696272617296 +:105F50006965735C63727970746F5C6E72665F639F +:105F6000727970746F5F65636473612E6300000003 +:105F70002DE9F0411D46DDE906871646044600F08E +:105F80002DF800280DD12A463146204600F03CF875 +:105F9000002806D13A4641462046BDE8F04100F0CF +:105FA00002B8BDE8F08170B515460E46044605F00E +:105FB000BFFB002807D13EB160682968C2689142E2 +:105FC00005D248F2145070BD48F2135070BD83687A +:105FD0002A4631462046BDE87040184710B550B1FA +:105FE00061B14160096804468847002802D105482C +:105FF0002060002010BD48F2015010BD48F2105042 +:1060000010BD00006E52464870B515460E46044657 +:1060100005F08EFB00280BD146B155B160682A46C9 +:10602000314643682046BDE87040184748F210509A +:1060300070BD002070BD00002DE9F0410B480C4DF3 +:106040000C4F401BC60801203870002406E000BF3A +:1060500055F834008047002805D1641CB442F7D3BA +:10606000022038700020BDE8F081000074CF0F00DE +:106070006CCF0F00B659002070B514460D46064689 +:1060800000F036F8291930192246BDE8704000F0BA +:106090002FB870B50C46054600F064F82819214663 +:1060A000BDE8704000F05EB828B10068884205D0B5 +:1060B00048F24050704748F2105070470020704737 +:1060C00028B139B10022C1E900201046704748F2DA +:1060D0001050704748F21350704720B1914205D0DC +:1060E00048F21150704748F2105070470020704736 +:1060F00070B516460C46050003D10AA11F20FDF716 +:1061000081F91CB907A12020FDF77CF9A919491EC6 +:1061100004E000BF14F8010B01F80109A942F9D20B +:1061200070BD00002E2E5C2E2E5C2E2E5C2E2E5C62 +:106130002E2E5C636F6D706F6E656E74735C6C6930 +:10614000627261726965735C63727970746F5C6EA0 +:1061500072665F63727970746F5F73686172656491 +:106160002E63000070B50D46040003D107A10D2079 +:10617000FDF748F96019401E05E02178027804F81F +:10618000012B00F80119A042F7D270BD2E2E5C2E13 +:106190002E5C2E2E5C2E2E5C2E2E5C636F6D706F2F +:1061A0006E656E74735C6C69627261726965735C52 +:1061B00063727970746F5C6E72665F63727970740B +:1061C0006F5F7368617265642E6300004FF4405026 +:1061D000074A4168914207D18068411EC1F30B0113 +:1061E000401A00F6FF7070474FF48050704700006F +:1061F000DBE5B15100B5FFF7E9FF054989690A18E8 +:10620000401E0844C0F30B00101A00F6FF7000BDDA +:1062100054860020002101604160816001480163D3 +:1062200070470000548600202DE9FF4F8B466948D7 +:10623000694981B0401AC108042000EB0144009173 +:1062400066A1204602F034FA20466CA1019A02F0C1 +:1062500033FABBF1000F01D06EA200E06FA220461E +:1062600070A102F029FA039808B16AA200E06BA2BB +:10627000204671A102F020FA049808B165A200E05E +:1062800066A2204670A102F017FA4FF44050416810 +:106290007348814201D15FA200E060A2204671A153 +:1062A00002F00AFA204673A102F002FA754D204668 +:1062B00075A1AB692A6A02F006FA20467AA16B6AD8 +:1062C000EA6A02F000FA4FF00009DFF8FCA10CE0E6 +:1062D000012650B1012812D0B9F1020F1ED07B491E +:1062E0008620FDF78FF800201AE0FFF783FF804635 +:1062F000039888B16348006A01280BD00CE0FFF7CF +:1063000065FF8046049828B94FF4405041685448CE +:10631000814201D0012604E0002602E04FF48050C3 +:106320008046D04503D969498B20FDF76BF8684951 +:106330000198A1EB0801A1F54051814201D201274A +:1063400000E0002747EA0B0520464A4661A102F01B +:10635000B3F92046424662A102F0AEF90FB12DA278 +:1063600000E02EA2204664A102F0A6F90EB129A2F7 +:1063700000E02AA2204666A102F09EF90DB125A2F6 +:1063800000E026A2204667A102F096F9B54308D0A6 +:10639000B9F1020F05D209F10100C0B2814602280D +:1063A00096D957B10098022101EB004062A102F09A +:1063B0007FF9042005B0BDE8F08FB9F1000F07D0D8 +:1063C000204668A102F074F92E481830FFF722FF2A +:1063D0000020EFE7DCCF0F008CCF0F00456E746517 +:1063E00072206E72665F6466755F63616368655F85 +:1063F00070726570617265282900000072657175A0 +:10640000697265645F73697A653A20307825782E01 +:1064100000000000747275650000000066616C7316 +:106420006500000073696E676C655F62616E6B3A50 +:106430002025732E000000006B6565705F61707031 +:106440003A2025732E0000006B6565705F736F66E0 +:10645000746465766963653A2025732E0000000038 +:10646000DBE5B15153445F50524553454E543A20F9 +:1064700025732E0042616E6B20636F6E74656E74BF +:10648000733A00005486002042616E6B2030206316 +:106490006F64653A203078253032783A2053697A33 +:1064A000653A20307825780042616E6B2031206398 +:1064B0006F64653A203078253032783A2053697A13 +:1064C000653A20307825780000E00E007CC30F008C +:1064D00000100F00706173733A2025642E000000D5 +:1064E00063616368655F616464726573733A2030E9 +:1064F0007825782E0000000063616368655F746F23 +:106500006F5F736D616C6C3A2025732E0000000084 +:106510006B6565705F6669726D776172653A20259B +:10652000732E000064656C6574655F6D6F72653A0B +:106530002025732E0000000041626F7274696E673F +:106540002E2043616E6E6F7420666974206E6577CD +:10655000206669726D77617265206F6E2064657662 +:1065600069636500496E76616C69646174696E6720 +:10657000206170702E00000070B50C46050004D13B +:1065800021494FF49970FCF73DFF24B91E4940F2B0 +:106590003310FCF737FF1D481D4B2978C01A042221 +:1065A000C00802EB0040092927D2DFE801F02605E8 +:1065B000260B15261B260F0021462846BDE87040F5 +:1065C00002F0D4BD13A102F073F811E02146284671 +:1065D000BDE8704002F06CBE21462846BDE8704020 +:1065E00002F004BE14A102F063F84FF40070E06002 +:1065F0002046BDE87040FDF763BFBDE8704002492A +:106600004FF4A970FCF7FEBEDCC10F00A4CF0F0051 +:106610008CCF0F0048616E646C65204E52465F441B +:1066200046555F4F505F4352435F474554202863B0 +:106630006F6D6D616E64290048616E646C65204EFB +:1066400052465F4446555F4F505F4F424A45435460 +:106650005F53454C4543542028636F6D6D616E64F4 +:106660002900000070B50E46040004D11B4940F219 +:106670004F20FCF7C7FE26B918494FF41470FCF7F9 +:10668000C1FE20780125092820D2DFE800F01F058F +:106690001F0F141F1A1F0A003146204602F0E8FEA1 +:1066A00019E03146204603F039F914E0314620461E +:1066B00002F0A0FE0FE03146204602F0E3FF05465F +:1066C00009E03146204603F0DDF804E0034940F2DA +:1066D0007120FCF797FE284670BD0000DCC10F005A +:1066E0002DE9F843134C07460D46206800901248E8 +:1066F00012499046401AC608042000EB06402B467B +:106700003A460FA101F0E7FF43462A4639461C48A6 +:1067100001F042FB050009D0022000EB06402A46AA +:1067200018A101F0C9FF2846BDE8F8832068401C85 +:106730002060F8E7D85900209CCF0F008CCF0F00C5 +:106740006E72665F6673746F726167655F657261B2 +:10675000736528616464723D307825702C206C6507 +:106760006E3D2564207061676573292C2071756505 +:1067700075652075736167653A2025640000000027 +:10678000885A00206E72665F6673746F7261676507 +:106790005F65726173652829206661696C65642094 +:1067A00077697468206572726F7220307825782E50 +:1067B000000000000C490D4A10B5891AC9080422CE +:1067C00002EB01420028104604D009A101F070FF3D +:1067D000114903E011A101F06BFF1A49BDE8104017 +:1067E0000022194801F038BB9CCF0F008CCF0F005E +:1067F000496E697469616C697A696E67206E726648 +:106800005F6673746F726167655F73642062616352 +:106810006B656E642E00000034BC0F00496E697415 +:1068200069616C697A696E67206E72665F667374FF +:106830006F726167655F6E766D63206261636B6521 +:106840006E642E0004BC0F00885A00202DE9FC471E +:10685000154C80460F4620681549CDE900201348A5 +:106860009946401AC6081546042000EB06403B46F0 +:106870004246104901F038FF2B463A4641460E4841 +:10688000CDF8009001F0B0FB050009D0022000EB2C +:1068900006402A4609A101F00FFF2846BDE8FC8703 +:1068A0002068401C2060F8E7D85900209CCF0F00DA +:1068B0008CCF0F0024C10F00885A00206E72665FD3 +:1068C0006673746F726167655F7772697465282992 +:1068D000206661696C6564207769746820657272EE +:1068E0006F7220307825782E0000000070B51149B5 +:1068F000086011481149401AC508032000EB054003 +:106900000FA101F0D5FE0020FEF734F8114800F089 +:1069100041FC040008D0012000EB054022460EA1F6 +:1069200001F0CAFE204670BDBDE87040094800F085 +:10693000A7B80000BC590020DCCF0F008CCF0F009F +:10694000456E746572696E6720444655206D6F64AC +:10695000652E000075490F00436F756C64206E6FE3 +:106960007420696E6974616C697A652044465520AB +:106970007472616E73706F72743A2030782530389B +:10698000780000000648074910B5401AC0080421E5 +:1069900001EB004004A101F08BFE002010BD0000BF +:1069A000DCCF0F008CCF0F00696E207765616B2004 +:1069B0006E72665F6466755F696E69745F75736534 +:1069C000720000001FB58908002201AB009283E825 +:1069D0000700684618DF04B010BD00001FB5044B67 +:1069E0000FCB8DE80F00684618DF04B010BD000023 +:1069F000A8BB0F004FF4805041040860002070478E +:106A000070B50E460178134C062901D0012901D139 +:106A1000017C217021780125012911D0022913D090 +:106A20000D480E49401AC008012101EB00400CA19D +:106A300001F03EFE0020207005207070284670BDD9 +:106A40003146FFF799FDF9E73146FFF70BFE0546A2 +:106A5000F4E70000E0590020A4CF0F008CCF0F0016 +:106A6000496E76616C6964206F626A656374207434 +:106A700079706520696E20726571756573742E007A +:106A800010B5040011D00120FFF794FE00280BD1AF +:106A900000F0EEFC00F0CEFD48B10949081F00F0FF +:106AA00057FD012803D0032010BD072010BD044866 +:106AB0000838C4600020FEF731F8002010BD000047 +:106AC000E859002010B5816889B10A4A1821FCF7FD +:106AD00083FB040009D008480849401AC008022175 +:106AE00001EB004006A101F0E3FD204610BD0720A8 +:106AF00010BD00001D6B0F00A4CF0F008CCF0F0046 +:106B00005363686564756C65722072616E206F7581 +:106B100074206F662073706163652100AFF300809D +:106B200070B50546806886B020B9284940F2A92092 +:106B3000FCF768FC182226496846FAF771FC2878A9 +:106B40008DF800002348244B2A78181A0421C00825 +:106B5000224E01EB00440D2A1CD2DFE802F01B1488 +:106B60000714141B141B141B1B1B0C0020461CA118 +:106B700001F09EFD17E0204622A101F099FDF16889 +:106B8000072088470FE069462846FFF739FF50B9CC +:106B900006B070BD032101EB004020A101F08CFD87 +:106BA00002208DF801009DF80120204623A101F06C +:106BB00083FDD5E90112684690479DF80100012840 +:106BC000E6D0F16805208847E2E70000DCC10F004D +:106BD000D0BB0F008CCF0F00A4CF0F00E0590020D6 +:106BE00048616E646C65204E52465F4446555F4F67 +:106BF000505F524543454950545F4E4F5449465F9C +:106C00005345540048616E646C65204E52465F44A3 +:106C100046555F4F505F41424F525400496E766176 +:106C20006C6964206F70636F646520726563656969 +:106C30007665643A20307825782E000052657175AB +:106C40006573742068616E646C696E6720636F6D34 +:106C5000706C6574652E20526573756C743A2030C3 +:106C60007825780038B10549016005494160012166 +:106C70000172002070470E2070470000856C0F00E5 +:106C8000BD6C0F0010B50C0001464FF0110007D08D +:106C90002278052A05D2DFE802F00F050D0F0F005C +:106CA0000E2010BD084600F073F80028F9D102212B +:106CB000217010BD112010BD082010BD0246082013 +:106CC00041B10B78022B04D1022A05D0032A00D14E +:106CD000112070470E207047002003220A70704771 +:106CE00070B510480024D0F82413491C03D1D0F803 +:106CF0006403401C13D00C480C49401AC0080421FE +:106D000001EB00400AA101F0D3FC4FF47F25284697 +:106D100001F0AEFEC9220349284601F0D9FE204603 +:106D200070BD000054860020B4CF0F008CCF0F0040 +:106D300045726173696E672073657474696E6773F9 +:106D40002070616765206164646974696F6E616C4D +:106D500020646174612E000010B528B11C22034923 +:106D6000FAF75EFB002010BD0E2010BD64F30F008B +:106D700010B5064C00221821201DFDF7B3FB216839 +:106D8000814201D1012010BD002010BD64F30F002D +:106D900070B50C4D0400D5F8640305F5597503D0A2 +:106DA000401C03D0082070BD0E2070BD00221821A9 +:106DB000201DFDF797FB206007222146284629DF8A +:106DC00070BD000000F00F00014903F0D3BF0000C8 +:106DD00000F00F0070B5054612481349401AC40868 +:106DE000042000EB044011A101F062FC2846FFF7EB +:106DF000E1FC02004FF0010000EB044402D0204609 +:106E000013A108E000F06CF8002000F051F9020036 +:106E100005D0204619A101F04FFC032070BD0020D1 +:106E200070BD0000ACCF0F008CCF0F0043616C6CC5 +:106E3000696E67206E72665F6466755F73657474F1 +:106E4000696E67735F696E697428292E2E2E0000A3 +:106E50006E72665F6466755F666C6173685F696EAB +:106E600069742829206661696C6564207769746893 +:106E7000206572726F723A20257800006E72665F2C +:106E80006466755F73657474696E67735F77726942 +:106E900074655F616E645F6261636B757028292041 +:106EA0006661696C65642077697468206572726FC9 +:106EB000723A20257800000010B5FF224FF40071CF +:106EC0000648FAF7CEFA054820212438FAF7D0FA16 +:106ED000024900205C39086310BD0000B086002024 +:106EE0002DE9F05F4048FDF71BFB404E0746346834 +:106EF0002046FDF715FB4FF0000A58B160680128E5 +:106F000006D02046FDF746F8D4F85C12884201D13D +:106F1000012400E0002436483649DFF8DC80401ABE +:106F2000C00803214FF002094FF4607B01EB0045DC +:106F3000F7B1042101EB0040074630A101F0B8FB96 +:106F40005A4629494046FAF76BFADCB1384631A176 +:106F500001F0AEFB366844465422311D201DFAF77D +:106F60005FFA4FF4327206F15C0104F15C0007E055 +:106F70006CB32846324901F09BFB5A461E483168E3 +:106F8000FAF74EFAD8F80400444601281DD12846E5 +:106F90002CA101F08DFB3649402201F5E470FAF78F +:106FA0003FFA33491C22403101F5E470FAF738FA10 +:106FB00084F860A2012184F8A1122E4884F8E2A28C +:106FC000E169C0F82210C4F80490BDE8F09F4C4677 +:106FD00009EB0040284901F06BFB59460648FAF7D7 +:106FE00047FAC8F80440F0E700F00F00F05900201D +:106FF000ACCF0F008CCF0F00548600205573696E04 +:10700000672073657474696E677320706167652E9D +:1070100000000000436F7079696E6720666F7262CE +:10702000696464656E2070617274732066726F6D3E +:10703000206261636B757020706167652E000000CF +:107040008CC20F004F6C642073657474696E677333 +:1070500020706167652064657465637465642E20C3 +:10706000557067726164696E6720696E666F2E0085 +:10707000B0870020D488002028C20F0070B50546D4 +:10708000094803F0E3FE084C20602046FCF782FF2D +:10709000C4F85C02A4F5E0632A462146BDE87040CE +:1070A000024803F0D9BE00005486002000F00F0013 +:1070B00070B505460020FFF7E1FF040003D1034946 +:1070C000284603F057FE204670BD0000548600207D +:1070D0004FF48050704700002DE9F0471449DFF865 +:1070E00054808146A1EB0800C708134813490026C5 +:1070F000401AC108042000EB014005463A4610A1A1 +:1071000001F0DAFA00240EE008EBC40041684846BA +:107110008847060006D028463346224612A101F0D1 +:10712000D2FA02E0641CBC42EED33046BDE8F087E0 +:107130007CCF0F0074CF0F00DCCF0F008CCF0F007F +:107140005368757474696E6720646F776E2074720B +:10715000616E73706F7274732028666F756E643A17 +:1071600020256429000000004661696C6564207474 +:107170006F2073687574646F776E207472616E73BC +:10718000706F72742025642C206572726F722025D6 +:10719000640000002DE9F0471449DFF8548081466F +:1071A000A1EB0800C708134813490026401AC1087C +:1071B000042000EB014005463A4610A101F07CFA9C +:1071C00000240DE058F8341048468847060006D0E1 +:1071D00028463346224612A101F075FA02E0641CEB +:1071E000BC42EFD33046BDE8F08700007CCF0F00F3 +:1071F00074CF0F00DCCF0F008CCF0F00496E697485 +:1072000069616C697A696E67207472616E73706F00 +:107210007274732028666F756E643A2025642900A5 +:107220004661696C656420746F20696E6974696178 +:107230006C697A65207472616E73706F7274202548 +:10724000642C206572726F7220256400012203F0A5 +:1072500047B9000038B5144602780B46FAB1012A46 +:1072600009D0022A1DD0032A23D0174940F2B33097 +:10727000FCF7C8F825E0D0F8015000222146184656 +:10728000FDF730F9A8420AD0104811490122401AEE +:10729000C008042101EB00400EA101F00DFA01200D +:1072A00038BD01B02246BDE830400023401C00F04C +:1072B00023B8411C40220020009400F017FA012856 +:1072C000EED0002038BD0000BCC50F00BCCF0F00C1 +:1072D0008CCF0F0043524320636865636B206F6659 +:1072E00020617070206661696C65642E205265743F +:1072F00075726E20256400002DE9F043ABB007469F +:107300002020894629901C46904601257C2102A810 +:10731000FAF7AEF8FDF714F92CB12022394621A86E +:10732000FEF7E6FE21AF244824494346401AC6082A +:10733000042000EB064004464A4621A101F0C3F9AF +:1073400029A92C48CDE9000143464A462A4902A80A +:10735000FEF70EFE020006D0012000EB064027A13A +:1073600001F0AAF922E0202239462248FAF792F8E1 +:10737000E8B1022000EB06402DA101F099F920466A +:1073800032A101F095F920462022394601F03AF960 +:10739000204633A101F08CF920462022154901F046 +:1073A00031F900BF01F012F80028FBD100252BB005 +:1073B0002846BDE8F0830000BCCF0F008CCF0F0043 +:1073C0004861736820766572696669636174696F84 +:1073D0006E2E2073746172742061646472657373BD +:1073E0003A20307825782C2073697A653A203078F5 +:1073F00025780000A88D0020C4B80F00436F756C7D +:1074000064206E6F742072756E20686173682076D8 +:107410006572696669636174696F6E20286572724E +:107420005F636F64652030782578292E00000000A6 +:107430004861736820766572696669636174696F13 +:107440006E206661696C65642E0000004578706589 +:107450006374656420465720686173683A000000D1 +:1074600041637475616C20465720686173683A0007 +:1074700010B50648064C806B20B103F09BFE08B1A6 +:10748000012000E00020207010BD00005486002084 +:10749000F45900202DE9F041144C07460D46E06BED +:1074A000A26B0126411991420BD911481149401A8A +:1074B000C008012101EB00400FA101F0F9F80326FB +:1074C00010E00A492A465C3108443946F9F7A8FF1A +:1074D000E06B064A2844E063403229463846FDF70F +:1074E00001F820643046BDE8F08100005486002099 +:1074F000BCCF0F008CCF0F00496E697420636F6D95 +:107500006D616E64206C6172676572207468616E73 +:107510002065787065637465642E000070B50400A2 +:107520004FF0010504D0B4F5007F03D9042508E02D +:10753000032506E0044900200870FFF7BDFC03485E +:107540008463284670BD0000F45900205486002052 +:107550002DE9F041064624480F46254BD0E90E128E +:1075600022484FF00108C01AC00808EB00448A42C4 +:1075700005D020461FA101F09BF8082430E0244DDF +:10758000287840B1FEF736FE30603946E86804F0EE +:1075900063F8044624E003F00DFEE0B100F050F87B +:1075A0000446002030603860012C0ED13946E8686E +:1075B00004F052F80446012807D132463968E868D9 +:1075C00004F006F80446012802D0FFF775FC07E036 +:1075D00085F8008004E020460EA101F069F805243A +:1075E0002046BDE8F081000054860020BCCF0F008B +:1075F0008CCF0F0045786563757465207769746872 +:10760000206661756C7479206F666673657400001E +:10761000F45900204661696C656420746F206465CC +:10762000636F646520696E6974207061636B657453 +:10763000000000000148007870470000F459002065 +:10764000F8B51C4C251D002094F86C31014602460B +:107650003BB194F8D802B4F8DA2204F5B87504F511 +:107660003771154CA3680093636800F03FF8064635 +:10767000012805D1281D00F045F90646012816D03D +:107680000E480F49401AC508022000EB05400DA125 +:1076900001F00EF8042000EB054510A1284601F08A +:1076A00007F82089616882B2284600F0ABFF3046B7 +:1076B000F8BD0000D4890020F4590020BCCF0F0091 +:1076C0008CCF0F0050726576616C69646174696F6C +:1076D0006E206661696C65642E000000496E6974F5 +:1076E00020636F6D6D616E643A0000002DE9F04714 +:1076F000CCB080462020DDF850910F464A909A4643 +:1077000016467C212BA8F9F7B3FEA42102A8F9F7AD +:10771000AFFEFCF715FF40484049401AC50803205A +:1077200000EB054004463EA100F0C2FF57B1B8F19E +:10773000000F20460ED044A100F0BAFF16204CB036 +:10774000BDE8F087022000EB054045A100F0B0FF46 +:107750001320F4E74A4647A100F0AEFF4AA94C487F +:10776000CDE900014B4652464A492BA8FEF700FCE2 +:1077700008B9402E01D00A20E1E745483246394693 +:107780004038F9F74DFE204643A100F091FF4048F4 +:1077900020214038FEF77DFC3D4840214038CDE9AE +:1077A0000001A0F148013A4A02A84A9BFEF790FB6B +:1077B00002002BD0012000EB05403CA100F07CFF33 +:1077C000042000EB054442A1204600F071FF30493F +:1077D00020464022403900F015FF20463FA100F02E +:1077E00067FF4A982A4982B2204600F00BFF2046E4 +:1077F0003CA100F05DFF204640223D4900F002FF21 +:1078000000F0E4FD0028FBD1052098E7204639A1CF +:1078100000F04EFF012092E7BCCF0F008CCF0F008D +:107820005369676E617475726520726571756972EE +:1078300065642E20436865636B696E6720736967B2 +:107840006E61747572652E00496E76616C69642094 +:107850007369676E61747572652074797065000074 +:107860004E6F207369676E617475726520666F75FF +:107870006E642E0043616C63756C6174696E672081 +:107880006861736820286C656E3A202564290000C1 +:10789000888D0020C4B80F00566572696679207320 +:1078A00069676E6174757265000000005369676EE8 +:1078B0006174757265206661696C65642028657203 +:1078C000725F636F64653A20307825782900000084 +:1078D0005369676E61747572653A00004861736838 +:1078E0003A0000005075626C6963204B65793A007C +:1078F00060B80F00496D61676520766572696669D9 +:10790000656400002DE9F04104004FF0010603D149 +:1079100033499E20FBF776FD3248334A94F85410E1 +:10792000801AC008012202EB004541B194F85500CD +:1079300040B1012806D0022804D0032802D02846EE +:107940002AA147E01CB926497D20FBF75BFD94F88E +:107950006E00032805D028462AA100F0A9FE1426AF +:107960003BE094F8920018B194F89300002834D1C9 +:10797000207A78B11C4A1B4B02209A1AD208E1687F +:1079800000EB0247342908D0384623A100F090FECE +:10799000112622E0284625A11CE0204603F050F9DC +:1079A00030B1207880B12046FDF7E0F830B114E026 +:1079B000384622A100F07CFE12260EE0384623A1B4 +:1079C00000F076FE102608E094F85500012804D057 +:1079D000284623A100F06CFE0F263046BDE8F0815A +:1079E00004C60F00C4CF0F008CCF0F00496E766124 +:1079F0006C6964206669726D776172652074797054 +:107A0000652E0000496E76616C6964206861736858 +:107A100020747970652E00004661756C7479204879 +:107A2000572076657273696F6E2E00004E6F204886 +:107A3000572076657273696F6E2E00005344207272 +:107A40006571206E6F74206D65742E004657207628 +:107A5000657273696F6E20746F6F206C6F772E0084 +:107A600046572076657273696F6E206D697373690E +:107A70006E672E000FB438B5040003D110A11C208E +:107A8000FBF7C0FC606918B90DA11D20FBF7BAFC1B +:107A9000206818B90AA11E20FBF7B4FC606818B969 +:107AA00007A11F20FBF7AEFC0599002905D006A809 +:107AB00000906A46204600F045F838BC5DF814FB9B +:107AC0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C65B9 +:107AD000787465726E616C5C667072696E74665CF7 +:107AE0006E72665F667072696E74662E6300000067 +:107AF00010B5040003D107A10B20FBF783FCA2689B +:107B0000002A05D0D4E90403216898470020A0602A +:107B100010BD00002E2E5C2E2E5C2E2E5C2E2E5CB8 +:107B20002E2E5C65787465726E616C5C667072692D +:107B30006E74665C6E72665F667072696E74662ED5 +:107B4000630000002DE9FC4791460C465FEA0008FF +:107B500004D183A140F25220FBF754FCD8F8140062 +:107B600020B97FA14FF41570FBF74CFCD8F800004A +:107B700020B97BA140F25520FBF744FCD8F8040063 +:107B800020B977A140F25620FBF73CFC002C76D0C0 +:107B900014F8011B39B125290ED04046FCF796FB9D +:107BA00020780028F4D198F80C00002867D04046CF +:107BB000BDE8FC47FFF79CBF0020012221782B295C +:107BC0001BD02D2902D0302908D102E040F001005D +:107BD00001E040F00200641C002AEFD100252A29B0 +:107BE0000ED02178A1F130020A2A11D205EB8502CC +:107BF00001EB4205641C303DF1E740F00400EAE788 +:107C0000D9F800100B1DC9F800300968641C0D4438 +:107C1000217800232E290BD114F8011FA1F1300285 +:107C20000A2A05D203EB830201EB4203303BF3E760 +:107C30006C290DD068290BD0692921D00BDC2529AE +:107C400018D0582931D063290ED0642915D117E0F6 +:107C500014F8011FECE7702969D0732932D0752917 +:107C60001BD0782909D120E0D9F80000011DC9F8FE +:107C7000001001784046FCF729FB641C90E76CE09B +:107C8000D9F800100A1DC9F800200968CDE9005094 +:107C90000A224046FDF718F9EFE7D9F800100A1D4F +:107CA000C9F8002009680A2206E0D9F800100A1D68 +:107CB000C9F8002009681022CDE90050404603F0C1 +:107CC0002DFCDAE7D9F8001000270A1DC9F80020BA +:107CD0000E68C00705D112E04046761C7F1CFCF7F9 +:107CE000F5FA31780029F7D104E0202140466D1ED5 +:107CF000FCF7ECFABD42C0D9002DF6D1BDE74EB17C +:107D00003046F9F7C0FB074604E0202140466D1ECF +:107D1000FCF7DCFABD4206D9002DF6D103E040465F +:107D2000761CFCF7D3FA31780029F8D1A5E7D9F809 +:107D30000000011DC9F80010056830214046FCF71D +:107D4000C5FA78214046FCF7C1FA08200021CDE9A8 +:107D50000001034610222946B0E7BDE8FC87000079 +:107D60002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6516 +:107D7000787465726E616C5C667072696E74665C54 +:107D80006E72665F667072696E74665F666F726D42 +:107D900061742E63000000002DE9F0411E46154677 +:107DA0000F46040003D11DA17820FBF72BFB2068B0 +:107DB00018B91AA17920FBF725FB1DB917A17A2064 +:107DC000FBF720FB39462046FBF71AF840B9394645 +:107DD0002046FBF715F818B910A17D20FBF712FB20 +:107DE00060683946026820466A43FBF712F858B9C2 +:107DF00060683946026820466A43FBF70AF818B9FA +:107E000006A17F20FBF7FEFA206833462A46D0F809 +:107E100010C039462046BDE8F04160472E2E5C2E4A +:107E20002E5C2E2E5C2E2E5C2E2E5C636F6D706F82 +:107E30006E656E74735C6C69627261726965735CA5 +:107E40006673746F726167655C6E72665F66737489 +:107E50006F726167652E630070B516460C460500AB +:107E600003D108A12F20FBF7CDFA1CB905A13020C2 +:107E7000FBF7C8FA2C60314628462268BDE87040FE +:107E8000104700002E2E5C2E2E5C2E2E5C2E2E5CBB +:107E90002E2E5C636F6D706F6E656E74735C6C69B3 +:107EA000627261726965735C6673746F7261676533 +:107EB0005C6E72665F6673746F726167652E6300D5 +:107EC0002DE9F04128B1016819B1C969BDE8F04157 +:107ED00008470D4D0D480024461B14270DE000BF38 +:107EE00004EB840005EB8000016829B1C96988476B +:107EF00010B10120BDE8F081641CB6FBF7F0A04290 +:107F0000EED80020F6E70000885A00209C5A002096 +:107F1000044801214174007A08B100207047012013 +:107F200070470000C08F0020012801D0032808D12D +:107F30000449002201284A7400D00020087402F08D +:107F400075BC7047C08F002070B50146022801D073 +:107F5000032943D1224C207A00283FD0012831D078 +:107F600002282FD11F4800230229006802D00329CC +:107F700028D119E0E360027912B1012A22D10BE085 +:107F8000D0E90565721B142A00D314222A448261A9 +:107F90004569AA420ED015E00169491C0161426998 +:107FA00091420FD1237213E0E268521CE260082A6A +:107FB00008D9E360237202290AD00D21FCF775FD70 +:107FC00002F02AFC607C28B1BDE8704000F0A8BF38 +:107FD0000021F3E7BDE8704002F028BC70BD00004E +:107FE000C08F0020185A00202DE9F8431D46089F35 +:107FF00016468846040003D12AA16220FBF702FA44 +:108000001EB928A16320FBF7FDF9206818B925A146 +:108010006420FBF7F7F91DB922A16520FBF7F2F9FF +:1080200060684068B5FBF0F100FB115141B1B5FB50 +:10803000F0F100FB115018B11AA16820FBF7E2F92A +:108040004046FAF7D7FE38B94046FAF7D3FE18B9DA +:1080500014A16B20FBF7D6F93046FAF7CBFE38B9FE +:108060003046FAF7C7FE18B90EA16C20FBF7CAF923 +:108070002A4641462046FAF7CCFE48B92A464146F0 +:108080002046FAF7C6FE18B906A16D20FBF7BAF92B +:10809000009720682B463246C76841462046B847BD +:1080A000BDE8F8832E2E5C2E2E5C2E2E5C2E2E5CD0 +:1080B0002E2E5C636F6D706F6E656E74735C6C6991 +:1080C000627261726965735C6673746F7261676511 +:1080D0005C6E72665F6673746F726167652E6300B3 +:1080E0002DE9FF411C46DDE90A7815460E46684633 +:1080F00000F010F846EA450141EA840141EA07220E +:1081000042EA0841009A00EB8200C0F80017BDE87F +:10811000FF81000010B5016804464A094FF00000D5 +:1081200002D0012A05D102E04FF0FF3001E04FF606 +:10813000FF7001F01F0201219140014204D108A10A +:108140004FF4E370FBF75EF92068202802D24FF06D +:10815000A04010BD00F01F0020600C4810BD0000C2 +:108160002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6D0A +:108170006F64756C65735C6E7266785C68616C5C6C +:108180006E72665F6770696F2E68000000030050B2 +:1081900010B5016804464A094FF0000002D0012AD8 +:1081A00005D102E04FF0FF3001E04FF6FF7001F023 +:1081B0001F0201219140014204D108A14FF4E37054 +:1081C000FBF720F92068202802D24FF0A04010BD14 +:1081D00000F01F0020600C4810BD00002E2E5C2E09 +:1081E0002E5C2E2E5C2E2E5C2E2E5C6D6F64756CBC +:1081F00065735C6E7266785C68616C5C6E72665FFB +:108200006770696F2E6800000003005038B50124C4 +:108210000090684631B1FFF77DFF00998C40C0F8AF +:10822000084538BDFFF776FF00998C40C0F80C4533 +:1082300038BD000030B5134B014600201C692246B2 +:108240000AE0D2681579854205D1401C0A28F6DB80 +:108250004FF0FF3030BD1268002AF2D1421CF9D035 +:10826000CA6810711A693AB1D268CC681268226083 +:108270001A69D268116030BD1961C96800220A60AC +:1082800030BD00006CA100207047FAF7D3BB7047E7 +:1082900008B5034A00924023024A00F005F808BDE1 +:1082A00025AD0F00D48F0020F0B595B01C461546C3 +:1082B0000F4608461A9E00F06DFB182109A8F9F731 +:1082C000D7F80E96CDE909540023082203A93846B1 +:1082D00000F076FB05980690BDF81000ADF81C0084 +:1082E000BDF81200ADF81E0000208DF821000398A3 +:1082F000082600F00300012802D0022818D032E03E +:1083000003983346850AC0F3C2008DF82000039815 +:108310000FA9C0F38314A200384600F051FB09A84E +:10832000009006AB22460FA9284600F08FFA1AE00B +:108330000398840DC0F3C2008DF82000082C01D2F0 +:10834000254600E0082533462A460FA9384600F0A6 +:1083500037FB2E44641B09AB06AA29460FA800F080 +:10836000DBF9002CEAD1384600F01AFB15B0F0BD5D +:108370000A4A012902EBC00007D0022907D00329CD +:1083800007D0042907D0002070470220704704203E +:108390007047007970474079704700008CCF0F001C +:1083A00010B5FFF772FF04210648FFF743FF0028CE +:1083B00003DA05491B20FBF725F802490120C968AB +:1083C000487110BD7CCF0F0090CA0F002DE9F04F0F +:1083D0008DB0FBF793FF18B100200DB0BDE8F08F12 +:1083E0007D4E0020B061BFF34F8FA6F580547B49CE +:1083F000A06801900D684FF00009284004EB800050 +:108400000AE0B06970B961680198814201D8A16041 +:10841000E2E7284004EB80000C3001A9FCF7A7FD3F +:108420000028EED1002005AAA046019901EA050323 +:1084300008EB8303491CDB6842F82030401C0191A3 +:108440000228F2D3059800F00300022802D0012888 +:108450004CD0A8E005985022810D8A46B2EB905F7F +:1084600000D850210C4664F39F50059008315C48B9 +:1084700000F047FA070075D000F08CFA4B4608224E +:1084800005A9384600F0C8FA019909F1080B2940FE +:10849000681A8000001D844221D9524D30B1C2B209 +:1084A00008EB8101201A91460C3104E02946E2B222 +:1084B000002591462846C4B25B46384600F0ACFA27 +:1084C0000BEB090325B122462946384600F0A4FAF1 +:1084D00001990AF1030001EB900001903BE008EBE9 +:1084E00081015B46224638460C31EFE70598C0F320 +:1084F0008310062800D30620059960F38911C1F383 +:108500008310801C05918100354800F0FAF90700BE +:1085100049D000F03FFA4B46082205A9384600F042 +:108520007BFA09F1080900240FE001984B4600EAA4 +:108530000501401C08EB81010190042238460C31F2 +:1085400000F06AFA09F10409641C0598C0F383106D +:10855000A042EAD837B13469B06978B1384600F042 +:108560001FFA34E01FE0E0684079012804D1226856 +:108570002046394612689047E0680468002CF2D122 +:10858000384600F00DFA00208DF800006846FAF732 +:10859000A9FEB06910B90199C8F808109DF800004B +:1085A000FAF7ECFE13E0346905E02168204689689B +:1085B0008847E0680468002CF7D10B480B49401A43 +:1085C000C008022101EB004009A100F071F8FBF79F +:1085D00095FE80F0010000E76CA100202C5A0020DD +:1085E00010D00F0078910020DCCF0F008CCF0F004F +:1085F0004261636B656E647320666C757368656455 +:10860000000000002DE9F84F8146274FD01C154689 +:108610008A468008002269463E68FBF7FDFDDFF8C8 +:108620008C80B0B3009CA01C009039683040091ABF +:108630008F003F1DBD4208EB800002D82A465146FC +:1086400008E03A4651460C30F8F7EAFE1748EA1BB4 +:108650000AEB07010C30F8F7E3FE4FEA1947FCF785 +:10866000B5F947EA0042601C304008EB8000344016 +:1086700008EB8401C260C8684FF6C07269F3C50098 +:10868000904365F39F5020F00300801C20F004000D +:10869000C86098F8000001E0FFF798FE0028FBD1C1 +:1086A000FCF711FDBDE8F88F2C5A00206C910020DA +:1086B00000231A4602F048BD08B5012300926A461D +:1086C00002F042FD08BD1CB5CDE9002302236A4635 +:1086D00002F03AFD1CBD3EB5069C8DE81C0003234C +:1086E0006A4602F031FD3EBD7FB5DDE908458DE803 +:1086F0003C0004236A4602F027FD7FBD70B586B0BA +:108700000DF1280C9CE870008DE87C0005236A467A +:1087100002F01AFD06B070BD2DE9F0470E46804606 +:108720001C469246082940D894F80C9000202073EB +:108730001946104602F016F80025B54206D218F880 +:1087400005201BA12046FFF795F903E01AA120465A +:10875000FFF790F96D1C082DEFD318A12046FFF705 +:1087600089F90025B54212D218F805707E2F08D875 +:10877000F8F752FE0068C05D10F03E0F01D03A4697 +:1087800000E02E220EA12046FFF774F903E00DA1B0 +:108790002046FFF76FF96D1C082DE3D30122214617 +:1087A000504601F07FFE84F80C90BDE8F087000091 +:1087B0002025303278000000202020007C000000BE +:1087C0002563000020000000064910B50020087055 +:1087D000054800F0E3F8002803D1044800F09AF9B6 +:1087E000002010BD6C91002010D00F00A8BD0F001C +:1087F00002480349401AC00870470000FCCF0F0030 +:108800008CCF0F0013B56846FCF79CFD08B1002023 +:108810001CBD0248009950F831001CBD8CCF0F00E0 +:1088200070B5094801250469A0F58050057007E07E +:10883000E06845712168204649688847E068046817 +:10884000002CF5D170BD00006CA100202DE9FF4780 +:1088500081460C9D00200C462F7B287398461646B7 +:108860002946184601F07EFF072E42D2DFE806F0C7 +:1088700004090F161F2A360049462846FFF7FAF862 +:1088800037E0494628462268FFF7F4F831E0D4E99A +:10889000002349462846FFF7EDF82AE0A06800903B +:1088A000D4E9002349462846FFF7E4F821E0D4E95B +:1088B0000201CDE90001D4E9002349462846FFF72B +:1088C000D9F816E004F1080007C88DE80700D4E9DC +:1088D000002349462846FFF7CDF80AE004F10800D6 +:1088E0000FC88DE80F00D4E9002349462846FFF75A +:1088F000C1F800222946404601F0D4FD2F73BDE89F +:10890000FF872DE9F041058A80462D1F4819C01CBC +:10891000B0FBF5F0C6B24046FCF7A6FD041E19D028 +:108920000020207101206071E58000272546761E19 +:10893000C4F800800BE04046FCF796FD60B1617919 +:10894000491C6171286005467F1CC0F80080B74251 +:10895000F1D32046BDE8F081204600F002F8002067 +:10896000F8E72DE9F041457901466B1E002201E050 +:108970000968521C9A42FBD30F680146002605E0A5 +:1089800038460C68FCF7D6FD2146761CAE42F7D37C +:10899000BDE8F0810121001DFCF73FBDFCF712BED0 +:1089A00010B504460121001DFCF758FD10F0FF0F23 +:1089B00004D12046BDE81040FFF7D3BF10BD000032 +:1089C0001CB514460122CDE9002401AAFCF74CFC99 +:1089D0000198A04203D002A1DA20FAF713FD1CBDD2 +:1089E0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C638C +:1089F0006F6D706F6E656E74735C6C6962726172BC +:108A00006965735C6D656D6F626A5C6E72665F6DE1 +:108A1000656D6F626A2E63001CB514460022CDE9B5 +:108A2000002401AAFCF720FC0198A04203D002A177 +:108A3000D020FAF7E7FC1CBD2E2E5C2E2E5C2E2ECD +:108A40005C2E2E5C2E2E5C636F6D706F6E656E7487 +:108A5000735C6C69627261726965735C6D656D6F80 +:108A6000626A5C6E72665F6D656D6F626A2E63002E +:108A7000094902220A60BFF36F8FBFF34F8F0A1DAF +:108A8000106006480268002AFCD000200860BFF38E +:108A90006F8FBFF34F8F704704E5014000E4014042 +:108AA000094A01231360BFF36F8FBFF34F8F01603B +:108AB000064801680029FCD000201060BFF36F8FCA +:108AC000BFF34F8F7047000004E5014000E4014010 +:108AD00070B50E4C01232360BFF36F8FBFF34F8F30 +:108AE00000230B4D08E000BF51F8236040F82360DD +:108AF0002E68002EFCD05B1C9342F5D30020206032 +:108B0000BFF36F8FBFF34F8F70BD000004E50140CE +:108B100000E40140826800219160826811618268EE +:108B200051618268D16082685160806801607047DD +:108B300008B5002242504058009008BD20B10349BA +:108B400009680160002070470E2070472CBE0F009E +:108B50002DE9FE4307460E460846FFF7EFFF0028C3 +:108B60007CD100240094019406208DF800704FF011 +:108B70000108ADF8040002948DF8028069462020B7 +:108B8000326869DF3649374A891AC908012202EB7F +:108B9000014530B100F09EFA024628463249FFF7FF +:108BA0008BFD00948DF801808DF8024001940294B1 +:108BB0008DF8034069464020326869DF30B100F02B +:108BC00089FA024628462949FFF776FD00948DF878 +:108BD0000070F720ADF8020001940294694623204A +:108BE000326869DF30B100F075FA02462846204944 +:108BF000FFF762FD0094019402948DF800806946AD +:108C00000120326869DF30B100F064FA024628467C +:108C10001849FFF751FD4FF4B060009001940294A1 +:108C20006946A120326869DF30B100F053FA02468C +:108C300028461149FFF740FD0094019402948DF8F5 +:108C400000406946A020326869DF30B100F042FA86 +:108C5000024628460949FFF72FFD0020BDE8FE83A4 +:108C6000ECCF0F008CCF0F0088CC0F00D0CC0F00C2 +:108C70001CCD0F00E8CB0F0034CC0F0094CB0F00BD +:108C80002DE9F0410546076860DF804619491A481A +:108C90002A68081AC608BA4219D9022000EB06440D +:108CA00016A12046FFF704FD20463A461FA12B6877 +:108CB000FFF709FD4FF08050D0F80C0129688002C1 +:108CC00000F10050421A204625A1FFF7F5FCB8F14B +:108CD00000004FF001040AD000F0FCF9024604EB5A +:108CE00006402AA1FFF7E8FC4046BDE8F0812F4886 +:108CF0000470F9E7ECCF0F008CCF0F00496E73754D +:108D00006666696369656E742052414D20616C6CC2 +:108D10006F636174656420666F72207468652053A8 +:108D20006F66744465766963652E00004368616E02 +:108D30006765207468652052414D207374617274B8 +:108D4000206C6F636174696F6E2066726F6D203086 +:108D500078257820746F20307825782E0000000068 +:108D60004D6178696D756D2052414D2073697A654A +:108D700020666F72206170706C69636174696F6ED8 +:108D800020697320307825782E00000073645F62BC +:108D90006C655F656E61626C65282920726574750B +:108DA000726E65642025732E00000000835A002037 +:108DB00030B51848ADF5017D0078002826D04FF475 +:108DC000FA7400BFADF8004280A9684661DF38B18F +:108DD00005281BD00DF5017DBDE83040FAF740B9FC +:108DE0006D460D497DA800F0F1F809E07DA800F07E +:108DF000D5F8D0E90021284690477DA800F024F955 +:108E00007DA800F0CBF80028DCD0EFE70DF5017D60 +:108E100030BD0000835A002030BE0F00F8B5134C5F +:108E20002078C0B10120A07001F046FF112814D0B5 +:108E3000022001F05DFF00258DF800506846FAF72A +:108E400051FA11DF064625709DF80000FAF796FAF0 +:108E50002EB13046F8BD0820F8BD0020F8BDA57041 +:108E600002F092F8032001F043FFF6E7805A002059 +:108E70007CB5194C207808B108207CBD0120A07079 +:108E8000002001F019FF112819D0002001F030FF57 +:108E900012480026006801908DF800606846FAF7D5 +:108EA00021FA0F4901A810DF05000AD00020207028 +:108EB0009DF80000FAF762FA2DB128467CBD00202B +:108EC0007CBD0120F3E7A670667002F0C1F80120B6 +:108ED00001F00EFFF3E70000805A0020C4BD0F0030 +:108EE000FD2F0F000EB50A49684600F06FF808E044 +:108EF000684600F047F8D0E900108847684600F05F +:108F0000A3F8684600F03EF80028F1D10EBD00003D +:108F1000E0BD0F000148007870470000805A002033 +:108F20000548817819B1007818B1FFF777BF08209C +:108F30007047FFF79DBF0000805A00201FB56846AC +:108F40004BDF30B1052819D004B0BDE81040FAF766 +:108F500087B80B4901A800F039F809E001A800F032 +:108F600029F8D0E900210098904701A800F06CF89A +:108F700001A800F01FF80028E1D0EFE71FBD0000B6 +:108F80004CBE0F0010B5040003D103499E20FAF730 +:108F900039FAA06810BD000040CB0F0010B50400E6 +:108FA00003D103499E20FAF72DFAA06810BD0000F6 +:108FB00040CB0F0010B5040003D103499E20FAF7FF +:108FC00021FAA06810BD000040CB0F0070B50D461F +:108FD000040003D108492A20FAF714FA1DB90649FA +:108FE0002B20FAF70FFA2560286860602046BDE85C +:108FF000704000F003B8000050C60F0010B5040028 +:1090000003D110490D20FAF7FDF9206818B90D4970 +:109010000E20FAF7F7F9606818B90A490F20FAF735 +:10902000F1F9D4E900104A68904201D1002004E02F +:10903000D0E900239A4202D01046A06010BD08304B +:109040006060F0E750C60F0010B5040003D112496C +:109050003D20FAF7D7F9206818B90F493E20FAF7F2 +:10906000D1F9A068002815D0216889680844A0605B +:10907000606818B908494D20FAF7C4F9D4E901012C +:109080004268914206D1083060602046BDE8104039 +:10909000FFF7B4BF10BD000050C60F000C4A10B55A +:1090A00002F594730EE0991AC91001EBD1714910C1 +:1090B00002EBC1010C68844201D90B4602E005D2E3 +:1090C00001F108029A42EED3002010BD486810BD9D +:1090D00068BC0F0000B5FFF7E1FF002800D1014890 +:1090E00000BD000054BC0F002DE9F04104461348B8 +:1090F000134BC01A0C21B0FBF1F6A0694FF0FF3101 +:1091000010F8022C02B92169002011E000EB4005A3 +:1091100003EB85052F68974209D14F1C02D06F6879 +:109120008F4204D194E80F00AD68A84703E0401CCB +:10913000B042EBD301202060BDE8F08160D00F0089 +:1091400054D00F0002480068002800D0012070476A +:109150000004014003490860034801680029FCD06D +:109160007047000004E5014000E4014070B50C4682 +:10917000050003D10E49DE20FAF744F91CB90C4969 +:10918000DF20FAF73FF90B480B49401AC0080421C9 +:1091900001EB004009A1FFF78BFA13490320C968CE +:1091A00088476869FEF7BAF9FBF7A9FC607070BDE3 +:1091B000DCC10F00A4CF0F008CCF0F0048616E649C +:1091C0006C65204E52465F4446555F4F505F4F429C +:1091D0004A4543545F4352454154452028636F6DCF +:1091E0006D616E6429000000E059002070B50D46E5 +:1091F00020B916494FF48370FAF704F925B91349D9 +:1092000040F20710FAF7FEF811481249401AC10857 +:10921000042000EB014004460FA1FFF749FA194969 +:10922000081FFEF795F9FBF76AFC6870012805D165 +:109230000020FDF73DFF10B10A20687070BD204688 +:10924000BDE8704010A1FFF733BA0000DCC10F0089 +:10925000A4CF0F008CCF0F0048616E646C65204E68 +:1092600052465F4446555F4F505F4F424A45435414 +:109270005F455845435554452028636F6D6D616EB9 +:1092800064290000E859002057726974696E6720EC +:1092900076616C696420696E697420636F6D6D61BD +:1092A0006E6420746F20666C6173682E000000008D +:1092B00070B50D46040003D11849EC20FAF7A2F866 +:1092C000206918B91549ED20FAF79CF8A08A18B959 +:1092D0001249EE20FAF796F81DB91049EF20FAF777 +:1092E00091F80F480F49401AC008042101EB0040D3 +:1092F0000DA1FFF7DDF9A18A2069FEF7CBF8FBF796 +:10930000FEFB68702846FBF7DBF8E168002903D014 +:109310002069BDE87040084770BD0000DCC10F0047 +:10932000A4CF0F008CCF0F0048616E646C65204E97 +:1093300052465F4446555F4F505F4F424A45435443 +:109340005F57524954452028636F6D6D616E6429E3 +:109350000000000030B587B00C46054618221B49B6 +:109360006846F8F75DF8207B0195194D8DF80000EF +:10937000012806D0022815D0062821D1607B049050 +:109380001EE0A888E880607B0490617CD4F80E0021 +:1093900061F31F6005900498012811D10D48FDF775 +:1093A0009BFE0DE00C480D49401AC008042101EB5A +:1093B00000400BA1FFF77CF9B4F80D00A880E8800D +:1093C0006846FDF77FFB07B030BD0000F8BA0F001C +:1093D000C059002074CF0F0094CF0F008CCF0F0026 +:1093E0005365742072656365697074206E6F74696B +:1093F0006600000070B50E460B480C49401AC108C3 +:10940000042000EB01440AA12046FFF751F9114D59 +:10941000204611A1AB6C2A6DFFF755F9A86CB0601E +:10942000286D706070BD0000A4CF0F008CCF0F00BE +:1094300048616E646C65204E52465F4446555F4FEE +:10944000505F4352435F474554202864617461294B +:1094500000000000548600204F66667365743A254C +:10946000642C204352433A3078253038780000008D +:109470002DE9F84F0D460746374838494FF00409A3 +:10948000401AC40809EB0440064635A1FFF710F95D +:10949000FEF7D0F8012101EB04444FF0080AA8B10F +:1094A0007A694FF00308B2B137493848130515D02F +:1094B000436DD1F808C0134463450FD0204634A152 +:1094C000FFF7F6F885F80180BDE8F88F204639A14E +:1094D000FFF7EEF819E0204644A1F1E7B2F5805F0E +:1094E00006D9204648A1FFF7E3F885F80190EBE79D +:1094F000436DD1F808C003EB0208E04508D92046C7 +:109500004A49CDF800C0FFF7E6F885F801A0DBE78F +:109510004264C26C036503638046826478690022FA +:1095200000F6FF70070B486839461844FDF7D8F875 +:1095300030B120463EA1FFF7BBF805206870C3E7B5 +:10954000D8F84810009130463FA1D8F85030D8F8EC +:109550004420FFF7C0F8B7E7A4CF0F008CCF0F006F +:1095600048616E646C65204E52465F4446555F4FBD +:10957000505F4F424A4543545F4352454154452052 +:109580002864617461290000E0590020548600209D +:109590004F626A6563742073697A65206D757374B0 +:1095A000206265207061676520616C69676E656423 +:1095B0000000000043616E6E6F7420637265617419 +:1095C000652064617461206F626A656374207769E5 +:1095D00074686F75742076616C696420696E697453 +:1095E00020636F6D6D616E64000000004F626A65FC +:1095F00063742073697A652063616E6E6F74206294 +:109600006520302E00000000496E76616C69642090 +:1096100073697A6520666F72206F626A6563742071 +:1096200028746F6F206C61726765290068C10F0034 +:109630004572617365206F7065726174696F6E2029 +:109640006661696C656400004372656174696E6788 +:10965000206F626A65637420776974682073697A21 +:10966000653A2025642E204F66667365743A203073 +:1096700078253038782C204352433A2030782530F2 +:10968000387800002DE9F0410E4607461548164986 +:10969000401AC508042000EB054014A1FFF708F8A4 +:1096A0001C4CD4E91401626C431A9A420AD001207E +:1096B00000EB054018A1FFF706F8082070700120A4 +:1096C000BDE8F08100216164A16CE1646065002166 +:1096D000384600F035F819490420C9688847002049 +:1096E000EEE70000A4CF0F008CCF0F0048616E643E +:1096F0006C65204E52465F4446555F4F505F4F4267 +:109700004A4543545F4558454355544520286461B4 +:109710007461290054860020496E76616C6964206A +:10972000646174612E2065787065637465643A20A5 +:1097300025642C20676F743A20256400E0590020CE +:10974000F0B5044687B00020FEF7BAFB01002548BB +:10975000254A4FF00107A0EB02004FEAD0050AD0DE +:10976000224A18212046F9F737FD020037D007EBCF +:1097700005401FA131E0182228496846F7F750FE3E +:109780002748284E184B174D016DEB1A0420DB08B3 +:10979000B26800EB0345914215D1284622A1FEF79D +:1097A00087FFD6E90101FDF751FD8DF80100FBF7B8 +:1097B000A6F98DF80100D4E90112684690472648C1 +:1097C000FDF776FC05E08DF80170D4E901126846DA +:1097D00090479DF80120284620A1FEF76DFF07B0B5 +:1097E000F0BD0000A4CF0F008CCF0F0041970F00F9 +:1097F0004661696C656420746F2073636865647585 +:109800006C65206F626A6563742065786563757442 +:10981000653A20307825782E00000000B8BB0F0094 +:1098200054860020E059002057686F6C65206669F7 +:10983000726D7761726520696D616765207265631D +:1098400065697665642E20506F737476616C696407 +:109850006174696E672E0000159A0F00526571756C +:109860006573742068616E646C696E6720636F6DE8 +:10987000706C6574652E20526573756C743A203077 +:109880007825780038B50D460C480D49401AC108B6 +:10989000042000EB014004460AA1FEF709FF13482B +:1098A00013A1826CAA60036D4FF480506B60E86076 +:1098B00000902046FEF70FFF38BD0000A4CF0F0038 +:1098C0008CCF0F0048616E646C65204E52465F4439 +:1098D00046555F4F505F4F424A4543545F53454C96 +:1098E0004543542028646174612900005486002097 +:1098F000637263203D20307825782C206F66667374 +:109900006574203D20307825782C206D61785F7358 +:10991000697A65203D203078257800002DE9F041F6 +:109920000E46044626482749401AC708042000EB83 +:10993000074025A1FEF7BCFEFDF77CFE90B12C4D43 +:10994000D5E91401401AA18A6A6C084490420BD9E7 +:10995000012000EB074027A1FEF7AAFE032070704C +:10996000BDE8F0810820FAE7284A286B526800EB2E +:1099700002081F4A20694832FAF7B4FD0746E0683A +:1099800020B923494FF4E570F9F73CFDD4E90331E0 +:10999000A28A4046FCF75AFF20B1D4E90310BDE883 +:1099A000F0410847A18A286B08442863A18A286DE2 +:1099B000AF6408442865B760286D7060D0E7000088 +:1099C000A4CF0F008CCF0F0048616E646C65204EF1 +:1099D00052465F4446555F4F505F4F424A4543549D +:1099E0005F57524954452028646174612900000082 +:1099F00054860020577269746520726571756573AD +:109A00007420746F6F206C6F6E670000E059002047 +:109A1000DCC10F000848094910B5401AC0080421EC +:109A200001EB004006A1FEF743FE12490620C9687B +:109A3000BDE8104008470000A4CF0F008CCF0F00F6 +:109A4000416C6C20666C617368206F706572617424 +:109A5000696F6E73206861766520636F6D706C65E9 +:109A60007465642E2044465520636F6D706C657478 +:109A700065642E00E0590020FEF7D2FEFEF7A6FC3A +:109A80000028FBD10D4E64254FF47A47741C3846EC +:109A9000A0476D1EFAD10A480068C00700D000BE7A +:109AA000BFF34F8F0648E4380168064A01F4E061CD +:109AB00011430160BFF34F8F00BFFDE7A0B80F0057 +:109AC000F0ED00E00400FA0510B504460848094925 +:109AD0002246401AC008042101EB004006A1FEF70F +:109AE000EBFD2146BDE810400848FBF723BD000010 +:109AF00094CF0F008CCF0F0046726565696E6720AA +:109B0000627566666572202570000000FCCF0F004C +:109B100030B58A1D8B79083187B0022B33D1538839 +:109B20008489A3422FD1127A012A2CD1184C0DF12D +:109B3000040C3CCC8CE83C000A89ADF80C204A8926 +:109B40000C3104911249ADF80E208039114C096A8C +:109B50000591CDF818D0018A05AA6088ADDF18B943 +:109B60006846FAF79BF938B10020ADF8080001A962 +:109B70006088B0DF50B106E040F2FD10ADF808009B +:109B800001A96088B0DF002007B030BD0120FBE7ED +:109B900010BB0F00C059002070B506468C1DC88848 +:109BA000B18888B088422DD11B48FBF75DFC0500C9 +:109BB0001A481B49A0EB01004FEAD00024D0F42141 +:109BC0000091042101EB004063892A4615A1FEF7AC +:109BD00082FD628904F10C012846F7F721FC182266 +:109BE000184901A8F7F71CFC029605956089ADF8A5 +:109BF000180001A8FCF766FF002803D02946064894 +:109C0000FBF798FC08B070BD022101EB00400EA1EB +:109C1000FEF74EFDF6E70000FCCF0F0094CF0F00DB +:109C20008CCF0F00427566666572202570206163D7 +:109C30007175697265642C206C656E20256420281E +:109C40002564290020BB0F0063616E6E6F74206174 +:109C50006C6C6F63617465206D656D6F72792062E5 +:109C60007566666572210000F8B50D461446064615 +:109C7000694600F057FA00280FD0009BB3F5803FEB +:109C80000AD2981C834207D8A9780222B2EB911F0E +:109C900002D02989814201D20020F8BD2380A11C75 +:109CA0003046009A00F094FBF8BD114600F0D6B89B +:109CB000114600F0E3B8F8B50C461546064669466D +:109CC00000F030FA00280CD0009A501C904207D3C4 +:109CD000A1780223B3EB911F02D02189814201D2E6 +:109CE0000020F8BD2946304600F072FB009A0021A2 +:109CF000A954F8BD2DE9FF410C46CE68174605462C +:109D0000694600F037FB00280ED0E06800280BD031 +:109D1000A0783A46C0F3011002283146684606D0C2 +:109D200000F0DAF80199696004B0BDE8F08100F054 +:109D300086F8F7E77CB50D461446694600F08FF9C2 +:109D4000002820D02889082806D0042809D0022815 +:109D50000AD001280CD015E0DDE90001C4E90001BA +:109D60000AE00098206006E0009800B2208002E03F +:109D7000009840B22070C117DDE9002350405940DF +:109D8000084301D000207CBD01207CBD7CB50D4680 +:109D90001446694600F0A1F9002820D02889082837 +:109DA00007D00021042809D002280AD001280CD0AD +:109DB00014E0DDE90001C4E9000109E00098206039 +:109DC00006E0009880B2208002E00098C0B22070C7 +:109DD000DDE9002350405940084301D000207CBDFC +:109DE00001207CBD7CB50D461446694600F075F92E +:109DF000002821D02989082908D00098C2170429F1 +:109E00000BD002290DD001290ED014E0DDE90002AB +:109E1000C4E900020146134609E0C3170146206069 +:109E200005E001B2218001E041B22170CB17414031 +:109E30005340194301D000207CBD01207CBD70B58A +:109E40000D46064614461146284600F0AEFA224654 +:109E500029463046BDE8704000F03EB838B50C46A3 +:109E60000422694600F0B4FA002806D09DF80310D9 +:109E7000009861F31F602060012038BD1CB50C46BE +:109E80000822694600F0A4FA002824D09DF80110A9 +:109E90009DF800209DF80230080E42EA012242EAB5 +:109EA000034240EA13409DF803309DF8041040EA55 +:109EB000132008439DF8051042EA036240EA01209E +:109EC0009DF8061040EA01409DF8071040EA016045 +:109ED000C4E9002001201CBD2DE9F04F04469DB0CF +:109EE00000200090064601904FF0FF3A0AA800F0CB +:109EF0007DF94FF0010BE94682E012AB05AA06A9F5 +:109F0000204600F0C9F850B10AA8059900F07FF981 +:109F100060B10B98807810F0300F53D060E09DF85E +:109F20004800002870D11DB0BDE8F08F0598B04200 +:109F300042D30B9D0AAE0B98807800F00F000828E2 +:109F400012D0304600F07AF90B98A842F3D1564669 +:109F50000599B14230D3D4F8088009919DF81810C2 +:109F600008910E990D6820E00B980688F0E72968A3 +:109F70000F682FB1DDE9083229462046B84711E0C5 +:109F800011948968DDE90872098891420CD129464B +:109F900017A8FBF781F885F80CB017AA3946119875 +:109FA000FAF739FB0028BED0AD6815B1A16841456C +:109FB000DDD0A168414523D19DF81810204600F05E +:109FC00043FA1BE00C9840280AD200F01F010BFA5C +:109FD00001F00C994A0959F82230034349F822301C +:109FE000E5682DB10AAB9DF8182020460599A847D1 +:109FF0000AAA9DF818102046FAF70DFB002892D007 +:10A00000A06800287FF479AFDDE90B0485780AA801 +:10A0100000F014F90028F7D115F0300F03D10B9898 +:10A02000008800B1641CC4B10020494605E000BFAF +:10A0300051F82020521C0ED1401CB0EB541FF7D316 +:10A04000600959F8201004F01F00C0F120022AFA1C +:10A0500002F0814201D0002065E7012063E71CB5D2 +:10A060000C46694600F039F8002814D0DDE90002FA +:10A07000C10709D051084FEA30006FEA00026FEAC9 +:10A080000100C4E9002004E051084FEA3000C4E9AF +:10A0900000014FF001001CBDF8B507460020187004 +:10A0A00008700E4610601C4615466946384600F09A +:10A0B00039F801004FF0010009D0009959B1C808E2 +:10A0C0002860009800F0070030700120F8BDB968E2 +:10A0D00009B10020F8BD2070FBE72DE9F843002608 +:10A0E000884681463446354604E0402E02D300209F +:10A0F000BDE8F8836946484600F096F90028F7D095 +:10A100009DF80070324607F07F00C10FF7F774F931 +:10A1100029430443F61D0D463806E6D4C8E900413C +:10A120000120E5E7F8B50E460746694600F07CF9E0 +:10A1300000280AD09DF80040200616D5072504F017 +:10A140007F0403E0202D01D30020F8BD6946384686 +:10A1500000F06AF90028F8D09DF8001001F07F00A7 +:10A16000A8400443ED1D0806ECD401203460F8BD7E +:10A1700030B45968114AC968914208D1D0E9011236 +:10A180000F48D0E90134234303D00021817030BC53 +:10A19000704711F8013BA2F101021B06F9D4C0E996 +:10A1A0000112012181700748074930BC401AC008DC +:10A1B000042101EB004005A1FEF77EBA40B90F0073 +:10A1C000F4590020BCCF0F008CCF0F0050423A2032 +:10A1D000496E6974207061636B6574206461746199 +:10A1E000206C656E3A20256400000000C2600023E8 +:10A1F0000160C0E901138B881A440261B1F906308D +:10A200001A4442610888002800D00120704770B5C8 +:10A2100045680E46044660680188B14206D18078E0 +:10A2200000F00F00082801D0012070BD204600F08A +:10A2300005F86068A842EED1002070BD30B54168D5 +:10A240000A885AB101F1100343600A8A42B18C783E +:10A250000A89C4F30115032D07D00BE0002030BD9F +:10A26000C2680168FFF7C2FFF8E79D78C5F30115E2 +:10A27000032D06D00225B5EB141F08D14C8962438B +:10A2800009E08D8804690022641B046103E0B5EBDA +:10A29000941F00D10422897811F0300F02D1816817 +:10A2A000491C81609C880169214411440161B3F912 +:10A2B000062011444161012030BD30B541680024C1 +:10A2C00087B0897801F00F02082A11D08A091ED0C0 +:10A2D0000222B2EB911F09D10269C1F301110229D7 +:10A2E000146001D0032901D14069048007B030BD5A +:10A2F0000069056808E02C7329466846FAF7CCFE29 +:10A300006846FFF7DAFFAD68002DF4D1EEE7C1F340 +:10A310000111012912D00229E6D00329E4D04268B4 +:10A32000917801F00F0107290BD0D16881B1128912 +:10A33000006907B0BDE83040F7F772B841690C70AA +:10A34000EDE70169D06807B0BDE8304000F02DB8F6 +:10A350001189006907B0BDE83040F7F789B80000FF +:10A3600010B5034B002408C080E8160010BD0000A3 +:10A37000B1420F0038B50D4604466946FFF7D2FEDC +:10A3800000280BD0D4E90002D4E90213C5E9000289 +:10A39000C5E902130098814201D2002038BDA860AF +:10A3A000A168081AA060012038BD00B50A4687B030 +:10A3B00001466846FFF71AFF002807D06846FFF7F6 +:10A3C0007CFF6846FFF73AFF0028F7D107B000BDD1 +:10A3D0007FB514460546A9B9124A2868904208D1AB +:10A3E00010E0102269462846FFF7F2FF002807D048 +:10A3F000103C102CF5D8224669462846FFF7E8FFA6 +:10A4000004B070BDA868A04201D20020F8E72B6814 +:10A410002246284698470028F2D0A868001BA8606A +:10A420000120EDE7B1420F0010B504468068002816 +:10A4300009D02368012220469847002803D0A0684D +:10A44000401EA060012010BD38B5002439B101299B +:10A4500012D0022912D005291DD0002038BD054692 +:10A46000012269462846FFF7B3FF90B19DF800002E +:10A470000006F5D4012038BD08220DE005466946E6 +:10A48000FFF750FE28B100212846009AFFF7A0FFF1 +:10A4900038BD204638BD0422BDE838400021FFF712 +:10A4A00097BF000010B50C46017A052908D0407A04 +:10A4B00038B1084808A102682046FDF7DBFA00E041 +:10A4C0001AB106A12046FDF7D5FA2046BDE8104096 +:10A4D000FDF70EBB5C5A0020257300000D0A00003A +:10A4E0002DE9FC418046224817460E46C5680A46BB +:10A4F000012441462846FAF723FB70B195F8550030 +:10A5000068B100F00101C0F3400243462846CDE99E +:10A51000006700F089F848B109E0172407E03B46DE +:10A5200032464146284600F027F8F4E70524114D4D +:10A530006FB1012C13D005F12400FBF76BFE00BFB7 +:10A54000FCF7BAFCC5F848802046BDE8FC81012C28 +:10A5500002D0FCF7B1FCF7E701206861F4E70022C4 +:10A5600031464046F9F7BEFFC5E90960E8E700005B +:10A57000F4590020548600202DE9F041044690F85B +:10A58000550094B01D461746884620B1174940F241 +:10A590000130F8F737FF0126CDE900764346002267 +:10A5A000214602A8F9F7FCFC00281CD0D5B14122B5 +:10A5B00002A90F48F6F734FF0F4810490D4D401A15 +:10A5C000C008042101EB00400DA1EE62FEF770F817 +:10A5D0000020286294F8920010B194F8930008B912 +:10A5E0006068A860012014B0BDE8F081BCC50F0010 +:10A5F000F588002054860020BCCF0F008CCF0F00C0 +:10A60000496E76616C69646174696E67206F6C6411 +:10A61000206170706C69636174696F6E20696E206F +:10A6200062616E6B20302E002DE9FF4FA5B0884689 +:10A6300004461546442113A8329FF6F719FF44211A +:10A6400002A8F6F715FFDDF8A09058EA050004D13E +:10A650003C4940F23B30F8F7D5FE3B483B4A801A74 +:10A6600002224FEAD00A02EB0A46B8F1000F1ED0D0 +:10A67000A16D289800F0A8FC002848D02898FAF787 +:10A68000A1FC4FF0010B20B130463149FEF710F824 +:10A69000B5B3A16DCDE9001B0022214613A8289B6C +:10A6A000F9F77EFC002832D0A06D81443F1A8DB1AD +:10A6B0000020CDE900704B464246214602A8F9F73A +:10A6C0006FFC002823D09DF8080018B130462149BE +:10A6D000FDF7EEFF339898B31F4EB8F1000F1ED070 +:10A6E0002898FAF76FFC18B106F11800FBF792FDF5 +:10A6F000412213A91948F6F793FE5DB1AC200AE098 +:10A70000FFE70BEB0A401649FDF7D2FF002029B006 +:10A71000BDE8F08FA520F062A06D706301E0AA2073 +:10A72000F0626DB10D48412202A98230F6F778FE41 +:10A7300094F8920010B194F8930008B96068F06042 +:10A740000120E4E7BCC50F00BCCF0F008CCF0F0089 +:10A7500078C50F0074C40F0054860020B488002010 +:10A76000C0C30F0038B5C3880D46044633B114A0EA +:10A77000009015A216A12846FDF77CF9217A05293B +:10A780001CD0607A48B1A088FDF7F2FD164951F857 +:10A79000202016A12846FDF76DF9A0880021FEF7BC +:10A7A00031F803461049207A143951F8202001B0BD +:10A7B0002846BDE830400EA1FDF75CB938BD000069 +:10A7C0001B5B306D000000001B5B313B33316D00C3 +:10A7D00025734C6F67732064726F707065642028F6 +:10A7E00025642925730D0A005C5A0020257300009A +:10A7F0003C25733E2025733A20000000EFF30580CE +:10A80000C005C00D01D001207047EFF3148040F364 +:10A810000000401C70470000034802490068FAF736 +:10A82000CFBD00001C5A002024BC0F002DE9F041D0 +:10A83000224C0025224E207A012730B92148311DB3 +:10A840000068FAF7C8FD306038B102202072316824 +:10A85000087928B101281CD114E06560BDE8F081B9 +:10A86000D1E90503C01A142800D31420B7EB900FC8 +:10A8700001D2820800E001220869C968184419441D +:10A8800029DF03E0D1E90301084428DF58B111288A +:10A8900012D003213068FAF708F925726560BDE827 +:10A8A000F041FFF7B9BF207C0028D7D1BDE8F041C7 +:10A8B00000210220FDF748BB2772CFE7C08F0020A0 +:10A8C000185A002024BC0F0010B5074C201DFAF7C1 +:10A8D000A1FD002806D1607C002803D1BDE810400E +:10A8E000FFF7A4BF10BD0000C08F002010B51046B8 +:10A8F0001A46F6F795FD002010BD10B510461A4611 +:10A90000F6F78EFD002010BD2DE9F0411E681C46B3 +:10A910001546074621B1012918D0052923D119E090 +:10A9200000202060401C2060B0421CD80122294633 +:10A930003846FFF74DFD002806D015F8010B00063C +:10A9400001D52068EEE70120BDE8F081082002462D +:10A95000186002E004200246186029463846BDE827 +:10A96000F041FFF735BD0020EEE770B516460A4608 +:10A970000446C11C104600F0AFFD05466119304683 +:10A98000C91C00F0A9FD284470BD000003B5094AA8 +:10A9900085B0D2E91612CDE9001207498989ADF8D0 +:10A9A000001006A9CDE90210044869464088AEDFD0 +:10A9B00007B000BD90BA0F00F86E0020C05900200B +:10A9C00008467047084670472DE9F047FCF780FBC2 +:10A9D000DFF8C480D8F83020D8F8347000EB020AD1 +:10A9E000B81A411EC1F30B01401A00F6FF792B493A +:10A9F0002B48D8F84860081AC508042000EB054029 +:10AA0000044628A1FDF754FE42F204002F4A815962 +:10AA1000012000EB0545914206D028462CA1FDF708 +:10AA200047FE0320BDE8F087D8F830000644B8425E +:10AA300005D1204633A1FDF73BFE0020F2E7C0B967 +:10AA400006F500500178142901D9416900E0002180 +:10AA50003148B1FBF0F34FF440510A78142A01D980 +:10AA6000496900E00021B1FBF0F220462BA1FDF77F +:10AA70002AFE08234A4631465046FAF72BF90400CD +:10AA800005D0284630A1FDF713FE2046CAE7BDE8F1 +:10AA9000F0470020FCF70CBB54860020DCCF0F00F1 +:10AAA0008CCF0F00456E746572206E72665F626FA8 +:10AAB0006F746C6F616465725F6466755F73645F09 +:10AAC000636F6E74696E756500000000DBE5B1515F +:10AAD000536F75726365206164647265737320647B +:10AAE0006F6573206E6F7420636F6E7461696E2082 +:10AAF000612076616C696420536F66744465766981 +:10AB000063652E00534420616C7265616479206333 +:10AB10006F7069656400000040420F005570646109 +:10AB200074696E672053442E204F6C642053442078 +:10AB30007665723A2025642C204E65772076657202 +:10AB40003A202564000000004661696C6564207449 +:10AB50006F20636F7079206669726D776172652E00 +:10AB60000000000070B50F480F49401AC4080420C7 +:10AB700000EB04400DA1FDF79BFDFFF725FF05004D +:10AB80004FF0010000EB044402D020460FA105E085 +:10AB9000F8F742FC050004D0204612A1FDF788FD1D +:10ABA000284670BDDCCF0F008CCF0F00456E74655A +:10ABB00072206E72665F6466755F73645F626C5F5D +:10ABC000636F6E74696E75650000000053442B421C +:10ABD0004C3A20534420636F7079206661696C653C +:10ABE0006400000053442B424C3A20424C20636FD7 +:10ABF0007079206661696C6564000000F0B50546F7 +:10AC0000002003464FF440540C4E4FF6FE7712E0FE +:10AC1000D4F804C0B44505D155F823C0B4F80CE00D +:10AC2000F44504D02AB155F823C0BC4501D1012018 +:10AC3000F0BD5B1CDBB28B42EAD3F0BDDBE5B1516A +:10AC400010B5040003D11A492D20F8F7DBFB4FF4AF +:10AC5000405018494068884221D1218A71B1626907 +:10AC600004F11400002A94F855200BD0042A07D0D0 +:10AC70000022BDE81040C9B2FFF7C0BF002010BDE0 +:10AC80000122F6E712B1012A07D1F7E7012904D919 +:10AC9000C9B20022FFF7B2FFF0E7012010BD208A01 +:10ACA00010B160690028E9D120780028F5D110BDE5 +:10ACB00004C60F00DBE5B1513EB504460B496846BA +:10ACC000FEF784F90AE06846FEF75CF9D0E9002156 +:10ACD0002046904740B16846FEF7B6F96846FEF751 +:10ACE00051F90028EFD13EBD11203EBDC8BD0F0077 +:10ACF0003EB504460A496846FEF768F909E0684629 +:10AD0000FEF740F9D0E90021204690476846FEF75B +:10AD10009BF96846FEF736F90028F0D13EBD0000E9 +:10AD2000D4BD0F002DE9F0411400884618D000254D +:10AD30000E4F032608EB050122460020F7F77CFEA4 +:10AD40000544241A40B93878002809D008494FF43E +:10AD50007A408847761E05D001203870002CE9D152 +:10AD6000BDE8F08100203870FAE70000205A00208A +:10AD7000A1BD0F002DE9F0410E46074613481449C6 +:10AD8000144D401AC408032000EB044012A12A68A5 +:10AD9000FDF792FC3046F9F7C3FB20B919494FF48F +:10ADA000AE70F8F72FFB184B3A463146286800F092 +:10ADB00053F8020007D0012000EB0440BDE8F04149 +:10ADC00012A1FDF779BCBDE8F0810000ACCF0F0007 +:10ADD0008CCF0F00F05900204261636B696E6720D1 +:10ADE00075702073657474696E6773207061676530 +:10ADF00020746F20616464726573732030782578E5 +:10AE00002E00000034C30F00D4820020436F756C05 +:10AE100064206E6F7420706572666F726D2062615F +:10AE2000636B7570206F6620626F6F746C6F616406 +:10AE300065722073657474696E6773212045727240 +:10AE40006F723A20307825780000000000225821E7 +:10AE5000001DF9F747BB00002DE9F04715464FF4F8 +:10AE600060771E46894680463A46F6F713FB224A2B +:10AE7000224B0421D21AD20801EB024400282046BA +:10AE800017D01FA1FDF714FC2046424621A1FDF773 +:10AE900013FC002201214046FBF722FC174A164B07 +:10AEA00001219A1AD20801EB024458B1204621A18F +:10AEB0001DE02949FDF7FCFB0DB10020A84700204B +:10AEC000BDE8F08726B9254940F23710F8F79AFA1D +:10AED0003A4649463046F6F7A3FA2B463A463146FB +:10AEE0004046FBF7B3FC0028EAD020461CA1FDF742 +:10AEF000DFFB0320E4E70000ACCF0F008CCF0F0096 +:10AF000057726974696E672073657474696E6773CC +:10AF10002E2E2E0045726173696E67206F6C64205F +:10AF200073657474696E67732061743A2030782594 +:10AF300030387800436F756C64206E6F74206572D2 +:10AF4000617365207468652073657474696E6773D6 +:10AF50002070616765210000E8C20F0034C30F0054 +:10AF6000436F756C64206E6F74207772697465200E +:10AF7000746865204446552073657474696E677300 +:10AF8000207061676521000010B51620F7F720FFDB +:10AF900048B10C4882684FF4800152B1016821F435 +:10AFA0008001016010BDBDE8104042F20100F8F7D9 +:10AFB00057B84FF0E020C0F88011BFF34F8FBFF3B8 +:10AFC0006F8F10BDC88D00202DE9F04100F50052B3 +:10AFD0001A481B4F0123C01B174CC008556803EBD0 +:10AFE0000040A54201D017491FE04D1EC5F30B05D7 +:10AFF000491B41F6FF75966829448E4201D21249D9 +:10B0000013E04FF440514D68A54211D10C78102C3B +:10B0100001D9096900E000211478102C01D91269C6 +:10B0200000E00022914203D00849FDF741FB0023D4 +:10B030001846BDE8F0810000DBE5B151BCCF0F0040 +:10B040008CCF0F0024C50F00B8C40F0004C40F003C +:10B0500010B51620F7F7BCFEA0B1114890F8000417 +:10B060004009082811D20121814011F0EC0F0CD0C9 +:10B070000C4882684FF480016AB1016841F4800194 +:10B08000016010BD42F2010001E042F20200BDE8A1 +:10B090001040F7F7E5BF4FF0E020C0F8001110BDF9 +:10B0A00016E000E0C88D00202DE9F0471E469246CC +:10B0B00089460546040C089FF9F788FC8046FDF791 +:10B0C00097FBA04204D80FA140F28310F8F79AF939 +:10B0D00044EA0841741C1B483C4000EB84023E409B +:10B0E00000EB8600D160C16865F3C5016AF3891180 +:10B0F00069F39F2121F00301491C21F00401C16083 +:10B10000BDE8F0872E2E5C2E2E5C2E2E5C2E2E5C43 +:10B110002E2E5C636F6D706F6E656E74735C6C6900 +:10B12000627261726965735C6C6F675C7372635C99 +:10B130006E72665F6C6F675F66726F6E74656E6469 +:10B140002E6300006C9100202DE9FC4781461748D2 +:10B150001746884605681C46012201A91846F9F7DA +:10B160005BF8134EB8B101998B1C00200AE000BFB8 +:10B1700057F8202003EA050C06EB8C0C401C5B1CE6 +:10B18000CCF80C20A042F3D30B4622464146484659 +:10B190000095FFF789FF307802E000BFFDF716F950 +:10B1A0000028FBD1F9F78FFFBDE8FC872C5A00205F +:10B1B0006C9100202DE9FF41324800F15C01826B67 +:10B1C0006846FFF7CDF8304F9DE8070007F11C03F4 +:10B1D0002F4C83E8070019462C48C8600020A07057 +:10B1E0006060A0604FF44771A7F54070F6F740F932 +:10B1F000A7F54072274902F54770FEF720FE264961 +:10B20000264A891AC908012202EB014578B1A078C3 +:10B2100038B1A7F5407090F86C110029017826D05C +:10B2200041B128461EA100BFFDF742FA28E028469A +:10B2300023A1F9E790F8720110B3D4E901122C4E62 +:10B240006846FFF78DF89DE80F001C3787E80F0070 +:10B250004FF4B2713046F6F70BF93246254906F540 +:10B26000D470FEF7ECFD30B9284623A1DCE739B1F4 +:10B27000807928B12F4E0120E66004B0BDE8F0814E +:10B280000020FAE754860020D48C002071A10F0022 +:10B29000F459002060BA0F00BCCF0F008CCF0F0014 +:10B2A00048616E646C65723A20496E76616C6964BF +:10B2B00020696E697420636F6D6D616E642E00008D +:10B2C00048616E646C65723A20496E76616C69649F +:10B2D0002070726F746F636F6C2062756666657242 +:10B2E000206D5F70625F73747265616D00000000B5 +:10B2F000488B002040B90F0048616E646C65723A5B +:10B3000020496E76616C69642070726F746F636F30 +:10B310006C20627566666572206D5F70625F737423 +:10B320007265616D2028696E697420636F6D6D614F +:10B330006E642900DC8900202DE9F0410F460546A6 +:10B34000234824492A46401AC008042101EB004042 +:10B3500021A1FDF7B1F9B7F1807F03D3244969201A +:10B36000F8F750F8962F03D221496A20F8F74AF8E7 +:10B370006FF07F40874200D238461E4ED6F8041543 +:10B380000144381A21F07F44411E6860952902D299 +:10B390009630963C68602D7B042D03D314495120D0 +:10B3A000F8F730F806EB8500C0F8404512494FF435 +:10B3B000F86088474FF4A07000EB85013046FDF738 +:10B3C000B7FB4FF48030A840C6F80403BDE8F08115 +:10B3D000DCCF0F008CCF0F0074696D65725F616305 +:10B3E000746976617465202830782578290000001A +:10B3F00054BF0F0000400240B1B80F0070B5174EA7 +:10B400003078002829D1164800680125C0F3004093 +:10B4100008B914480560144C4FF480712046FDF7BC +:10B4200087FB4FF4A0712046FDF782FB4FF4A27119 +:10B430002046FDF77DFB0D4A0020A02182F8001474 +:10B440000A4A1021203AC2F80011C4F80805A56084 +:10B4500025600220C4F80403357070BD84590020B3 +:10B4600018040040080000400040024024E000E0D2 +:10B4700070B515460E460446FFF7C0FF314620461C +:10B480002560BDE87040FFF757BF000010B50446C7 +:10B4900009480A492246401AC008042101EB00402D +:10B4A00007A1FDF709F9217B4FF480308840094955 +:10B4B000C1F8080310BD0000DCCF0F008CCF0F00D7 +:10B4C00074696D65725F73746F70202830782578A9 +:10B4D00029000000004002400870020A4A70020C75 +:10B4E0008A70000EC87004207047000010B5024832 +:10B4F000F9F787FF002010BD145A002010B5142161 +:10B500000448F5F7B5FF04480068F9F733FF002059 +:10B5100010BD0000C08F002024BC0F002DE9F05F9B +:10B520008346DDE90A4A994690460D4608460127BA +:10B5300003E000BFB0FBF8F07F1C4045FAD2B945EC +:10B5400000D94F465FEACA7012D18CB15FEA8A70A7 +:10B5500002D5B9F1000F01D0202607E0302605E022 +:10B5600031465846641EF8F7B1FE0CB1A742F7D336 +:10B570005FF00106B9F1010F02D9A9F1010903E059 +:10B58000B5FBF6F0404502D306FB08F6F2E7DFF81C +:10B590003C9000BFB5FBF6F000FB165519F8001003 +:10B5A0005846F8F793FEB6FBF8F6002EF2D15FEAA4 +:10B5B000CA7009D0002C07D0A74205D220215846D6 +:10B5C000641EF8F783FEF5E7BDE8F09FE8BB0F00C7 +:10B5D0002DE9F041084601241646254600212B4658 +:10B5E0000A46FAF721FE0C490C4A891ACF0830B1F5 +:10B5F00005EB07400AA1FDF75BF8042409E0FAF720 +:10B60000F9FD02463060042000EB07400BA1FDF776 +:10B6100053F82046BDE8F081BCCF0F008CCF0F005F +:10B6200043616E27742066696E6420726F6F6D20AF +:10B63000666F72207570646174650000577269747A +:10B640006520616464726573732073657420746F20 +:10B6500020307825303878002DE9F0411C4B1D4F03 +:10B660000F2600240125DB1B90F85520DB0805EB95 +:10B6700003450AB1042A03D190F86430012B06D0A7 +:10B68000D30707D090F85630012B02D002E0846E29 +:10B690000DE0846D92070AD590F85C20012A06D14E +:10B6A000026E0D48C0F57E239A4204D814443CB182 +:10B6B00001260C6008E0284608A1FDF704F80426DE +:10B6C00028460EA1FCF7F4FF3046BDE8F0810000EB +:10B6D000BCCF0F008CCF0F0000100F00424C207326 +:10B6E000697A652028256429206F766572206C6947 +:10B6F0006D6974202825642900000000496E697472 +:10B70000207061636B657420646F6573206E6F7465 +:10B7100020636F6E7461696E2076616C6964206667 +:10B7200069726D776172652073697A650000000047 +:10B7300030B100680549884205D048F20250704790 +:10B7400048F2015070470020704700006E52464892 +:10B7500070B5FDF7F7FC002811D00020084A094B0E +:10B76000094C0121166801FA00F52E4203D004EBC2 +:10B770008005C5F80036401CC0B20728F2D370BD62 +:10B78000080501403546526E00000140074808494F +:10B7900010B5401AC008032101EB004005A1FCF7D9 +:10B7A00087FFBDE81040FFF7D3BF00008CCF0F002C +:10B7B0008CCF0F00496E7465726E616C2066656592 +:10B7C0006400000000207047002070472DE9FC4114 +:10B7D00080461C4617460E460C48089DF9F71AFE8F +:10B7E00010B11120BDE8FC81A20839463046FDF7B2 +:10B7F0006FF90648F9F705FE33463A4601214046FF +:10B80000CDE90045F9F736F90020EBE7145A00209E +:10B810002DE9F84F114D884681461E461746694668 +:10B82000DDF828A02868F9F7C0FD040013D01C211A +:10B83000F5F71EFE00202071C4F80090C4E90486CC +:10B84000C4E902A769462868F9F7D0FDFFF73CF87C +:10B850000020BDE8F88F0420FBE7000024BC0F00A7 +:10B8600084B7AC5DBA001CCDBE4928F7CBD974446F +:10B870005DA08494DB12A36DB24A17A13D05B938CF +:10B88000DBA4214542101BBFEB09B53367AB911414 +:10B890006DF5F17DD69D178820DFCFEC866407C15A +:10B8A0000338FDD870470D0E0F100B0C181900004F +:10B8B0000338FDD870470000480000000020400019 +:10B8C0000000000009440F0019440F00C1430F009D +:10B8D0002000000000000000000000000000000048 +:10B8E0000100010000000000010000000000000055 +:10B8F000020005000100000022000000000000001E +:10B900000000000000000000000000000000000037 +:10B910000100010000000000010000000000000024 +:10B9200002000500010000004200000000000000CD +:10B930000000000000000000000000000000000007 +:10B94000010011000400FCFF0400000000000000E2 +:10B95000020011000400FCFF0400000000000000D1 +:10B96000030021000400FCFF0400100000000000A0 +:10B97000040011000100FFFF0100000000000000B2 +:10B98000050011000200FEFF04000000000000009E +:10B99000060011000400FCFF04000000000000008D +:10B9A000070011000400FCFF04000000000000007C +:10B9B000080017000200FEFF24000000E0B80F009E +:10B9C000090010000100FFFF01000000DCB80F00BB +:10B9D0000A0027000200FEFF4400030010B90F0018 +:10B9E0000000000000000000000000000000000057 +:10B9F000010011000100FFFF010000000000000035 +:10BA0000020017000200FEFF6401000040B90F00B1 +:10BA10000000000000000000000000000000000026 +:10BA2000010007000000000068010000F0B90F00ED +:10BA30000200010000000000010000000000000002 +:10BA400003000500010000004200000000000000AB +:10BA500000000000000000000000000000000000E6 +:10BA6000010017000400FCFF68010000F0B90F009E +:10BA7000020017000400FCFFAC01000020BA0F0018 +:10BA800000000000000000000000000000000000B6 +:10BA9000001103000011130002000000010000006B +:10BAA0000338FDD870470C000C000000580200005D +:10BAB0000200000000000000020000000000000082 +:10BAC000BC6E002009000000000000000000000023 +:10BAD000010000000000000028000000000000003D +:10BAE0000000000000010000000001000000000054 +:10BAF0000000000000000000000000000000000046 +:10BB000041360F00000000000000000000000000AF +:10BB10000200000000000100000000000000000022 +:10BB2000080000000000000041360F00C99A0F0015 +:10BB30000000000000000000040000000000000001 +:10BB400000000000000000000000000000000000F5 +:10BB500000000000000000000000000000000000E5 +:10BB6000F4000000000000001800000000000000C9 +:10BB700000000000000000000000000000000000C5 +:10BB800000000000000000000000000000000000B5 +:10BB9000170000000000000050EADA308883B89FE8 +:10BBA000604F15F30000C98E020000000000000085 +:10BBB0000000000000000000040000000000000081 +:10BBC0000000000000000000000000000000000075 +:10BBD0000001000000000000000000000000000064 +:10BBE00000000000000000003031323334353637B9 +:10BBF000383941424344454600100000040000002B +:10BC000001000000854E0F00EDB40F00EDA80F00FD +:10BC1000CDB70F00E1490F00C1A90F00C5B70F0054 +:10BC2000A54F0F00D48D002000100000040000007C +:10BC300001000000914E0F00FDB40F00FBA80F00A3 +:10BC400011B80F00294A0F00C5A90F00C9B70F008E +:10BC5000B54F0F00556E6B6E6F776E206572726F09 +:10BC60007220636F64650000000000001CCA0F00B2 +:10BC700001000000C8C80F0002000000BCC60F0091 +:10BC8000030000003CC90F000400000090C90F0031 +:10BC90000500000070C80F00060000000CC80F006F +:10BCA0000700000078C90F000800000084C80F00DA +:10BCB00009000000E8C80F000A00000004CA0F00D5 +:10BCC0000B000000A4C60F000C0000009CC80F0071 +:10BCD0000D0000006CCA0F000E00000068C90F00C4 +:10BCE0000F000000A4C90F0010000000D8C90F0009 +:10BCF0001100000080CA0F001200000054CA0F009B +:10BD000013000000F0C90F008000000024C80F00DD +:10BD10008100000060C70F008200000020C70F00F4 +:10BD20008300000000C70F00840000003CC70F0024 +:10BD30008500000048C80F008600000050C90F00B1 +:10BD400090000000ECC70F0091000000E0C60F005B +:10BD500092000000B0C80F0000820000B8C90F00B8 +:10BD60000182000004C90F000282000020C90F00F8 +:10BD7000008400007CC70F000184000028CA0F0067 +:10BD800002840000C4C70F0003840000A0C70F0096 +:10BD900091820F008F820F0089820F000000000047 +:10BDA0000338FDD870470000D49000207F000000C9 +:10BDB000549100202CD00F0034D00F000000000060 +:10BDC0000000000001000007B4BD0F00C4BD0F005B +:10BDD00008000000ECBD0F00FCBD0F0008000000D3 +:10BDE000FCBD0F000CBE0F00080000004CD00F007F +:10BDF00054D00F0000000000000000003CD00F00F5 +:10BE00004CD00F0000000000000000000000000007 +:10BE100000000000000000000000000024D00F001F +:10BE20002CD00F0000000000000000007859002016 +:10BE30000CBE0F002CBE0F000800000034D00F0015 +:10BE40003CD00F0000000000000000003CBE0F00CE +:10BE50004CBE0F0008000000E59D0F008D9D0F00F7 +:10BE6000359D0F00AB9C0F00B19C0F00699C0F002B +:10BE7000B79C0F00F59C0F00000000000040404000 +:10BE800040404040404041414141414040404040AD +:10BE90004040404040404040404040404005020259 +:10BEA0000202020202020202020202020220202018 +:10BEB0002020202020202002020202020202909074 +:10BEC0009090909010101010101010101010101072 +:10BED00010101010101010100202020202028888C6 +:10BEE00088888888080808080808080808080808D2 +:10BEF00008080808080808080202020240000000BA +:10BF00007DBE0F002E2E5C2E2E5C2E2E5C2E2E5C07 +:10BF10002E2E5C636F6D706F6E656E74735C6C69F2 +:10BF2000627261726965735C626F6F746C6F616479 +:10BF300065725C6E72665F626F6F746C6F61646570 +:10BF4000725F6170705F73746172745F66696E6155 +:10BF50006C2E63002E2E5C2E2E5C2E2E5C2E2E5C04 +:10BF60002E2E5C636F6D706F6E656E74735C6C69A2 +:10BF7000627261726965735C626F6F746C6F616429 +:10BF800065725C6E72665F626F6F746C6F61646520 +:10BF9000725F6466755F74696D6572732E6300000D +:10BFA0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6396 +:10BFB0006F6D706F6E656E74735C6C6962726172C6 +:10BFC0006965735C626F6F746C6F616465725C6EDF +:10BFD00072665F626F6F746C6F616465725F6677C3 +:10BFE0005F61637469766174696F6E2E630000002F +:10BFF00043524320636F6D7075746174696F6E2076 +:10C000006661696C656420666F7220636F70696534 +:10C0100064206170703A20737263206372633A2007 +:10C020003078253038782C20726573206372633A3B +:10C0300020307825303878004120536F667444658D +:10C040007669636520686173206A75737420626520 +:10C05000656E206163746976617465642E2049742D +:10C060002773206C696B656C79207468617420613A +:10C070006E206170706C69636174696F6E2077699E +:10C080006C6C20636F6D6520696D6D6564696174AA +:10C09000656C7900526563656976656420424C453C +:10C0A0005F47415454535F4556545F455843484198 +:10C0B0004E47455F4D54555F5245515545535420A9 +:10C0C00028726571756573743A2025642C20726539 +:10C0D000706C793A202564292E0000002E2E5C2EEB +:10C0E0002E5C2E2E5C2E2E5C2E2E5C636F6D706F80 +:10C0F0006E656E74735C6C69627261726965735CA3 +:10C10000626F6F746C6F616465725C626C655F64B2 +:10C1100066755C6E72665F6466755F626C652E63E1 +:10C12000000000006E72665F6673746F726167650F +:10C130005F777269746528616464723D25702C2094 +:10C140007372633D25702C206C656E3D2564206202 +:10C1500079746573292C2071756575652075736117 +:10C1600067653A20256400004372656174696E67F3 +:10C1700020746865206F626A6563742077697468EB +:10C180002073697A652030782530387820776F758C +:10C190006C64206F766572666C6F77206669726D6D +:10C1A000776172652073697A652E204F66667365C4 +:10C1B000742069732030782530387820616E6420CF +:10C1C0006669726D776172652073697A652069733B +:10C1D000203078253038782E000000002E2E5C2E7E +:10C1E0002E5C2E2E5C2E2E5C2E2E5C636F6D706F7F +:10C1F0006E656E74735C6C69627261726965735CA2 +:10C20000626F6F746C6F616465725C6466755C6E9E +:10C2100072665F6466755F7265715F68616E646C9B +:10C2200065722E6300000000526573657474696E58 +:10C230006720626F6F746C6F6164657220736574E0 +:10C2400074696E67732073696E6365206E656974C7 +:10C25000686572207468652073657474696E6773AD +:10C260002070616765206E6F72207468652062615E +:10C27000636B7570206172652076616C696420283B +:10C28000435243206572726F72292E005265737497 +:10C290006F72696E672073657474696E6773206668 +:10C2A000726F6D206261636B75702073696E636578 +:10C2B000207468652073657474696E67732070619B +:10C2C000676520636F6E74656E747320617265209C +:10C2D000696E76616C6964202843524320657272EE +:10C2E0006F72292E0000000044657374696E6174DA +:10C2F000696F6E2073657474696E6773206172650F +:10C30000206964656E746963616C20746F20736F5B +:10C31000757263652C207772697465206E6F742066 +:10C320006E65656465642E20536B697070696E6715 +:10C330002E0000002E2E5C2E2E5C2E2E5C2E2E5CEF +:10C340002E2E5C636F6D706F6E656E74735C6C69BE +:10C35000627261726965735C626F6F746C6F616445 +:10C3600065725C6466755C6E72665F6466755F7349 +:10C37000657474696E67732E630000002E2E5C2E48 +:10C380002E5C2E2E5C2E2E5C2E2E5C636F6D706FDD +:10C390006E656E74735C6C69627261726965735C00 +:10C3A000626F6F746C6F616465725C6466755C6EFD +:10C3B00072665F6466755F7574696C732E630000E6 +:10C3C0004D616A6F722053442075706461746520FA +:10C3D000627574206E6F20424C2E2041626F727421 +:10C3E00020746F2061766F696420696E636170618B +:10C3F0006369746174696E672074686520424C2EAD +:10C4000000000000546865206E657720536F6674E5 +:10C41000446576696365206973206F6620612064D6 +:10C420006966666572656E742066616D696C7920F7 +:10C430007468616E207468652070726573656E74CF +:10C4400020536F66744465766963652E20436F6D73 +:10C450007061746962696C6974792063616E6E6F72 +:10C46000742062652067756172616E746565642E03 +:10C4700000000000426F6F742076616C6964617423 +:10C48000696F6E206F6620626F6F746C6F61646598 +:10C4900072206973206E6F7420737570706F727480 +:10C4A000656420616E642077696C6C206265206928 +:10C4B000676E6F7265642E0054686520536F6674F2 +:10C4C0004465766963652073697A6520696E2074B6 +:10C4D000686520696E666F20737472756374206975 +:10C4E0007320746F6F20736D616C6C20636F6D705F +:10C4F0006172656420776974682074686520736967 +:10C500007A65207265706F7274656420696E20743C +:10C51000686520696E697420636F6D6D616E642E4D +:10C520000000000054686520536F667444657669A6 +:10C53000636520646F6573206E6F7420636F6E7423 +:10C5400061696E20746865206D61676963206E752E +:10C550006D626572206964656E74696679696E677B +:10C56000206974206173206120536F66744465767E +:10C570006963652E00000000496E76616C69646134 +:10C5800074696E67206170702062656361757365A0 +:10C5900020697420697320696E636F6D70617469BE +:10C5A000626C6520776974682074686520536F66D3 +:10C5B000744465766963652E000000002E2E5C2EA3 +:10C5C0002E5C2E2E5C2E2E5C2E2E5C636F6D706F9B +:10C5D0006E656E74735C6C69627261726965735CBE +:10C5E000626F6F746C6F616465725C6466755C6EBB +:10C5F00072665F6466755F76616C69646174696FA9 +:10C600006E2E63002E2E5C2E2E5C2E2E5C2E2E5C4B +:10C610002E2E5C636F6D706F6E656E74735C6C69EB +:10C62000627261726965735C626F6F746C6F616472 +:10C6300065725C6466755C6E72665F6466755F7673 +:10C6400065725F76616C69646174696F6E2E6300F8 +:10C650002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C63DF +:10C660006F6D706F6E656E74735C6C69627261720F +:10C670006965735C6578706572696D656E74616C0F +:10C680005F73656374696F6E5F766172735C6E72FF +:10C69000665F73656374696F6E5F697465722E633C +:10C6A000000000004E52465F4552524F525F494EC5 +:10C6B00056414C49445F4441544100004E52465F4C +:10C6C0004552524F525F534F465444455649434595 +:10C6D0005F4E4F545F454E41424C454400000000C0 +:10C6E0004E52465F4552524F525F46454154555255 +:10C6F000455F4E4F545F454E41424C45440000005B +:10C700004E52465F4552524F525F4D555445585F09 +:10C71000554E4C4F434B5F4641494C454400000049 +:10C720004E52465F4552524F525F4D555445585FE9 +:10C730004C4F434B5F4641494C4544004E52465F87 +:10C740004552524F525F4D555445585F434F4E44EA +:10C750005F494E49545F4641494C45440000000042 +:10C760004E52465F4552524F525F4D555445585FA9 +:10C77000494E49545F4641494C4544004E52465F3C +:10C780004552524F525F424C455F495053505F52A1 +:10C79000585F504B545F5452554E434154454400EA +:10C7A0004E52465F4552524F525F424C455F495090 +:10C7B00053505F504545525F52454A4543544544A6 +:10C7C000000000004E52465F4552524F525F424CAD +:10C7D000455F495053505F4C494E4B5F444953436A +:10C7E0004F4E4E4543544544000000004E52465FB4 +:10C7F0004552524F525F4150495F4E4F545F494D31 +:10C80000504C454D454E5445440000004E52465F45 +:10C810004552524F525F4E4F545F535550504F52F6 +:10C82000544544004E52465F4552524F525F4D4F61 +:10C8300044554C455F4E4F545F494E495449414C15 +:10C84000495A4544000000004E52465F4552524F3F +:10C85000525F4D4F44554C455F414C524541445900 +:10C860005F494E495449414C495A45440000000033 +:10C870004E52465F4552524F525F4E4F545F464FA5 +:10C88000554E44004E52465F4552524F525F494EFC +:10C8900056414C49445F5354415445004E52465F03 +:10C8A0004552524F525F444154415F53495A4500EB +:10C8B0004E52465F4552524F525F494F5F50454E70 +:10C8C00044494E47000000004E52465F4552524FC9 +:10C8D000525F5356435F48414E444C45525F4D4969 +:10C8E0005353494E470000004E52465F4552524F47 +:10C8F000525F494E56414C49445F4C454E4754485F +:10C90000000000004E52465F4552524F525F445263 +:10C91000565F5457495F4552525F414E41434B0069 +:10C920004E52465F4552524F525F4452565F5457E3 +:10C93000495F4552525F444E41434B004E52465F61 +:10C940004552524F525F494E5445524E414C0000A1 +:10C950004E52465F4552524F525F53544F524147D9 +:10C96000455F46554C4C00004E52465F4552524F73 +:10C97000525F4E554C4C00004E52465F4552524F4E +:10C98000525F494E56414C49445F504152414D001F +:10C990004E52465F4552524F525F4E4F5F4D454D8E +:10C9A000000000004E52465F4552524F525F464FC4 +:10C9B0005242494444454E004E52465F4552524F02 +:10C9C000525F4452565F5457495F4552525F4F562B +:10C9D000455252554E0000004E52465F4552524F4E +:10C9E000525F494E56414C49445F41444452000015 +:10C9F0004E52465F4552524F525F5245534F555229 +:10CA0000434553004E52465F4552524F525F494E86 +:10CA100056414C49445F464C414753004E52465F95 +:10CA200053554343455353004E52465F4552524F70 +:10CA3000525F424C455F495053505F4348414E4E10 +:10CA4000454C5F414C52454144595F455849535408 +:10CA5000530000004E52465F4552524F525F434FC3 +:10CA60004E4E5F434F554E54000000004E52465FFD +:10CA70004552524F525F54494D454F5554000000A6 +:10CA80004E52465F4552524F525F42555359000035 +:10CA90002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C639B +:10CAA0006F6D706F6E656E74735C6C6962726172CB +:10CAB0006965735C6C6F675C7372635C6E72665FF2 +:10CAC0006C6F675F64656661756C745F6261636BF0 +:10CAD000656E64732E6300007761726E696E670025 +:10CAE00064656275670000001B5B313B33306D008D +:10CAF0001B5B306D000000001B5B313B33316D0070 +:10CB00001B5B313B33326D001B5B313B33336D00BC +:10CB10001B5B313B33346D001B5B313B33356D00A8 +:10CB20001B5B313B33366D001B5B313B33376D0094 +:10CB3000696E666F000000006572726F720000001F +:10CB40002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C63EA +:10CB50006F6D706F6E656E74735C6C69627261721A +:10CB60006965735C6578706572696D656E74616C1A +:10CB70005F73656374696F6E5F766172735C6E720A +:10CB8000665F73656374696F6E5F697465722E6842 +:10CB90000000000073645F626C655F6366675F73CB +:10CBA000657428292072657475726E65642025731A +:10CBB000207768656E20617474656D7074696E6746 +:10CBC00020746F2073657420424C455F4741545474 +:10CBD000535F4346475F534552564943455F434879 +:10CBE000414E4745442E000073645F626C655F638D +:10CBF00066675F73657428292072657475726E6547 +:10CC000064202573207768656E20617474656D708B +:10CC100074696E6720746F2073657420424C455FA1 +:10CC2000434F4D4D4F4E5F4346475F56535F5555FB +:10CC300049442E0073645F626C655F6366675F736F +:10CC4000657428292072657475726E656420257379 +:10CC5000207768656E20617474656D7074696E67A5 +:10CC600020746F2073657420424C455F47415454D3 +:10CC7000535F4346475F415454525F5441425F53B0 +:10CC8000495A452E0000000073645F626C655F6363 +:10CC900066675F73657428292072657475726E65A6 +:10CCA00064202573207768656E20617474656D70EB +:10CCB00074696E6720746F2073657420424C455F01 +:10CCC000434F4E4E5F4346475F4741502E000000A2 +:10CCD00073645F626C655F6366675F736574282960 +:10CCE0002072657475726E6564202573207768659F +:10CCF0006E20617474656D7074696E6720746F2046 +:10CD000073657420424C455F4741505F4346475F1F +:10CD1000524F4C455F434F554E542E0073645F6233 +:10CD20006C655F6366675F7365742829207265743C +:10CD300075726E6564202573207768656E20617456 +:10CD400074656D7074696E6720746F2073657420EC +:10CD5000424C455F434F4E4E5F4346475F47415409 +:10CD6000542E00006E72665F626F6F746C6F616448 +:10CD700065725F77647400006E72665F6466755FEB +:10CD8000626C65006E72665F6466755F666C617387 +:10CD9000680000006E72665F6466755F7265715F41 +:10CDA00068616E646C6572006E72665F6466755F62 +:10CDB00073657474696E6773000000006E72665F5D +:10CDC0006466755F73657474696E67735F737663A9 +:10CDD000690000006E72665F6466755F76616C69FB +:10CDE000646174696F6E00006E72665F6466755F81 +:10CDF0007665725F76616C69646174696F6E00005C +:10CE00006D656D5F6D6E6772000000006E72665F2B +:10CE10006673746F72616765000000007274745FFE +:10CE20006C6F675F6261636B656E64006170700058 +:10CE30006E72665F736468006E72665F7364685FCB +:10CE4000626C65006E72665F7364685F736F630027 +:10CE5000020000000000000019290F00C5280F0083 +:10CE600067E6096A85AE67BB72F36E3C3AF54FA57B +:10CE70007F520E518C68059BABD9831F19CDE05BA7 +:10CE8000FFFFFFFFFFFFFFFFFFFFFFFF00000000AE +:10CE9000000000000000000001000000FFFFFFFF95 +:10CEA000FCFFFFFFFFFFFFFFFFFFFFFF0000000091 +:10CEB000000000000000000001000000FFFFFFFF75 +:10CEC000512563FCC2CAB9F3849E17A7ADFAE6BC2C +:10CED000FFFFFFFFFFFFFFFF00000000FFFFFFFF5E +:10CEE0000000000096C298D84539A1F4A033EB2D7C +:10CEF000817D0377F240A463E5E6BCF847422CE16C +:10CF0000F2D1176BF551BF376840B6CBCE5E316BAF +:10CF10005733CE2B169E0F7C4AEBE78E9B7F1AFE73 +:10CF2000E242E34FFFFFFFFF7F00000080000000B0 +:10CF30000000000000000000FFFFFFFF7F00000076 +:10CF400080000000000000000000000060D00F0022 +:10CF50007859002024010000B22D0F0084D10F0069 +:10CF60009C5A00207C970000C22D0F007D440F00CA +:10CF7000B5440F003D380F0061370F0090BD0F0022 +:10CF8000000000001CCE0F00245A002064CD0F00CA +:10CF90000000040478CD0F000000040484CD0F00CD +:10CFA0000000040494CD0F0000000404A8CD0F007D +:10CFB00000000404BCCD0F0000000404D4CD0F0019 +:10CFC00000000404E8CD0F000000040400CE0F00B0 +:10CFD000000000000CCE0F00000004042CCE0F0057 +:10CFE0000000040430CE0F000000030338CE0F0011 +:10CFF0000000030344CE0F0000000303D0590020BB +:10D000000C6F00201D6F0020206F0020F400000036 +:10D01000385A0020305A0020385A0020149000203E +:10D020001800000031390F0000000000117F0F00D0 +:10D0300000000000497F0F0000000000B18D0F00CC +:10D04000000000003D8F0F0000000000297F0F004E +:10D05000000000000000000003000000656C0F00ED +:10D0600000000000000000000000000000000000C0 +:10D0700094590020A4590020000000000000000086 +:10D0800000000000000000000000000000000000A0 +:10D09000000000000000000001000000000000008F +:10D0A0000000000000000000FF00FFFF0000000083 +:10D0B0000000000000000000000000000000000070 +:10D0C000000000000000000001000000000000005F +:10D0D000000000000000000000E00F000000000061 +:10D0E0000000000000000000000000000000000040 +:10D0F0000000000000000000000000000000000030 +:10D10000000000000000000000000000000000001F +:10D11000FF000000FF03000000000000000000000E +:10D1200000000000000000000000000000000000FF +:10D130000000000038CB0F00D8CA0F0030CB0F0022 +:10D14000E0CA0F00F0CA0F00E8CA0F00F8CA0F00CB +:10D1500000CB0F0008CB0F0010CB0F0018CB0F0037 +:10D1600020CB0F0028CB0F00000000000090D00360 +:10D17000000000000000000005480F000010000043 +:04D18000000010009B +:020000041000EA +:0810140000100F0000E00F00C6 +:00000001FF diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10056_debug.ewd b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10056_debug.ewd new file mode 100644 index 0000000..485fb2b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10056_debug.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52840_xxaa_s140 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10056_debug.ewp b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10056_debug.ewp new file mode 100644 index 0000000..edb92ff --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10056_debug.ewp @@ -0,0 +1,1174 @@ + + + + + 2 + nrf52840_xxaa_s140 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + nRF_Crypto backend CC310_BL + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_Segger_RTT + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_IAR.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52840.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52840.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nrf_cc310_bl + $PROJ_DIR$\..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\libnrf_cc310_bl_0.9.13.a + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..ff5a07d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0xf1000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0xf1000; +define symbol __ICFEDIT_region_ROM_end__ = 0xfdfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20005978; +define symbol __ICFEDIT_region_RAM_end__ = 0x2003ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x000FF000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x000FE000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/ses/flash_placement.xml new file mode 100644 index 0000000..abc010d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/ses/flash_placement.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10056_debug.emProject b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10056_debug.emProject new file mode 100644 index 0000000..5d3631e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10056_debug.emProject @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10056_debug.emSession b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10056_debug.emSession new file mode 100644 index 0000000..9d132bd --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10056_debug.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10056_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056.uvoptx new file mode 100644 index 0000000..ffcee14 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52840_xxaa_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52840_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52840_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10056_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056.uvprojx new file mode 100644 index 0000000..3f54e7e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056.uvprojx @@ -0,0 +1,1343 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52840_xxaa_mbr + 0x4 + ARM-ADS + + nRF52840_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x100000) IRAM(0x20000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52840.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52840_xxaa_mbr + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x40000 + + + 1 + 0x0 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0xf8000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x3fff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DFLOAT_ABI_HARD,-DMBR_PRESENT,-DNRF52840_XXAA,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0 + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend CC310_BL + + cc310_bl_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + cc310_bl_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + cc310_bl_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + cc310_bl_backend_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + cc310_bl_backend_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_serial_uart.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + nrf_cc310_bl + + nrf_cc310_bl_0.9.13.lib + 4 + ..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\nrf_cc310_bl_0.9.13.lib + + + flash_mbr + 0x4 + ARM-ADS + + nRF52840_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x100000) IRAM(0x20000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52840.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\mbr\hex\ + mbr_nrf52_2.4.1_mbr.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x40000 + + + 1 + 0x0 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0xf8000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x3fff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DFLOAT_ABI_HARD,-DMBR_PRESENT,-DNRF52840_XXAA,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0 + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend CC310_BL + + cc310_bl_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + cc310_bl_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + cc310_bl_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + cc310_bl_backend_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + cc310_bl_backend_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_serial_uart.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + nrf_cc310_bl + + nrf_cc310_bl_0.9.13.lib + 4 + ..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\nrf_cc310_bl_0.9.13.lib + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10056_uart/armgcc/Makefile new file mode 100644 index 0000000..f6f442b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart/armgcc/Makefile @@ -0,0 +1,237 @@ +PROJECT_NAME := secure_bootloader_uart_mbr_pca10056 +TARGETS := nrf52840_xxaa_mbr +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52840_xxaa_mbr.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52840.S \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52840.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_init.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_shared.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/slip/slip.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_uart.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_nvic.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_soc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/prs/nrfx_prs.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uart.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uarte.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial_uart.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu \ + $(SDK_ROOT)/external/nrf_cc310_bl/include \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/mbr/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/libraries/slip \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/external/nrf_cc310/include \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/mutex \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/nrf_cc310_bl/lib/cortex-m4/hard-float/libnrf_cc310_bl_0.9.13.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBOARD_PCA10056 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DMBR_PRESENT +CFLAGS += -DNRF52840_XXAA +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBOARD_PCA10056 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DMBR_PRESENT +ASMFLAGS += -DNRF52840_XXAA +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52840_xxaa_mbr: CFLAGS += -D__HEAP_SIZE=0 +nrf52840_xxaa_mbr: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52840_xxaa_mbr + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52840_xxaa_mbr + @echo flash_mbr + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_mbr erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52840_xxaa_mbr.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52840_xxaa_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_mbr: + @echo Flashing: mbr_nrf52_2.4.1_mbr.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/mbr/hex/mbr_nrf52_2.4.1_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10056_uart/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..d68955b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,120 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0xf8000, LENGTH = 0x6000 + RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x3fff8 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x000FF000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x000FE000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10056_uart/config/sdk_config.h new file mode 100644 index 0000000..3f28a09 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart/config/sdk_config.h @@ -0,0 +1,5158 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <32=> 32 (P1.0) +// <33=> 33 (P1.1) +// <34=> 34 (P1.2) +// <35=> 35 (P1.3) +// <36=> 36 (P1.4) +// <37=> 37 (P1.5) +// <38=> 38 (P1.6) +// <39=> 39 (P1.7) +// <40=> 40 (P1.8) +// <41=> 41 (P1.9) +// <42=> 42 (P1.10) +// <43=> 43 (P1.11) +// <44=> 44 (P1.12) +// <45=> 45 (P1.13) +// <46=> 46 (P1.14) +// <47=> 47 (P1.15) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 0 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 0 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nrf_dfu_serial_uart - UART DFU transport + +//========================================================== +// NRF_DFU_SERIAL_UART_USES_HWFC - HWFC configuration + + +#ifndef NRF_DFU_SERIAL_UART_USES_HWFC +#define NRF_DFU_SERIAL_UART_USES_HWFC 1 +#endif + +// NRF_DFU_SERIAL_UART_RX_BUFFERS - Number of RX buffers. +// Number of buffers depends on flash access vs. +// transport throughtput. If value is too low it may lead +// to received packets being dropped. + +#ifndef NRF_DFU_SERIAL_UART_RX_BUFFERS +#define NRF_DFU_SERIAL_UART_RX_BUFFERS 3 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// NRFX_PRS_ENABLED - nrfx_prs - Peripheral Resource Sharing module +//========================================================== +#ifndef NRFX_PRS_ENABLED +#define NRFX_PRS_ENABLED 1 +#endif +// NRFX_PRS_BOX_0_ENABLED - Enables box 0 in the module. + + +#ifndef NRFX_PRS_BOX_0_ENABLED +#define NRFX_PRS_BOX_0_ENABLED 0 +#endif + +// NRFX_PRS_BOX_1_ENABLED - Enables box 1 in the module. + + +#ifndef NRFX_PRS_BOX_1_ENABLED +#define NRFX_PRS_BOX_1_ENABLED 0 +#endif + +// NRFX_PRS_BOX_2_ENABLED - Enables box 2 in the module. + + +#ifndef NRFX_PRS_BOX_2_ENABLED +#define NRFX_PRS_BOX_2_ENABLED 0 +#endif + +// NRFX_PRS_BOX_3_ENABLED - Enables box 3 in the module. + + +#ifndef NRFX_PRS_BOX_3_ENABLED +#define NRFX_PRS_BOX_3_ENABLED 0 +#endif + +// NRFX_PRS_BOX_4_ENABLED - Enables box 4 in the module. + + +#ifndef NRFX_PRS_BOX_4_ENABLED +#define NRFX_PRS_BOX_4_ENABLED 1 +#endif + +// NRFX_PRS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PRS_CONFIG_LOG_ENABLED +#define NRFX_PRS_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PRS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PRS_CONFIG_LOG_LEVEL +#define NRFX_PRS_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PRS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_INFO_COLOR +#define NRFX_PRS_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PRS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_DEBUG_COLOR +#define NRFX_PRS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UARTE_ENABLED - nrfx_uarte - UARTE peripheral driver +//========================================================== +#ifndef NRFX_UARTE_ENABLED +#define NRFX_UARTE_ENABLED 1 +#endif +// NRFX_UARTE0_ENABLED - Enable UARTE0 instance +#ifndef NRFX_UARTE0_ENABLED +#define NRFX_UARTE0_ENABLED 0 +#endif + +// NRFX_UARTE1_ENABLED - Enable UARTE1 instance +#ifndef NRFX_UARTE1_ENABLED +#define NRFX_UARTE1_ENABLED 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_HWFC +#define NRFX_UARTE_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_PARITY +#define NRFX_UARTE_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <8388608=> 31250 baud +// <10289152=> 38400 baud +// <15007744=> 56000 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UARTE_CONFIG_LOG_ENABLED +#define NRFX_UARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UARTE_CONFIG_LOG_LEVEL +#define NRFX_UARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_INFO_COLOR +#define NRFX_UARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_DEBUG_COLOR +#define NRFX_UARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UART_ENABLED - nrfx_uart - UART peripheral driver +//========================================================== +#ifndef NRFX_UART_ENABLED +#define NRFX_UART_ENABLED 1 +#endif +// NRFX_UART0_ENABLED - Enable UART0 instance +#ifndef NRFX_UART0_ENABLED +#define NRFX_UART0_ENABLED 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UART_DEFAULT_CONFIG_HWFC +#define NRFX_UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UART_DEFAULT_CONFIG_PARITY +#define NRFX_UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3866624=> 14400 baud +// <5152768=> 19200 baud +// <7729152=> 28800 baud +// <8388608=> 31250 baud +// <10309632=> 38400 baud +// <15007744=> 56000 baud +// <15462400=> 57600 baud +// <20615168=> 76800 baud +// <30924800=> 115200 baud +// <61845504=> 230400 baud +// <67108864=> 250000 baud +// <123695104=> 460800 baud +// <247386112=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UART_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UART_DEFAULT_CONFIG_BAUDRATE 30924800 +#endif + +// NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UART_CONFIG_LOG_ENABLED +#define NRFX_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UART_CONFIG_LOG_LEVEL +#define NRFX_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_INFO_COLOR +#define NRFX_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_DEBUG_COLOR +#define NRFX_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver - legacy layer +//========================================================== +#ifndef UART_ENABLED +#define UART_ENABLED 1 +#endif +// UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef UART_DEFAULT_CONFIG_HWFC +#define UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef UART_DEFAULT_CONFIG_PARITY +#define UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef UART_DEFAULT_CONFIG_BAUDRATE +#define UART_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// UART_EASY_DMA_SUPPORT - Driver supporting EasyDMA + + +#ifndef UART_EASY_DMA_SUPPORT +#define UART_EASY_DMA_SUPPORT 1 +#endif + +// UART_LEGACY_SUPPORT - Driver supporting Legacy mode + + +#ifndef UART_LEGACY_SUPPORT +#define UART_LEGACY_SUPPORT 0 +#endif + +// UART0_ENABLED - Enable UART0 instance +//========================================================== +#ifndef UART0_ENABLED +#define UART0_ENABLED 1 +#endif +// UART0_CONFIG_USE_EASY_DMA - Default setting for using EasyDMA + + +#ifndef UART0_CONFIG_USE_EASY_DMA +#define UART0_CONFIG_USE_EASY_DMA 1 +#endif + +// + +// UART1_ENABLED - Enable UART1 instance +//========================================================== +#ifndef UART1_ENABLED +#define UART1_ENABLED 0 +#endif +// + +// + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// SLIP_ENABLED - slip - SLIP encoding and decoding + + +#ifndef SLIP_ENABLED +#define SLIP_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 0 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 0 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 0 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10056_uart/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..9616310 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0xf8000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0xf8000; +define symbol __ICFEDIT_region_ROM_end__ = 0xfdfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000008; +define symbol __ICFEDIT_region_RAM_end__ = 0x2003ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x000FF000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x000FE000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart/iar/secure_bootloader_uart_mbr_pca10056.ewd b/2.ble_app_dfu/secure_bootloader/pca10056_uart/iar/secure_bootloader_uart_mbr_pca10056.ewd new file mode 100644 index 0000000..1990865 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart/iar/secure_bootloader_uart_mbr_pca10056.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52840_xxaa_mbr + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart/iar/secure_bootloader_uart_mbr_pca10056.ewp b/2.ble_app_dfu/secure_bootloader/pca10056_uart/iar/secure_bootloader_uart_mbr_pca10056.ewp new file mode 100644 index 0000000..12d949c --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart/iar/secure_bootloader_uart_mbr_pca10056.ewp @@ -0,0 +1,1146 @@ + + + + + 2 + nrf52840_xxaa_mbr + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + nRF_Crypto backend CC310_BL + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\slip\slip.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52840.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52840.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_Serial_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + nrf_cc310_bl + $PROJ_DIR$\..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\libnrf_cc310_bl_0.9.13.a + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10056_uart/ses/flash_placement.xml new file mode 100644 index 0000000..5d3cbaf --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart/ses/flash_placement.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart/ses/secure_bootloader_uart_mbr_pca10056.emProject b/2.ble_app_dfu/secure_bootloader/pca10056_uart/ses/secure_bootloader_uart_mbr_pca10056.emProject new file mode 100644 index 0000000..3aade8a --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart/ses/secure_bootloader_uart_mbr_pca10056.emProject @@ -0,0 +1,149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart/ses/secure_bootloader_uart_mbr_pca10056.emSession b/2.ble_app_dfu/secure_bootloader/pca10056_uart/ses/secure_bootloader_uart_mbr_pca10056.emSession new file mode 100644 index 0000000..55d99a3 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart/ses/secure_bootloader_uart_mbr_pca10056.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10056_debug.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10056_debug.uvoptx new file mode 100644 index 0000000..ffcee14 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10056_debug.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52840_xxaa_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52840_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52840_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10056_debug.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10056_debug.uvprojx new file mode 100644 index 0000000..01c929f --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/arm5_no_packs/secure_bootloader_uart_mbr_pca10056_debug.uvprojx @@ -0,0 +1,1391 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52840_xxaa_mbr + 0x4 + ARM-ADS + + nRF52840_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x100000) IRAM(0x20000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52840.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52840_xxaa_mbr + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x40000 + + + 1 + 0x0 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0xe4000 + 0x1a000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x3fff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DFLOAT_ABI_HARD,-DMBR_PRESENT,-DNRF52840_XXAA,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0 + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend CC310_BL + + cc310_bl_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + cc310_bl_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + cc310_bl_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + cc310_bl_backend_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + cc310_bl_backend_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_serial_uart.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + nrf_log_backend_uart.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_uart.c + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + nrf_cc310_bl + + nrf_cc310_bl_0.9.13.lib + 4 + ..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\nrf_cc310_bl_0.9.13.lib + + + flash_mbr + 0x4 + ARM-ADS + + nRF52840_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x100000) IRAM(0x20000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52840.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\mbr\hex\ + mbr_nrf52_2.4.1_mbr.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x40000 + + + 1 + 0x0 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0xe4000 + 0x1a000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x3fff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DFLOAT_ABI_HARD,-DMBR_PRESENT,-DNRF52840_XXAA,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0 + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend CC310_BL + + cc310_bl_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + cc310_bl_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + cc310_bl_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + cc310_bl_backend_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + cc310_bl_backend_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_serial_uart.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + nrf_log_backend_uart.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_uart.c + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + nrf_cc310_bl + + nrf_cc310_bl_0.9.13.lib + 4 + ..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\nrf_cc310_bl_0.9.13.lib + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/armgcc/Makefile new file mode 100644 index 0000000..b4bf793 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/armgcc/Makefile @@ -0,0 +1,249 @@ +PROJECT_NAME := secure_bootloader_uart_mbr_pca10056_debug +TARGETS := nrf52840_xxaa_mbr +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52840_xxaa_mbr.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52840.S \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_uart.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52840.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_init.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_shared.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/slip/slip.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_uart.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_nvic.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_soc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/prs/nrfx_prs.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uart.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uarte.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial_uart.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu \ + $(SDK_ROOT)/external/nrf_cc310_bl/include \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/mbr/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/libraries/slip \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/external/nrf_cc310/include \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/mutex \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/nrf_cc310_bl/lib/cortex-m4/hard-float/libnrf_cc310_bl_0.9.13.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBOARD_PCA10056 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DMBR_PRESENT +CFLAGS += -DNRF52840_XXAA +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBOARD_PCA10056 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DMBR_PRESENT +ASMFLAGS += -DNRF52840_XXAA +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52840_xxaa_mbr: CFLAGS += -D__HEAP_SIZE=0 +nrf52840_xxaa_mbr: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52840_xxaa_mbr + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52840_xxaa_mbr + @echo flash_mbr + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_mbr erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52840_xxaa_mbr.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52840_xxaa_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_mbr: + @echo Flashing: mbr_nrf52_2.4.1_mbr.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/mbr/hex/mbr_nrf52_2.4.1_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..a6a890a --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,120 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0xe4000, LENGTH = 0x1a000 + RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x3fff8 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x000FF000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x000FE000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/config/sdk_config.h new file mode 100644 index 0000000..49d9c92 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/config/sdk_config.h @@ -0,0 +1,5286 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <32=> 32 (P1.0) +// <33=> 33 (P1.1) +// <34=> 34 (P1.2) +// <35=> 35 (P1.3) +// <36=> 36 (P1.4) +// <37=> 37 (P1.5) +// <38=> 38 (P1.6) +// <39=> 39 (P1.7) +// <40=> 40 (P1.8) +// <41=> 41 (P1.9) +// <42=> 42 (P1.10) +// <43=> 43 (P1.11) +// <44=> 44 (P1.12) +// <45=> 45 (P1.13) +// <46=> 46 (P1.14) +// <47=> 47 (P1.15) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 0 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 0 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nrf_dfu_serial_uart - UART DFU transport + +//========================================================== +// NRF_DFU_SERIAL_UART_USES_HWFC - HWFC configuration + + +#ifndef NRF_DFU_SERIAL_UART_USES_HWFC +#define NRF_DFU_SERIAL_UART_USES_HWFC 1 +#endif + +// NRF_DFU_SERIAL_UART_RX_BUFFERS - Number of RX buffers. +// Number of buffers depends on flash access vs. +// transport throughtput. If value is too low it may lead +// to received packets being dropped. + +#ifndef NRF_DFU_SERIAL_UART_RX_BUFFERS +#define NRF_DFU_SERIAL_UART_RX_BUFFERS 3 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// NRFX_PRS_ENABLED - nrfx_prs - Peripheral Resource Sharing module +//========================================================== +#ifndef NRFX_PRS_ENABLED +#define NRFX_PRS_ENABLED 1 +#endif +// NRFX_PRS_BOX_0_ENABLED - Enables box 0 in the module. + + +#ifndef NRFX_PRS_BOX_0_ENABLED +#define NRFX_PRS_BOX_0_ENABLED 0 +#endif + +// NRFX_PRS_BOX_1_ENABLED - Enables box 1 in the module. + + +#ifndef NRFX_PRS_BOX_1_ENABLED +#define NRFX_PRS_BOX_1_ENABLED 0 +#endif + +// NRFX_PRS_BOX_2_ENABLED - Enables box 2 in the module. + + +#ifndef NRFX_PRS_BOX_2_ENABLED +#define NRFX_PRS_BOX_2_ENABLED 0 +#endif + +// NRFX_PRS_BOX_3_ENABLED - Enables box 3 in the module. + + +#ifndef NRFX_PRS_BOX_3_ENABLED +#define NRFX_PRS_BOX_3_ENABLED 0 +#endif + +// NRFX_PRS_BOX_4_ENABLED - Enables box 4 in the module. + + +#ifndef NRFX_PRS_BOX_4_ENABLED +#define NRFX_PRS_BOX_4_ENABLED 1 +#endif + +// NRFX_PRS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PRS_CONFIG_LOG_ENABLED +#define NRFX_PRS_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PRS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PRS_CONFIG_LOG_LEVEL +#define NRFX_PRS_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PRS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_INFO_COLOR +#define NRFX_PRS_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PRS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_DEBUG_COLOR +#define NRFX_PRS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UARTE_ENABLED - nrfx_uarte - UARTE peripheral driver +//========================================================== +#ifndef NRFX_UARTE_ENABLED +#define NRFX_UARTE_ENABLED 1 +#endif +// NRFX_UARTE0_ENABLED - Enable UARTE0 instance +#ifndef NRFX_UARTE0_ENABLED +#define NRFX_UARTE0_ENABLED 0 +#endif + +// NRFX_UARTE1_ENABLED - Enable UARTE1 instance +#ifndef NRFX_UARTE1_ENABLED +#define NRFX_UARTE1_ENABLED 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_HWFC +#define NRFX_UARTE_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_PARITY +#define NRFX_UARTE_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <8388608=> 31250 baud +// <10289152=> 38400 baud +// <15007744=> 56000 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UARTE_CONFIG_LOG_ENABLED +#define NRFX_UARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UARTE_CONFIG_LOG_LEVEL +#define NRFX_UARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_INFO_COLOR +#define NRFX_UARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_DEBUG_COLOR +#define NRFX_UARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UART_ENABLED - nrfx_uart - UART peripheral driver +//========================================================== +#ifndef NRFX_UART_ENABLED +#define NRFX_UART_ENABLED 1 +#endif +// NRFX_UART0_ENABLED - Enable UART0 instance +#ifndef NRFX_UART0_ENABLED +#define NRFX_UART0_ENABLED 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UART_DEFAULT_CONFIG_HWFC +#define NRFX_UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UART_DEFAULT_CONFIG_PARITY +#define NRFX_UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3866624=> 14400 baud +// <5152768=> 19200 baud +// <7729152=> 28800 baud +// <8388608=> 31250 baud +// <10309632=> 38400 baud +// <15007744=> 56000 baud +// <15462400=> 57600 baud +// <20615168=> 76800 baud +// <30924800=> 115200 baud +// <61845504=> 230400 baud +// <67108864=> 250000 baud +// <123695104=> 460800 baud +// <247386112=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UART_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UART_DEFAULT_CONFIG_BAUDRATE 30924800 +#endif + +// NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UART_CONFIG_LOG_ENABLED +#define NRFX_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UART_CONFIG_LOG_LEVEL +#define NRFX_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_INFO_COLOR +#define NRFX_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_DEBUG_COLOR +#define NRFX_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver - legacy layer +//========================================================== +#ifndef UART_ENABLED +#define UART_ENABLED 1 +#endif +// UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef UART_DEFAULT_CONFIG_HWFC +#define UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef UART_DEFAULT_CONFIG_PARITY +#define UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef UART_DEFAULT_CONFIG_BAUDRATE +#define UART_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// UART_EASY_DMA_SUPPORT - Driver supporting EasyDMA + + +#ifndef UART_EASY_DMA_SUPPORT +#define UART_EASY_DMA_SUPPORT 1 +#endif + +// UART_LEGACY_SUPPORT - Driver supporting Legacy mode + + +#ifndef UART_LEGACY_SUPPORT +#define UART_LEGACY_SUPPORT 0 +#endif + +// UART0_ENABLED - Enable UART0 instance +//========================================================== +#ifndef UART0_ENABLED +#define UART0_ENABLED 1 +#endif +// UART0_CONFIG_USE_EASY_DMA - Default setting for using EasyDMA + + +#ifndef UART0_CONFIG_USE_EASY_DMA +#define UART0_CONFIG_USE_EASY_DMA 1 +#endif + +// + +// UART1_ENABLED - Enable UART1 instance +//========================================================== +#ifndef UART1_ENABLED +#define UART1_ENABLED 0 +#endif +// + +// + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// SLIP_ENABLED - slip - SLIP encoding and decoding + + +#ifndef SLIP_ENABLED +#define SLIP_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_BACKEND_UART_ENABLED - nrf_log_backend_uart - Log UART backend +//========================================================== +#ifndef NRF_LOG_BACKEND_UART_ENABLED +#define NRF_LOG_BACKEND_UART_ENABLED 0 +#endif +// NRF_LOG_BACKEND_UART_TX_PIN - UART TX pin +#ifndef NRF_LOG_BACKEND_UART_TX_PIN +#define NRF_LOG_BACKEND_UART_TX_PIN 6 +#endif + +// NRF_LOG_BACKEND_UART_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRF_LOG_BACKEND_UART_BAUDRATE +#define NRF_LOG_BACKEND_UART_BAUDRATE 30801920 +#endif + +// NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE 64 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 4096 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 4 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 0 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 0 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 0 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 4096 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/hex/license.txt b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/hex/license.txt new file mode 100644 index 0000000..cd3f7e3 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/hex/license.txt @@ -0,0 +1,3 @@ +The provided HEX files were compiled using the projects located in the folders for the respective boards (pca10xxx). + +For license and copyright information, see the individual .c and .h files that are included in the projects. diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/hex/secure_bootloader_uart_mbr_pca10056_debug.hex b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/hex/secure_bootloader_uart_mbr_pca10056_debug.hex new file mode 100644 index 0000000..83dba66 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/hex/secure_bootloader_uart_mbr_pca10056_debug.hex @@ -0,0 +1,3059 @@ +:020000040000FA +:1000000000040020810A000015070000610A0000BA +:100010001F07000029070000330700000000000050 +:10002000000000000000000000000000A50A000021 +:100030003D070000000000004707000051070000D6 +:100040005B070000650700006F07000079070000EC +:10005000830700008D07000097070000A10700003C +:10006000AB070000B5070000BF070000C90700008C +:10007000D3070000DD070000E7070000F1070000DC +:10008000FB070000050800000F0800001908000029 +:10009000230800002D080000370800004108000078 +:1000A0004B080000550800005F08000069080000C8 +:1000B000730800007D080000870800009108000018 +:1000C0009B080000A5080000AF080000B908000068 +:1000D000C3080000CD080000D7080000E1080000B8 +:1000E000EB080000F5080000FF0800000909000007 +:1000F000130900001D090000270900003109000054 +:100100003B0900001FB500F003F88DE80F001FBD8C +:1001100000F0ACBC40F6FC7108684FF01022401CA7 +:1001200008D00868401C09D00868401C04D0086842 +:1001300000F037BA9069F5E79069F9E7704770B554 +:100140000B46010B184400F6FF70040B4FF0805073 +:100150000022090303692403406943431D1B104621 +:1001600000F048FA29462046BDE8704000F042BA47 +:10017000F0B54FF6FF734FF4B4751A466E1E11E0DA +:10018000A94201D3344600E00C46091B30F8027B3B +:10019000641E3B441A44F9D19CB204EB134394B25D +:1001A00004EB12420029EBD198B200EB134002EBB2 +:1001B000124140EA0140F0BDF34992B00446D1E952 +:1001C0000001CDE91001FF224021684600F0F4FB58 +:1001D00094E80F008DE80F00684610A902E004C8FB +:1001E00041F8042D8842FAD110216846FFF7C0FF7C +:1001F0001090AA208DF8440000F099F9FFF78AFFCB +:1002000040F6FC7420684FF01025401C0FD0206889 +:1002100010226946803000F078F92068401C08D030 +:100220002068082210A900F070F900F061F9A869AF +:10023000EEE7A869F5E74FF080500369406940F6A2 +:10024000FC71434308684FF01022401C06D0086838 +:1002500000F58050834203D2092070479069F7E788 +:100260000868401C04D00868401C03D00020704778 +:100270009069F9E70420704770B504460068C34DE3 +:10028000072876D2DFE800F033041929631E250021 +:10029000D4E9026564682946304600F062F92A46CE +:1002A0002146304600F031F9AA002146304600F0E0 +:1002B00057FB002800D0032070BD00F009FC4FF46C +:1002C000805007E0201D00F040F90028F4D100F034 +:1002D000FFFB60682860002070BD241D94E80700C3 +:1002E000920000F03DFB0028F6D00E2070BDFFF715 +:1002F000A2FF0028FAD1D4E901034FF0805100EBAE +:10030000830208694D69684382420ED840F6F8704E +:1003100005684FF010226D1C09D0056805EB8305B8 +:100320000B6949694B439D4203D9092070BD55694A +:10033000F4E70168491C03D00068401C02D003E0C8 +:100340005069FAE70F2070BD2046FFF735FFFFF731 +:1003500072FF0028F7D1201D00F0F7F80028F2D135 +:1003600060680028F0D100F0E2F8FFF7D3FE00F05B +:10037000BFF8072070BD10B50C46182802D0012028 +:10038000086010BD2068FFF777FF206010BD41684E +:10039000054609B1012700E0002740F6F8742068FF +:1003A0004FF01026401C2BD02068AA68920000F065 +:1003B000D7FA38B3A86881002068401C27D020688D +:1003C000FFF7BDFED7B12068401C22D026684FF051 +:1003D0008050AC686D68016942695143A9420DD9EA +:1003E000016940694143A14208D92146304600F0E5 +:1003F000B8F822462946304600F087F800F078F831 +:100400007069D2E700F093F8FFF784FEF6E77069B1 +:10041000D6E77669DBE740F6FC7420684FF01026DB +:10042000401C23D02068401C0CD02068401C1FD0EA +:100430002568206805F18005401C1BD027683879A5 +:10044000AA2819D040F6F8700168491C42D001680A +:10045000491C45D00168491C3ED001680968491C07 +:100460003ED00168491C39D000683EE0B069DAE747 +:10047000B569DEE7B769E2E710212846FFF778FEA5 +:100480003968814222D12068401C05D0D4F8001080 +:1004900001F18002C03107E0B169F9E730B108CA63 +:1004A00051F8040D984201D1012000E000208A4259 +:1004B000F4D158B1286810B1042803D0FEE72846CB +:1004C000FFF765FF3149686808600EE0FFF722FE1C +:1004D00000F00EF87169BBE77169BFE7706904E06D +:1004E0004FF480500168491C01D000F0CBFAFEE7C0 +:1004F000BFF34F8F26480168264A01F4E06111439B +:100500000160BFF34F8F00BFFDE72DE9F0411746B3 +:100510000D460646002406E03046296800F054F8EF +:10052000641C2D1D361DBC42F6D3BDE8F08140F69B +:10053000FC700168491C04D0D0F800004FF48051D1 +:10054000FDE54FF010208069F8E74FF080510A690F +:10055000496900684A43824201D810207047002050 +:10056000704770B50C4605464FF4806608E0284693 +:1005700000F017F8B44205D3A4F5806405F5805562 +:10058000002CF4D170BD0000F40A0000000000202F +:100590000CED00E00400FA05144801680029FCD0C5 +:1005A0007047134A0221116010490B68002BFCD0E0 +:1005B0000F4B1B1D186008680028FCD0002010603D +:1005C00008680028FCD07047094B10B501221A605A +:1005D000064A1468002CFCD0016010680028FCD08A +:1005E0000020186010680028FCD010BD00E4014015 +:1005F00004E5014070B50C46054600F073F810B9EB +:1006000000F07EF828B121462846BDE8704000F091 +:1006100007B821462846BDE8704000F037B8000012 +:100620007FB5002200920192029203920A0B000B06 +:100630006946012302440AE0440900F01F0651F80C +:10064000245003FA06F6354341F82450401C8242F8 +:10065000F2D80D490868009A10430860081D016827 +:10066000019A1143016000F03DF800280AD00649C4 +:1006700010310868029A10430860091D0868039A3F +:10068000104308607FBD00000006004030B50F4CED +:10069000002200BF04EB0213D3F800582DB9D3F8A1 +:1006A000045815B9D3F808581DB1521C082AF1D3C3 +:1006B00030BD082AFCD204EB0212C2F80008C3F8CD +:1006C00004180220C3F8080830BD000000E0014013 +:1006D0004FF08050D0F83001082801D0002070473A +:1006E000012070474FF08050D0F83011062905D016 +:1006F000D0F83001401C01D0002070470120704725 +:100700004FF08050D0F830010A2801D00020704707 +:100710000120704708208F490968095808471020B0 +:100720008C4909680958084714208A4909680958FA +:100730000847182087490968095808473020854923 +:100740000968095808473820824909680958084744 +:100750003C20804909680958084740207D490968BC +:100760000958084744207B49096809580847482028 +:1007700078490968095808474C207649096809589A +:10078000084750207349096809580847542071499F +:1007900009680958084758206E49096809580847E8 +:1007A0005C206C4909680958084760206949096854 +:1007B00009580847642067490968095808476820AC +:1007C00064490968095808476C2062490968095852 +:1007D000084770205F4909680958084774205D4937 +:1007E00009680958084778205A490968095808478C +:1007F0007C205849096809580847802055490968EC +:10080000095808478420534909680958084788202F +:1008100050490968095808478C204E490968095809 +:10082000084790204B4909680958084794204949CE +:10083000096809580847982046490968095808472F +:100840009C204449096809580847A0204149096883 +:1008500009580847A4203F49096809580847A820B3 +:100860003C49096809580847AC203A4909680958C1 +:100870000847B0203749096809580847B420354966 +:10088000096809580847B8203249096809580847D3 +:10089000BC203049096809580847C0202D4909681B +:1008A00009580847C4202B49096809580847C82037 +:1008B0002849096809580847CC2026490968095879 +:1008C0000847D0202349096809580847D4202149FE +:1008D000096809580847D8201E4909680958084777 +:1008E000DC201C49096809580847E02019490968B3 +:1008F00009580847E4201749096809580847E820BB +:100900001449096809580847EC2012490968095830 +:100910000847F0200F49096809580847F4200D4995 +:10092000096809580847F8200A490968095808471A +:10093000FC2008490968095808475FF48070054998 +:10094000096809580847000003480449024A034B54 +:100950007047000000000020000B0000000B0000AA +:1009600040EA010310B59B070FD1042A0DD310C82C +:1009700008C9121F9C42F8D020BA19BA884201D97E +:10098000012010BD4FF0FF3010BD1AB1D30703D0C6 +:10099000521C07E0002010BD10F8013B11F8014B7C +:1009A0001B1B07D110F8013B11F8014B1B1B01D198 +:1009B000921EF1D1184610BD02F0FF0343EA032254 +:1009C00042EA024200F005B87047704770474FF0A6 +:1009D00000020429C0F0128010F0030C00F01B800C +:1009E000CCF1040CBCF1020F18BF00F8012BA8BF1A +:1009F00020F8022BA1EB0C0100F00DB85FEAC17CDE +:100A000024BF00F8012B00F8012B48BF00F8012B90 +:100A100070474FF0000200B51346944696462039C1 +:100A200022BFA0E80C50A0E80C50B1F12001BFF4A7 +:100A3000F7AF090728BFA0E80C5048BF0CC05DF80D +:100A400004EB890028BF40F8042B08BF704748BF5B +:100A500020F8022B11F0804F18BF00F8012B7047CF +:100A6000014B1B68DB6818470000002009480A4951 +:100A70007047FFF7FBFFFFF745FB00BD20BFFDE719 +:100A8000064B1847064A1060016881F308884068E1 +:100A900000470000000B0000000B000017040000DE +:100AA000000000201EF0040F0CBFEFF30881EFF3ED +:100AB0000981886902380078182803D100E0000015 +:100AC000074A1047074A12682C3212681047000084 +:100AD00000B5054B1B68054A9B58984700BD0000B0 +:100AE0007703000000000020F00A0000040000006E +:100AF000001000000000000000FFFFFF0090D00386 +:02000004000EEC +:1040000028880020F9420E0001430E0003430E00F1 +:1040100005430E0007430E0009430E000000000098 +:104020000000000000000000000000000B430E0034 +:104030000D430E00000000000F430E0011430E0060 +:1040400013430E0013430E00ED5B0E0013430E00EE +:1040500013430E0013430E0013430E0013430E00D0 +:1040600013430E0013430E0013430E0013430E00C0 +:1040700013430E0013430E0013430E0013430E00B0 +:10408000415C0E0013430E0013430E0013430E0059 +:1040900013430E0013430E0013430E0013430E0090 +:1040A00013430E0013430E0013430E0013430E0080 +:1040B00013430E0013430E00000000000000000038 +:1040C00013430E0013430E0013430E0013430E0060 +:1040D0000D590E0013430E0013430E0013430E0040 +:1040E00013430E0013430E0061440E000000000055 +:1040F0000000000013430E000000000013430E00F8 +:1041000000000000000000000000000000000000AF +:10411000000000000000000000000000000000009F +:10412000000000000000000000000000000000008F +:10413000000000000000000000000000000000007F +:10414000000000000000000000000000000000006F +:10415000000000000000000000000000000000005F +:10416000000000000000000000000000000000004F +:10417000000000000000000000000000000000003F +:10418000000000000000000000000000000000002F +:10419000000000000000000000000000000000001F +:1041A000000000000000000000000000000000000F +:1041B00000000000000000000000000000000000FF +:1041C00000000000000000000000000000000000EF +:1041D00000000000000000000000000000000000DF +:1041E00000000000000000000000000000000000CF +:1041F00000000000000000000000000000000000BF +:10420000DFF80CD000F0EEF80048004721760E00F1 +:104210002888002030B4044654E8000F0D4644E8D6 +:104220000053002BF8D1156030BC704730B4044601 +:1042300054E8000F40EA010544E80053002BF7D191 +:10424000156030BC704730B4044654E8000F00EAF3 +:10425000010544E80053002BF7D1156030BC7047CE +:1042600030B4044654E8000F80EA010544E80053E6 +:10427000002BF7D1156030BC704730B4044654E8C9 +:10428000000F00EB010544E80053002BF7D1156047 +:1042900030BC704730B4044654E8000FA0EB010571 +:1042A00044E80053002BF7D1156030BC704770B460 +:1042B00004464FF0000054E8006F0D68AE4207BF9F +:1042C00044E80023012044E800630E60002B1CBF7B +:1042D0000020F0E770BC704730B4044654E8000F8B +:1042E00088422CBF451A054644E80053002BF5D1FF +:1042F000156030BC704700000648804706480047FC +:10430000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE785 +:10431000FEE7FEE7115A0E0001420E00202A04DBE0 +:10432000203A00FA02F1002070479140C2F12003C8 +:1043300020FA03F31943904070470000004870478B +:10434000A4E50E0010B5441A0346944209D284181D +:10435000114403E011F8013D04F8013D521EF9D269 +:1043600010BD40EA0104A40703D009E010C9121FE0 +:1043700010C3042AFAD203E011F8014B03F8014BF1 +:10438000521EF9D210BDD2B201E000F8012B491E35 +:10439000FBD270470022F6E710B513460A460446E2 +:1043A0001946FFF7F0FF204610BD421C10F8011B14 +:1043B0000029FBD1801A704730B50446002003461F +:1043C00000E05B1C934203D2E05CCD5C401BF8D064 +:1043D00030BD034611F8012B00F8012B002AF9D15A +:1043E00018467047064C074D06E0E06840F00103B0 +:1043F00094E8070098471034AC42F6D3FFF704FF67 +:10440000B0F20E00D0F20E0070B58C1810F8015BFF +:1044100015F0070301D110F8013B2A1106D110F85D +:10442000012B03E010F8016B01F8016B5B1EF9D161 +:104430002B0705D40023521E0DD401F8013BFAE7E7 +:1044400010F8013BCB1A921C03E013F8015B01F852 +:10445000015B521EF9D5A142D8D3002070BD0000E7 +:10446000054B4FF0FF321A6053F8042C034B1A60CF +:104470001A68034B1A60704704BA0250244800209F +:1044800008BA025001EB820204388A4201D10020AE +:10449000704752F8043D1BBA40F8043FF5E70000AE +:1044A000354B8EB019461A680092009AD207FAD599 +:1044B000324B334A1A600A680192019AD007FAD542 +:1044C000304A1A600A680292029AD207FAD52E4A36 +:1044D0001A600A680392039AD007FAD52B4A1A6029 +:1044E0000A680492049AD207FAD5294A1A600A681F +:1044F0000592059AD007FAD5264A1A600A680692EC +:10450000069AD207FAD5244A1A600A680792079ACF +:10451000D007FAD5214A1A600A680892089AD20789 +:10452000FAD51F4A1A600A680992099AD007FAD583 +:104530001C4A1A600A680A920A9AD207FAD51A4ADD +:104540001A6008680B900B98C007FAD51A600A68C1 +:104550000C920C9AD007FAD5144A1A600A680D9288 +:104560000D9AD207FAD5124A1A600E210D230F2296 +:1045700000200EB000F090BDB0B0025080B00250EC +:104580008043012940633921807001298020542112 +:1045900000D13490C0403490C0302029C0530D90D9 +:1045A00000413890832308C880E31021004138215E +:1045B000CF4308C810B5504B96B01C461A680192FC +:1045C000019AD207FAD54D4B4D4A1A6022680292E1 +:1045D000029AD207FAD54B4A1A604B4A42EA804007 +:1045E00022680392039AD207FAD5186022680492CF +:1045F000049AD007FAD5454A1A60A2F5800242EA29 +:10460000814122680592059AD207FAD5196022687D +:104610000692069AD007FAD53D4A1A602268079298 +:10462000079AD107FAD53B4A1A6022680892089A7D +:10463000D207FAD5384A1A6022680992099AD00737 +:10464000FAD5364A1A6022680A920A9AD107FAD530 +:10465000334A1A6022680B920B9AD207FAD5314A74 +:104660001A6022680C920C9AD007FAD52E4A1A606A +:1046700022680D920D9AD107FAD52C4A1A60226849 +:104680000E920E9AD207FAD5294A1A6022680F9222 +:104690000F9AD007FAD5274A1A602168109110990D +:1046A000C907FAD51A60144B1A4619681191119965 +:1046B000C807FAD5114B2049196011681291129957 +:1046C000C907FAD51D491960116813911399CC07D0 +:1046D000FAD50B491960116814911499C807FAD5D5 +:1046E00017491960116815911599C907FAD5154A26 +:1046F0001A6016B010BD00BFB0B0025080B00250BA +:104700004004419000862929D81001C840144190E6 +:1047100040142129401465210034409000310C9050 +:10472000C0400C90C030202940960D900041609010 +:10473000031645C80086112100416021594644C82E +:104740004014459040142D902DE9F041484B88B01D +:104750001C461D680195019DEF07FAD5454BDFF812 +:1047600020E1454F13449B000A181B681E2A88BF8E +:10477000C0F11E011F330A185B095A43B2F5806F5E +:1047800088BF4FF480614FF0000203F1010588BF3C +:10479000B1FBF3F1944688BF091A25F001058000AA +:1047A000914233DC22680492049AD207FAD5334A44 +:1047B0001268216805910599CF07FAD530482E492E +:1047C0000260002215469A4246D15A1C2A4D1946CB +:1047D00022F0010200268A4241D8216806910699FA +:1047E000CE07FAD52749096825680795079DED0783 +:1047F000FAD50160002120480C46994232D11E4969 +:1048000000209A4231D808B0BDE8F08126680296AF +:10481000029EF607FAD500F1A04606F52C3636685A +:10482000D4F80080CDF80C80DDF80C8018F0010F72 +:10483000F6D0CEF8006000269E4205D11E46B54255 +:1048400006D801320430ABE7C7F800C00136F3E701 +:10485000C7F800C00136F2E70D600132B3E72E6001 +:104860000131B8E704600131C7E708600133C8E7E8 +:10487000B4B0025024AC0014D8B002507CB0025046 +:10488000D4B0025078B00250F0B52A4D85B02C4615 +:104890002E680096009EF707FAD500F1A05000F5AB +:1048A0002C4080000568206801900198C607FAD561 +:1048B000214E2248356002EB8307BA422BD15A1CA5 +:1048C0001E4822F0010200279A4229D82368029349 +:1048D000029BD807FAD51A4B0B449B0018681F306F +:1048E000B2EB501F4FEA501313D221680391039982 +:1048F000C907FAD5154400219B1A104A35600846AD +:104900008B4210D85A1C0D4922F0010200209A4215 +:104910000CD805B0F0BD52F804CBC0F800C0CCE70D +:1049200007600133D0E710600131E9E70860013327 +:10493000EDE700BFB4B00250D4B00250D8B002507E +:1049400024AC001410B5494B94B019461A68009273 +:10495000009AD207FAD5464B464A1A600A68019275 +:10496000019AD407FAD5444A1A600A680292029A58 +:10497000D007FAD5414818600A680392039AD20713 +:10498000FAD53F4A1A600A680492049AD407FAD505 +:104990003C4A1A600A680592059AD207FAD53A4A43 +:1049A0001A600A680692069AD407FAD5374A1A603E +:1049B0000A680792079AD207FAD5354A1A600A6838 +:1049C0000892089AD407FAD5324A1A600A680992FE +:1049D000099AD207FAD5304A1A600A680A920A9AE6 +:1049E000D407FAD52D4A1A600A680B920B9AD2079F +:1049F000FAD52B4A1A600A680C920C9AD407FAD599 +:104A0000284A1A600A680D920D9AD207FAD5264AEA +:104A10001A600A680E920E9AD407FAD5234A1A60D1 +:104A20000A680F920F9AD207FAD5214A1A600F4BE3 +:104A300019461C681094109CE407FAD50C4B1860BA +:104A4000086811901198C407FAD51A600A68129282 +:104A5000129AD007FAD5174A1A600A681392139A65 +:104A6000D207FAD5144A1A6014B010BDB0B0025083 +:104A700080B00250809065210004099040966590B6 +:104A800080806121802008218020649000816190D5 +:104A9000004610210081112100414421802020295D +:104AA000024610C800860921802060214021282963 +:104AB0004096652140962529594614C810B5544B97 +:104AC00098B019461A680192019AD207FAD5514B4B +:104AD000514A1A600A680292029AD407FAD54F4ADC +:104AE0001A600A680392039AD007FAD54C481860F6 +:104AF0000A680492049AD207FAD54A4A1A600A68E8 +:104B00000592059AD407FAD5474A1A600A680692B0 +:104B1000069AD207FAD5454A1A600A680792079A98 +:104B2000D407FAD5424A1A600A680892089AD2074E +:104B3000FAD5404A1A600A680992099AD407FAD548 +:104B40003D4A1A600A680A920A9AD207FAD53B4A85 +:104B50001A600A680B920B9AD407FAD5384A1A6081 +:104B60000A680C920C9AD207FAD5364A1A600A687B +:104B70000D920D9AD407FAD5334A1A600A680E923C +:104B80000E9AD207FAD5314A1A600A680F920F9A24 +:104B9000D407FAD52E4A1A600A681092109AD207E2 +:104BA000FAD52C4A1A601A4B19461C681194119CAC +:104BB000E407FAD5174B1860086812901298C407DA +:104BC000FAD51A600A681392139AD007FAD5124AD6 +:104BD0001A600A681492149AD207FAD51E4A1A600B +:104BE0000A681592159AD407FAD51C4A1A600A6801 +:104BF0001692169AD007FAD5194A1A600A681792BF +:104C0000179AD207FAD5174A1A6018B010BD00BF1C +:104C1000B0B0025080B00250009365210004319082 +:104C2000409665900083612100C3302100C36490E9 +:104C30000081619000461021008111210041442132 +:104C400000C320290C4610C80086312100C3602112 +:104C500040C12829409665210013319040962529AE +:104C6000594614C8400432492DE9F041834B1D6870 +:104C700098682033A0B01E461A680192019AD207A4 +:104C8000FAD57F4C7F4B236033680293029BDF078A +:104C9000FAD57D4B23607D4B1F461A680392039A19 +:104CA000D107FAD57A4B1968C1F3402132680492D2 +:104CB000049AD207FAD5774A22603A680592059A93 +:104CC000D207FAD51A68C2F34022002900F0D18039 +:104CD000002A00F0CE8032680692069AD107FAD5F3 +:104CE0006D4A22603A680792079AD207FAD51A6885 +:104CF000C2F34022316808910899C907FAD567497B +:104D00002160396809910999C907FAD51B68C3F36D +:104D10004023002A00F0AF80002B00F0AC80336805 +:104D20000A930A9BDA07FAD5564B236033680B9334 +:104D30000B9BDB07FAD55A4A226033680C930C9B15 +:104D4000DF07FAD5574B236033680D930D9BD907C6 +:104D5000FAD5554B236033680E930E9BDB07FAD5CB +:104D6000524B236033680F930F9BDF07FAD5504BEC +:104D70002360504B1E46196810911099C907FAD547 +:104D80003F4C4D4B236033681193119BDB07FAD5E1 +:104D90004A4B236033681293129BDF07FAD5484BC6 +:104DA00023603A4B9846196813911399C907FAD5AD +:104DB000324F386033681493149BDB07FAD52260B6 +:104DC00033681593159BD807FAD53E4B236033689B +:104DD0001693169BD907FAD53B4B2360336817937C +:104DE000179BDA07FAD5394B236033681893189B61 +:104DF000DB07FAD5364B236033681993199BD80724 +:104E0000FAD5344B236033681A931A9BD907FAD525 +:104E1000314B236033681B931B9BDA07FAD52F4B6A +:104E2000236000F0D3F908BBD8F800301C931C9B1A +:104E3000DB07F9D53D6033681D931D9BD907FAD573 +:104E4000274B236033681E931E9BDA07FAD5254B48 +:104E50002360D8F800301F931F9BDB07F9D50C4B5C +:104E60001B6813F4805F204B08BF184620B0BDE8D4 +:104E7000F0811E48FAE71E48F8E700BF90B00250E4 +:104E800080B0025000100251C01F7229B4B002500D +:104E900088B00250C0CF0129C01F0E29C03F002991 +:104EA00040010249003184A800001649400108A1D0 +:104EB00080440888B0B00250C044708880077A41AE +:104EC000C0077E4100006A498006164940006E49CD +:104ED00000020021008220214082202180822421A2 +:104EE00040A161A100C861510308F1000108F1006F +:104EF0000208F10008B540B1202801464FF0070232 +:104F000028BF20210020FFF71FFC024B00221A605F +:104F100008BD00BF1CB80250F0B51D6885B001F097 +:104F20001F040DB91F2C25D1154D2E462F68019752 +:104F3000019FFF07FAD500F1A05000F52C4080003A +:104F4000006835680395039DED07FAD50D4D00EB1C +:104F5000611028600C48006802901F2C18BFC943DC +:104F600002980FBF106001F01F0100FA01F11160FB +:104F70000021196010684300C00F136005B0F0BD38 +:104F8000B4B00250E4B00250DCB0025030B51F4B58 +:104F900085B01A46196800910099CC07FAD500F13E +:104FA000A05000F52C408000016813680193019B1C +:104FB000D807FAD5164B174C1B68174D13F11F0075 +:104FC00048BF03F13E0040110138002810DA0023E9 +:104FD0000130400153B1A0F120014FF000421342D3 +:104FE00004D1013888424FEA5202F8D105B030BDF1 +:104FF00013680393039BDB07FAD5431823602B68E0 +:105000000293029B002BE3D10138DEE7B4B00250DB +:10501000ACB00250E4B00250DCB002500A460021AD +:10502000AFF3008038B5A0F12003B3F5426F054619 +:105030002CD88F2826D800F1470300F16604DB0640 +:105040004FEA541400D0013464013F34A409013400 +:1050500011B18C421AD80C46E3004FF48050B0FBDB +:10506000F3F0202828BF202002B11060084B012255 +:105070001A60214600F068F82846214600F088F8BA +:10508000002038BD00F11F046409DDE70148F8E79E +:105090001CB802502221F00070B5264888B00546A1 +:1050A00004680094009CE607FAD52348234C04606A +:1050B000234C44EA83432C680194019CE407FAD50D +:1050C0000360930143EA824242F0104444F4C04436 +:1050D0002B680293029BDE07FAD504602B680393CA +:1050E000039BDB07FAD5174B03608B0143EA814131 +:1050F00041F0104343F4C0432E680496049EF60723 +:10510000FAD503602B680593059BDE07FAD504608A +:1051100041F058412B680693069BDC07FAD50160E5 +:1051200042F058422B680793079BDB07FAD50260D1 +:1051300008B070BDB0B0025080B00250C02102294A +:105140008071009880611890002230B549001346A4 +:10515000023840F6FC75940004F1A04404F52C34A8 +:10516000904202F10102CABF236025605B181E2A2B +:10517000F1D1044A13600B445360034B034A1A6095 +:1051800030BD00BF78B0025084B0025020F80F004C +:105190000C4B18603F3020F03F00890140305860D0 +:1051A0009960D9601961596199610748D9611C33C7 +:1051B00082B002680192019AD207FAD5196002B052 +:1051C000704700BF90B00250B4B002502DE9F041DA +:1051D000012392B0CDE90333624B1E461A68059253 +:1051E000059AD107FAD5604C604B2360604B194695 +:1051F0001A680692069AD207FAD55E4B1A68D70447 +:1052000000F1A88032680792079AD507FAD55A4A62 +:1052100022600A680892089AD007FAD51B68DA0457 +:10522000C3F3003700F198801220FFF7AFFE054668 +:105230001320FFF7ABFE85428CBF12201320FFF72F +:10524000A5FE451EFFF72CF903AB01AA2946122043 +:10525000FFF762FE04AB804602AA29461320FFF73F +:105260005BFE00EB4800022832D003283ED0012824 +:1052700074D133680993099BDB07FAD53F4B236050 +:1052800033680A930A9BD807FAD53D4B23603368ED +:105290000F930F9BD907FAD53A4B236033681093CD +:1052A000109BDA07FAD5384B236033681193119BB2 +:1052B000DB07FAD5354B2360013D25D51023192294 +:1052C00018210020FFF7E8FE384612B0BDE8F08153 +:1052D00033680B930B9BD907FAD52D4B23603368AA +:1052E0000C930C9BDA07FAD52A4BCFE733680D9362 +:1052F0000D9BDB07FAD5284B236033680E930E9B7A +:10530000D807FAD5254BC1E703AB01AA29461220DD +:10531000FFF702FE04AB044602AA29461320FFF75A +:10532000FBFD10EB440402D1FFF7C8FBC4E7FFF715 +:1053300009FB022C08D0032C09D0012C10D1172115 +:105340001620FFF737F9B7E715211420F9E70F21E9 +:105350000E20F6E7124FB7E7124FB5E7124FB3E74B +:10536000124FB1E7B0B0025080B0025000084A516D +:10537000B4B0025088B0025000084E5100065A499D +:1053800040065E49000442410014424940042E494F +:10539000000652494006564900063A4940063E4931 +:1053A0000608F1000708F1000408F1000508F10003 +:1053B000014B1860704700BF08BA0250014B1860DB +:1053C000704700BF04BA0250094BC2431A60043B45 +:1053D00082B01B680193074B019A024204D0064A2F +:1053E0001060186802B0704720BF1A680192F3E796 +:1053F00004BA02502448002008BA0250FEF7A2BFA7 +:10540000FEF7CABF0A460021FEF7C6BF2DE9F743E3 +:1054100005460E461F46114600F058FA044600287D +:1054200040F08280002E00F08380002900F082800E +:10543000202F40F0818005F14404082205F1040981 +:105440002046FFF71FF805F1240808223146484698 +:10545000FFF718F806F1200108224046FFF712F87E +:1054600001A94FF480700197FFF7D8FD002865D19E +:10547000334A4FF48073136001219360314A08234B +:10548000FFF702FA012108462F4A0523FFF7FCF92E +:1054900008234A4601211C20FFF7F6F9082342465B +:1054A00001210320FFF7F0F9224608230121022001 +:1054B000FFF7EAF9254A082301211A20FFF7E4F94A +:1054C000234A052301211B20FFF7DEF9214A082387 +:1054D00001211420FFF7D8F91F4A082301211520C4 +:1054E000FFF7D2F9082305F1640201211620FFF726 +:1054F000CBF9082305F1840201211720FFF7C4F935 +:105500000823164A01210B20FFF7BEF9FFF7ACFB79 +:1055100004460198FFF7EEFC114B002C18BF1C4607 +:10552000A4212846FFF76EFF204603B0BDE8F083B4 +:105530000C4CF9E70C4CF7E70C4CF5E7084CEFE79F +:1055400090B0025024F20E009CF20E00E4F10E0026 +:1055500088F20E0048F20E0068F20E0004F20E000F +:105560008408F0007608F0008008F0008108F00060 +:1055700038B50D460446B0B1A02200210430FFF733 +:105580003FFF95B10822294604F16400FEF77AFF37 +:10559000082205F1200104F18400FEF773FF044B9B +:1055A0002360002038BD0348FCE70348FAE700BF4A +:1055B000DD55AABB7108F0008308F00037B50193F0 +:1055C000069B009304461546FFF7D2FF40B9DDE97C +:1055D00000322946204603B0BDE83040FFF716BF31 +:1055E00003B030BD2DE9FF41144B04460D460FCBEF +:1055F000E84688E80F00204600F078F90746B0B981 +:10560000CDB1636A261D01963BB90123226F636207 +:1056100004F13001404600F081F83346043D243463 +:1056200053F8042B12BAA34245F8042FF8D1384698 +:1056300004B0BDE8F081024FF9E700BFB4F10E00FD +:105640000502F00013B5044670B1043070210190DA +:10565000FFF7D8FE019805492022FFF7CFFE044B43 +:105660002360002002B010BD0248FBE7C4F10E0029 +:10567000DD55AABB0002F0002DE9FF47254B04468B +:105680000F4615460FCBE84688E80F0025B90026DF +:10569000304604B0BDE8F087204600F027F9064602 +:1056A0000028F5D1666A231D01938EBB206FC0B11F +:1056B000C0F14009A94528BFA94604F1300A4A466D +:1056C00039465044FFF79AFE226F4A44402A4F441D +:1056D0002267A5EB090504D15146404600F01EF8AB +:1056E000266705F03F0935F03F0505D039462A46C3 +:1056F000404600F013F82F44B9F1000FC7D04A46D6 +:10570000394604F13000FFF779FEC4F87090BFE726 +:10571000014EBDE7B4F10E000C02F0002DE9F74F89 +:10572000314B4468054691469A461A68002AFCD1D6 +:105730002E4B9B461A68002AFCD14FF0FF30019196 +:10574000FFF736FE8020FFF739FE294E294ADFF8A1 +:10575000B880294F012307203360A2F59E72C2F85A +:105760003C011360636AC8F80030A36A3B602B6891 +:1057700042F8043CAB68204698470199DAF80030BB +:10578000002BFBD1B9F1000F20D11C4B04221A6071 +:10579000DAF80030002BFBD1DBF80090B9F1000FF4 +:1057A000FAD1EB6820469847D8F8003063623B682E +:1057B000A362134BC3F80090C3F84491DAF80030A9 +:1057C000002BFBD1336003B0BDE8F08F236A012BBF +:1057D00004BF0B4A13600B4B40201960C3F80490C0 +:1057E000FFF7F2FDD4E700BF10B9025020BC025011 +:1057F00018B8025000B90250D0B70250C8B70250D2 +:1058000084B6025028BC0250CCB70250084B1B682B +:105810001B0EF02B08D1074B1A68074B9A4205D193 +:10582000064B00201860704705207047062070471F +:1058300028B9025024BA02500000E0200CBA0250ED +:105840000C4B1B68C3610C4B1B6883610B4B1B68C3 +:1058500043610B4B1B6803610A4B1B68C3600A4B17 +:105860001B688360094B1B684360094B1B6803601E +:10587000704700BF5CB6025058B6025054B6025092 +:1058800050B602504CB6025048B6025044B60250D0 +:1058900040B602500C4BC2691A60826943F8042C6E +:1058A000426943F8082C026943F80C2CC26843F89B +:1058B000102C826843F8142C426843F8182C0268B4 +:1058C00043F81C2C704700BF5CB6025030B1026830 +:1058D000034B04489A4208BF0020704702487047B3 +:1058E000DD55AABB8208F0007108F00030B10268F3 +:1058F000034B04489A4208BF002070470248704793 +:10590000DD55AABB0202F0000002F0002DE9F041D3 +:105910001E4E4FF48271D6F8040130B11C48C268A3 +:10592000521CC260304605F0C7FB00254FF4A0773B +:1059300007EB85018AB23046B25812B389B205F03E +:10594000BBFB1348103000EB0514204608F05CF850 +:10595000104811492246401AC008042101EB0040BA +:105960000EA105F06DF9616819B1204607F0A2FF9C +:1059700007E0A16811B1204607F09CFF206800B144 +:1059800080476D1C022DD3D3BDE8F081004002405A +:105990001400002048F30E00F0F20E0074696D65EB +:1059A000725F6669726520283078257829000000CA +:1059B00000F056B970B50E46144900EB400001EBFB +:1059C000C0051446E86A183520B101280FD0022816 +:1059D00005D113E0284600F079F9A04201D2002455 +:1059E00011E022463146284600F0A8F90BE028468F +:1059F00000F06CF9A042F4D20446F2E731462846A2 +:105A000000F06FF90446204670BD00009C3700206E +:105A100030B54FF080520023D2E94C10082906D14E +:105A2000CC06C4F80C31C4F81031624C236008294C +:105A300055D1614B1B68614C23605F4B1B1D1B687C +:105A4000241D23605C4B08331B68241D23605A4BC4 +:105A50000C331B68241D2360574B10331B68241D17 +:105A60002360554B14331B68241D2360524B18339D +:105A70001B68524C203423604F4B1C331B68241D81 +:105A800023604D4B20331B68241D23604A4B243375 +:105A90001B68241D2360484B28331B68241D23608A +:105AA000454B2C331B68241D2360434B30331B684C +:105AB000424C40342360404B34331B68241D236028 +:105AC0003D4B38331B68241D23603B4B3C331B6824 +:105AD000241D2360384B40331B68241D2360082994 +:105AE00004D1030002D1374C354B2360082904D17F +:105AF000030002D1344CFB232360082908D10300A2 +:105B000006D1324B92F858521C6865F303041C60AE +:105B1000082904D1030002D12D4C8B0123600829F0 +:105B200006D12C480168C90702D06FF0010101605D +:105B30002948016841F470010160BFF34F8FBFF342 +:105B40006F8FD2E94C104FF01022082906D103289C +:105B500004D9D2F80802174920310860D2F80002AF +:105B6000002803DBD2F8040200281FDA012005F028 +:105B700093FD1221C2F8001218480368002BFCD0D4 +:105B8000C2F8041201680029FCD0002005F084FD51 +:105B9000BFF34F8F10487C380168114A01F4E0616F +:105BA00011430160BFF34F8F00BFFDE70E490D4861 +:105BB000086030BD380500400404001020C50040D6 +:105BC000488103008C56004018F50040E40E004068 +:105BD000409602400004004088ED00E000E40140EF +:105BE0000400FA050090D0032C01002010B5054CEC +:105BF000206818B904A12B2000F089FB2068BDE8BB +:105C000010400047AC0000202E2E5C2E2E5C2E2E65 +:105C10005C2E2E5C2E2E5C6D6F64756C65735C6EF5 +:105C20007266785C647269766572735C7372635CC9 +:105C30007072735C6E7266785F7072732E630000B0 +:105C4000064808B5002101600068009005F0ACF836 +:105C500004F082FE0028FBD108BD000000010140D5 +:105C600010B5124C02202061606111A0A06104F106 +:105C70007800E0614FF4805020620020A0626062F2 +:105C80000BA1A164E0620D49E1641021A065C4E9A3 +:105C90001410E0650AA1E01DFEF79BFB09A1204658 +:105CA000FEF797FB2020A07110BD00009C3700205C +:105CB0005465726D696E616C00000000144800202C +:105CC0005254540053454747455200000269C16889 +:105CD0008A4203D88068401A104400E0501A401EDF +:105CE00070472DE9F047C4681746894606464FF0CD +:105CF00000083069A04201D9051B02E0B168201AF2 +:105D00000D1AB0686D1E001BA84200D80546BD42A2 +:105D100000D33D4670682A4620444946FEF712FBF0 +:105D2000B0687F1B2C44A844A944A04200D10024A1 +:105D3000F460002FDDD14046BDE8F0872DE9F04149 +:105D400004468846D4E90207C51BE1686068164628 +:105D50000844B54206D94146FEF7F4FAB819E060A6 +:105D6000BDE8F0812A464146FEF7ECFA761B08EBC7 +:105D7000050132466068FEF7E5FAE660F0E702E00A +:105D800008C8121F08C1002AFAD1704770470020C6 +:105D900001E001C1121F002AFBD17047800701D02A +:105DA000002070470120704740680068401E08428C +:105DB00001D10120704700207047C3688B4206D88C +:105DC00011440069491E814201D80120704700201A +:105DD000704700002DE9F05FDFF89CB05C46DBF80F +:105DE0004890DBF8246002F0D7FB216B4718751A46 +:105DF00022482349401AC108042000EB0140804694 +:105E000020A104F019FF216B4944B94200D10025BB +:105E100008232A46384601F055F907001848174963 +:105E20004FF0010AA1EB00004FEAD0010AEB014458 +:105E300004D020461AA104F0FFFE19E002F0ACFBEA +:105E40000022314600F0C4FDDBF828200546D94683 +:105E5000AA4208D1404619A104F0EEFEC9E9075A4A +:105E6000C9F8186004E020462B461A4904F0EFFEFA +:105E70003846BDE8F09F00004C1E002048F30E009D +:105E8000F0F20E00456E746572206E72665F646695 +:105E9000755F6170705F636F6E74696E7565000029 +:105EA0004661696C656420746F20636F7079206649 +:105EB00069726D776172652E00000000536574741D +:105EC000696E67206170702061732076616C69640F +:105ED0000000000094E60E0008B513460246009349 +:105EE0000648074BC01AC008012303EB00400B46CD +:105EF00004A104F0B4FE06F011F8000048F30E000F +:105F0000F0F20E0052656365697665642061206673 +:105F100061756C74212069643A20307825303878B6 +:105F20002C2070633A203078253038782C20696E28 +:105F3000666F3A20307825303878000002460648EF +:105F40000649401AC008012101EB004004A104F0F9 +:105F500077FE05F0E3FF000048F30E00F0F20E00BC +:105F6000526563656976656420616E206572726F43 +:105F7000723A203078253038782100002DE9F04140 +:105F800007461E4E1E481F49326A401AC508012A9C +:105F900004D0032000EB05401BA12BE04FF4405040 +:105FA000184B174C4168E31A234A0220DB0800EB28 +:105FB0000344914206D1C1023B462048726B00F077 +:105FC0005BFA90B102F0E8FA01461C483B464130CA +:105FD000B26900F051FA58B1042000EB054018A155 +:105FE00004F02AFE0120BDE8F081204618A101E05E +:105FF000204626A104F020FE0020F4E74C1E0020DD +:1060000048F30E00F0F20E00426F6F742076616C60 +:1060100069646174696F6E206661696C65642E20C5 +:106020004E6F2076616C69642061707020746F20FF +:10603000626F6F742E000000DBE5B151AC200020D0 +:106040004170702069732076616C69640000000003 +:10605000426F6F742076616C69646174696F6E2041 +:106060006661696C65642E20536F66744465766959 +:1060700063652069732070726573656E7420627544 +:106080007420696E76616C69642E0000426F6F74D3 +:106090002076616C69646174696F6E206661696CF9 +:1060A00065642E2041707020697320696E76616C82 +:1060B00069642E002DE9F047244C814692466088A1 +:1060C0000E4681423FD84FF6FF77002000F076F869 +:1060D00022786078A188884201DA401C00E0002024 +:1060E000C0B2904203D1002000F096F829E0657814 +:1060F0004FF000086078884201DA401C00E0002080 +:106100006070002000F088F8BD421AD0A068B9F194 +:10611000000F40F835A00DD066B16188E0683246C6 +:1061200005FB01004946FEF70DF9A06800EBC5002C +:10613000868003E000EBC500A0F804800020BDE8E5 +:10614000F0870420FBE70920F9E70000B4000020F5 +:1061500010B50E4C03E0401C00E0002020702078B9 +:106160006178814210D022786188E068A36802FBE0 +:10617000010003EBC20153F8322089889047207850 +:10618000A1888842E9DAE6E710BD0000B4000020EB +:1061900030B5CB0008339DB293074FF0000401D017 +:1061A000072030BD044B9A602A44DA605C701C7092 +:1061B00058809980002030BDB400002010B506F052 +:1061C0009DFD012803D004A11D2000F0A0F8BDE82A +:1061D000104000F04FB800002E2E5C2E2E5C2E2EAC +:1061E0005C2E2E5C2E2E5C636F6D706F6E656E7410 +:1061F000735C6C69627261726965735C7574696CF9 +:106200005C6170705F7574696C5F706C6174666FEF +:10621000726D2E630000000010B506F06FFD0128BE +:1062200003D004A12B2000F072F8BDE8104000F06C +:1062300029B800002E2E5C2E2E5C2E2E5C2E2E5C9D +:106240002E2E5C636F6D706F6E656E74735C6C691F +:10625000627261726965735C7574696C5C6170709F +:106260005F7574696C5F706C6174666F726D2E63BC +:106270000000000072B602480168491C01607047C6 +:10628000C400002003490868401E086000D162B6BF +:1062900070470000C400002070B5054608680C4631 +:1062A000411C04D004F06EFA206804F0A7F960687D +:1062B000411C02D0002104F098F92968A069C1F8B6 +:1062C0002405607D217D2A680843C2F86C05D4E965 +:1062D00000122868C0F80C15C0F81425207D01288C +:1062E00014D1A068411C02D0002104F07EF9E068BE +:1062F000411C04D004F046FAE06804F07FF9D4E9C8 +:1063000002122868C0F80825C0F8101570BD1CB529 +:106310006A46CDE90001002144F20200FFF7DCFDEE +:106320001CBD0000F8B521480146456AC06A8C6C66 +:10633000AC2801D024B106E0486B04442D1A02E0D9 +:1063400002F03EF904461A481A492346401AC70883 +:10635000042000EB07400646174A18A1009504F0F8 +:106360007EFC2A4621461448FEF726F8D0B1304676 +:106370002B4622461FA104F06AFC00BF04F0ECFA91 +:106380000028FBD101F07CFE2946204602F0FAFCF1 +:10639000040005D0012000EB074022A104F04CFCD2 +:1063A0002046F8BD0024304625A1F7E74C1E00200A +:1063B00048F30E00F0F20E0000400E0056657269C0 +:1063C0006679696E6720424C3A20416464723A20D3 +:1063D0003078253038782C205372633A2030782575 +:1063E0003038782C204C656E3A203078253038785B +:1063F00000000000436F7079696E6720626F6F74F0 +:106400006C6F616465723A205372633A203078256C +:106410003038782C204C656E3A203078253038782A +:10642000000000005265717565737420746F2063FD +:106430006F707920424C206661696C6564000000D1 +:106440004E6F20626F6F746C6F6164657220636F52 +:106450007079206E65656465642C20626F6F746C62 +:106460006F616465722075706461746520636F6D1F +:10647000706C6574652E000013B90378012B01D090 +:1064800003F07AB9012070470022C32100F518708B +:1064900000F09EBA2DE9F043A3B00446DDE92A9648 +:1064A00020200F462190984615467C2102A8FDF732 +:1064B00071FF41212046FDF76DFFB7F8940005EB11 +:1064C000051107EB8101A84201D991F89660267069 +:1064D000320033D0012A0DD01B481C4D0123401B34 +:1064E000C00803EB0045022A0CD0032A20D028461E +:1064F00017A117E000224946404600F069FAC4F8A7 +:1065000001001BE021A9601CCDE900014B46424679 +:10651000184902A801F010FF80B104F0EFFD024617 +:10652000284615A104F08CFB002023B0BDE8F083C1 +:10653000B1F89820601C9A31FDF704FF4A464146A5 +:10654000204603F019F9F0E718F30E00F0F20E0000 +:10655000496E76616C696420626F6F742076616C3D +:1065600069646174696F6E20747970653A2025647E +:106570000000000014E10E006E72665F63727970B5 +:10658000746F5F686173685F63616C63756C61747D +:10659000652829206661696C6564207769746820C4 +:1065A0006572726F722025730000000010B50446FA +:1065B0000A480B49401AC008042101EB004009A118 +:1065C00004F03AFB4FF0000034B10C490870BDE80C +:1065D00010400B4802F046BE00F094FC48F30E0059 +:1065E000F0F20E00526573657474696E6720626F15 +:1065F0006F746C6F616465722E00000008000020EB +:10660000056F0E002DE9FC410646C0074FF000055E +:106610000ED0104F00240122385D00950023114652 +:10662000019503F0A7FF641C042CF4D300F064F878 +:10663000B0070DD5074E0024361D0022305D032320 +:1066400000951146019503F095FF641C042CF4D3CA +:10665000BDE8FC81F6E00E0010B50446042803D323 +:1066600005A12120FFF753FE0E480121005DBDE882 +:10667000104004F091B800002E2E5C2E2E5C2E2EC1 +:106680005C2E2E5C2E2E5C636F6D706F6E656E746B +:10669000735C626F617264735C626F617264732EAB +:1066A00063000000F6E00E0010B50446042803D392 +:1066B00005A11B20FFF72BFE0E480021005DBDE861 +:1066C000104004F069B800002E2E5C2E2E5C2E2E99 +:1066D0005C2E2E5C2E2E5C636F6D706F6E656E741B +:1066E000735C626F617264735C626F617264732E5B +:1066F00063000000F6E00E0010B500242046FFF70E +:10670000ABFF641C042CF9D310BD00002DE9F04749 +:106710000546861C91460F464FF0010A0020FFF700 +:106720004DFD1C4C60683860D4E901011A4F401AD5 +:106730003968081A41F21C0104EB01080EE001213E +:10674000404601F057F800F0F3FE0146404601F0E4 +:1067500051F8D4E90101401A3968081A401C8642F0 +:10676000EDD8B9F1000F03D0052065F3891002E0E0 +:10677000062065F39F5061683A68114004EB81017F +:10678000C8606068304460600020FFF745FD5046F7 +:10679000BDE8F0877C270020D800002010B54368B2 +:1067A0009C18446021B905E013F8010B01F8010BB6 +:1067B000521EF9D2012010BD70B50D4604460A29BB +:1067C00002D10D21FFF7F8FFA0682268411CA160EB +:1067D0001554D4E90101814204D32046BDE870403C +:1067E00003F03CBC70BD00000448816840688142F1 +:1067F00001D1012070470020704700007C27002055 +:1068000010B50548012101F00BF8BFF35F8F08B107 +:10681000002010BD012010BD4800002010B5064C1E +:106820002068012803D005A16D20FFF770FDBFF39C +:106830005F8F0020206010BD480000202E2E5C2EAF +:106840002E5C2E2E5C2E2E5C2E2E5C636F6D706F78 +:106850006E656E74735C6C69627261726965735C9B +:106860006D757465785C6E72665F6D74782E680005 +:1068700006490020086006494FF48060C1F8800195 +:10688000BFF34F8FBFF36F8F7047000000A502501A +:1068900004E000E003490120086003498002C1F8D8 +:1068A0000001704700A5025004E000E070B500F15F +:1068B0000805106814460E46202802D248F21450EB +:1068C00070BDFFF79DFF90B1FFF7E4FF314628460A +:1068D000FEF788FE0546FFF7CBFFFFF79FFF284630 +:1068E00000F0CCFB0028EBD12021216070BD48F2E4 +:1068F000045070BD10B50830FEF7A4FEBDE810408E +:1069000000F0BCBB2DE9F04700F108090E46144623 +:10691000FFF776FFB8B1FFF7BDFF4FF4805845464B +:10692000AC4200D825462A4631460E48FDF70AFDFE +:106930002A460C494846FEF79FFE0700A4EB0504D3 +:106940002E4404D005E048F20450BDE8F087002C46 +:10695000E5D1FFF78DFFFFF761FF3846BDE8F0474F +:1069600000F08CBB6405002070B50B480024046067 +:10697000BFF35F8F094D01202860FEF747FF01003C +:106980002C604FF0030004D0052901D148F20350D8 +:1069900070BD002070BD00004800002000A502501E +:1069A000014900200860704700A5025010B504009E +:1069B00003D10549CA20FFF7AAFC0448C16B6160F6 +:1069C000006CA06010BD0000F0E70E004C1E00201F +:1069D000F0B54FF0FF3622B11268D24300230A4DC2 +:1069E0000DE03246FAE7C45C62400824D70700D0C5 +:1069F00037462F4087EA5202641EF7D15B1C8B4258 +:106A0000F1D3D043F0BD00002083B8ED10B50446AB +:106A10000068401C07D0204606F0C0FC2168814277 +:106A200001D1012010BD002010BD000010B5104C98 +:106A300090B06078002818D101F0E2FC18B10D493F +:106A4000B520FFF764FC20220B49684601F0F8FCF2 +:106A500040236A4609490A4801F004FC18B1054977 +:106A6000BF20FFF754FC0120607010B010BD000083 +:106A70008C0000208CEB0E00A8E00E00F824002013 +:106A800008E10E00F0B5146906468DB02068154681 +:106A9000271DE0B1022920D00A2000906B4609AAE8 +:106AA000304606F04CF900280FD009A901A8009A39 +:106AB00005F0CEFE01AE96E80F0005AE86E80F00A9 +:106AC000236869683A4605A898470DB0F0BD0DB037 +:106AD0003046BDE8F04005F02FBF6946304605F06E +:106AE000C1FE0028F1D0236869683A466846984795 +:106AF0000028EAD002980028F5D1019870600120A2 +:106B0000E3E753689B7813F0C00303D0402B03D016 +:106B10000020704700F002B8FFF7B4BF2DE9FF4135 +:106B20000B465168064614468878334D00F00F0234 +:106B300010F0300055F8225006D0102806D020283A +:106B400008D0302856D13EE022694DE0616901202D +:106B5000087047E0022B28D1042A26D84FF00108FC +:106B600069463046676905F07DFE00281AD009E0C5 +:106B70000B89226903FB00226846A84770B1388858 +:106B8000401C3880029820B1616838884A89904258 +:106B9000EED301987060029860BB02E04FF00008ED +:106BA000F7E7404604B0BDE8F081D4E904300F892E +:106BB0000288498907FB02338A421BD2521C028099 +:106BC0001A46616810E008886169072A088009D1BF +:106BD000606801892069FDF7DDFB60682169C06894 +:106BE00005F05BFE2269616804B03046AC46BDE842 +:106BF000F04160470020D5E7FCE40E0038B51E499F +:106C000001200A68D20301D5000408E01B490A6884 +:106C100002F0F902A92A04D1086800F056000860C1 +:106C20000020FFF7ABF91649164A891AC908042251 +:106C300002EB0144A0B119200090684603F026FD44 +:106C4000D0F810050099C84010F0010F0BD00B4888 +:106C5000001F006800F0F900B12807D0002038BDFF +:106C6000204609A104E0204610A101E0204617A11A +:106C700003F0E2FF012038BD000400402005004081 +:106C800048F30E00F0F20E00444655206D6F646527 +:106C9000206265636175736520617070206973207F +:106CA0006E6F742076616C69642E00004446552036 +:106CB0006D6F6465207265717565737465642076A7 +:106CC000696120627574746F6E2E00004446552011 +:106CD0006D6F646520726571756573746564207687 +:106CE00069612047505245475245542E000000002C +:106CF000FEB519490446086808B1401E08601748E7 +:106D0000174AD4E90153801AC008042202EB00405C +:106D100022789DB10E6821690296CDE900312B469B +:106D2000012A16D00FA211A103F0ACFF616900295E +:106D300011D0E06803B0BDE8F04008470968009151 +:106D4000012A04D007A218A103F089FFEEE720A2D0 +:106D5000F9E71FA2E7E7FEBD50000020F8F20E00A1 +:106D6000F0F20E006572617365000000466C61739D +:106D700068202573206661696C6564202830782559 +:106D800078293A20616464723D25702C206C656E10 +:106D90003D307825782062797465732C2070656E9B +:106DA00064696E6720256400466C617368202573F2 +:106DB00020737563636573733A20616464723D2563 +:106DC000702C2070656E64696E6720256400000079 +:106DD000777269746500000010B508281BD2DFE8DF +:106DE00000F004121A1A1A041A040120FFF70AFC10 +:106DF0000020FFF759FC0120FFF756FCBDE81040CA +:106E00000220FFF729BC0120FFF726FCBDE8104057 +:106E10000220FFF749BC10BD10B50446801E0628AD +:106E200010D2DFE800F00D03030F09090A494FF4FF +:106E3000701000F013FF05E00120FFF7B7FB01E041 +:106E400002F09CFA05484168002903D02046BDE8BD +:106E50001040084710BD000039720E0008000020E5 +:106E600010B50446062801D0072C02D1002002F0FC +:106E7000C5FB04480168002903D02046BDE8104046 +:106E8000084710BD4C00002070B5427805460C46FE +:106E9000012A09D00F481049401AC008022101EB0D +:106EA00000400EA103F0CCFE287808280BD16088A2 +:106EB000401E81B26180208800280AD0002908D1B4 +:106EC00060800320287029462046BDE8704005F008 +:106ED00067BF70BD50F30E00F0F20E00444655201F +:106EE0007265717565737420636F6D706C65746520 +:106EF00064207769746820726573756C743A203009 +:106F00007825780003F050FF03F026FD0028FBD120 +:106F1000BFF34F8F05480168054A01F4E061114352 +:106F20000160BFF34F8F00BFFDE700000CED00E0F4 +:106F30000400FA0510B50021024800F071FC80F34E +:106F4000100010BD983700202DE9FC4180461F46F7 +:106F500015460E4600240D4800F049FC38B11120BA +:106F6000BDE8FC8106EB043004F046F8641CAC423A +:106F7000F8D1064800F032FCCDE900573346002234 +:106F80000221404600F004F80020E9E7C800002094 +:106F90002DE9F04387B00446DDE90E8980681D467F +:106FA00016460F4600280BD018216846FDF7F2F967 +:106FB00002A88DF8007080E86003A16868468847E1 +:106FC00007B0BDE8F0830B2803D30B38C0B200F044 +:106FD00009B870470249002208780A70704700001B +:106FE00054000020014908700B2070475400002015 +:106FF0000149012008707047080000200149012064 +:10700000087070474400002070B515460E46040015 +:1070100004D1074940F28A20FFF779F92A46314620 +:1070200004F17200BDE87040012302F0F7BB0000DC +:107030008CEB0E0010B5040003D10E49B520FFF70C +:1070400066F9207818B90B49B620FFF760F994F873 +:107050005500094938B1012805D06068C9688842DF +:1070600005D9012010BD606889688842F9D24FF0C7 +:10707000000010BDD4EB0E004C1E002010B50F4CCC +:1070800048F20351031B48F21652A04211D007DC0C +:1070900000280AD00A4BC01808D0012804D10BE000 +:1070A0000A2B01D00D2B07D0104610BD48F201501D +:1070B00010BD48F2025010BD084610BD0202F0009B +:1070C00000FE0FFF2DE9FC5F164607463A4A3B4893 +:1070D0001D46101A04224FEAD00902EB09408B46E4 +:1070E0008246B94205D136A103F0A6FD0020BDE8D5 +:1070F000FC9F04D236494FF02900FFF708F91DB96B +:1071000033492A20FFF703F92EB1380503D030495F +:107110002D20FFF7FCF8ABEB0700040B03D12C4943 +:107120003120FFF7F4F80020009006F6FF704FEAD8 +:10713000103800F0B9FFA54239D22C4637E0A045FF +:1071400003D83546CDF8048001E0250301940022E0 +:107150003846019901F0C2FC0028C8D150463B4690 +:107160005A461CA1009503F07AFD681E00F003004A +:107170002A1A002359463846D21C01F047FD002840 +:10718000B5D101991C48A8EB0108761B016B2F446F +:1071900029440163AB44002002F0D8F9009030B1DB +:1071A000012101EB094015A103F046FD01E0002E8D +:1071B000C5D100989BE7000048F30E00F0F20E00E6 +:1071C0004E6F20636F7079206E65656465640000A2 +:1071D00044E60E00436F7079696E67203078257839 +:1071E00020746F20307825782C2073697A653A20D6 +:1071F00030782578000000004C1E00204661696C44 +:10720000656420746F20777269746520696D6167A9 +:107210006520636F7079696E672070726F67726541 +:10722000737320746F2073657474696E6773207054 +:107230006167652E000000000748084910B5401A34 +:10724000C008032101EB004005A103F0F5FCBDE8F7 +:1072500010400120FFF7AAB948F30E00F0F20E002B +:10726000496E61637469766974792074696D656FBC +:1072700075742E00014941600020704768E30E00DC +:107280002DE9FC5F0E008346DDE90C47C6F10000E6 +:1072900098469246814600D40846012503E000BF87 +:1072A00090FBFAF06D1C5045FADAA84500D9454626 +:1072B00024B1002E01DB780700D5641EB80702D583 +:1072C000B8F1000F0AD0F80708D13CB1A54205D2A9 +:1072D00020215846641EFFF76FFAF6E7002E02DA07 +:1072E0004E462D2102E0780703D52B215846FFF7A3 +:1072F00063FA07F0030002280BD1B8F1000F08D1A0 +:107300003CB1A54205D230215846641EFFF754FA1D +:10731000F6E7CDE90047434652463146584606F067 +:1073200041FDBDE8FC9F000070B50E4604460068B4 +:107330004FF4887103F0F1FE4FF49071206803F070 +:10734000ECFE4FF49271206803F0E7FE4FF4A27157 +:10735000206803F0E2FE4FF4AC71206803F0DDFE1C +:1073600020681549C0F804132068082E40F307353B +:1073700003D312A14520FEF7CAFF7007000E002DAF +:1073800004DB05F1E02585F8000405E005F00F01B8 +:1073900001F1E02181F8140D206840F30730002846 +:1073A00009DB00F01F02012191404009800000F13B +:1073B000E020C0F8001170BD100342002E2E5C2E9C +:1073C0002E5C2E2E5C2E2E5C2E2E5C696E746567F4 +:1073D000726174696F6E5C6E7266785C6E726678EC +:1073E0005F676C75652E68000246002012685307BF +:1073F00013D502F00300012802D002280CD105E0C9 +:10740000C2F383100B68801C184404E00223086850 +:1074100003EB925210440860012070470248006854 +:10742000002800D001207047C800002038B54FF474 +:1074300040521B49536800F500508B4204D0446809 +:107440008C4201D1012400E000248B4226D1436804 +:107450008B4223D11178142901D9526900E000220E +:107460001049B2FBF1F30278142A01D9406900E017 +:107470000020B0FBF1F0834203D001240AA2009067 +:1074800002E000240AA200900B480C49401AC008F0 +:10749000032101EB00400AA103F0E1FB204638BDC7 +:1074A000DBE5B15140420F006D616A6F7200000070 +:1074B0006D696E6F7200000018F30E00F0F20E009E +:1074C000536F667444657669636520757064617492 +:1074D0006520697320612025732076657273696F5A +:1074E0006E207570646174652E2043757272656ECE +:1074F000743A2025642E204E65773A2025642E00AC +:1075000070B5054608680C464A68866828463146C4 +:1075100005F0E4F86068286104F10C006861B07857 +:107520000221B1EB901F01D1241D2C6170BD704769 +:107530002DE9FF410026274800F056F92548001F95 +:10754000074600F051F9244C2449A06800900D68CA +:1075500000E000986946284004EB80000C30FFF7FB +:1075600043FF0028F5D101AA009901EA050304EBC5 +:107570008303491CDB6842F82030401C009102283C +:10758000F2D3019800F0030001281AD002280ED08F +:1075900013A14FF4AF70FEF7BAFE384600F021F9A0 +:1075A00008B10098A06004B03046BDE8F0810198B1 +:1075B000032101EB90500099BDF80A6001EB9000A7 +:1075C00005E00198BDF80A60C0F3831008440090FC +:1075D000E3E70000943700207C270020D80000203B +:1075E0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C63A0 +:1075F0006F6D706F6E656E74735C6C6962726172D0 +:107600006965735C6C6F675C7372635C6E72665FF6 +:107610006C6F675F66726F6E74656E642E630000D8 +:1076200000F016FD4FF48051002000F037FBC8B980 +:107630001548C0F57E2100F031FB98B900211348B0 +:1076400003F086FB03F072F911481249401AC4088E +:10765000032000EB044010A103F0EEFA114800F003 +:1076600023FC08B1FEF76AFC03F076F90028FBD191 +:10767000012000EB04400CA103F0DEFA03F06CF9EA +:107680000028FBD1EEE7000000400E00857C0E00D4 +:1076900048F30E00F0F20E00496E73696465206DC8 +:1076A00061696E00D96D0E004166746572206D616E +:1076B000696E2C2073686F756C64206E65766572D8 +:1076C00020626520726561636865642E00000000B9 +:1076D0002DE9F05F1E46DDF828B091468A46040089 +:1076E00003D124A19020FEF712FEB4F80680607941 +:1076F00008FB00F8A8F10408464503D31DA19E200D +:10770000FEF705FEE788301DB0FBF7F1B0FBF7F29E +:1077100007FB1200D9F80050AA19424501D9A8EB7D +:107720000605C9F8005001E02468491E0029FBD174 +:107730003E1A8846AE4215D817E000BF2044001D0F +:107740000AEB0803BBF1000F324602D0014618468F +:1077500000E01946FCF7F6FD00202468AD1BB0449C +:10776000AF4201D92E4600E03E46002DE6D1BDE8ED +:10777000F09F00002E2E5C2E2E5C2E2E5C2E2E5C9A +:107780002E2E5C636F6D706F6E656E74735C6C69CA +:10779000627261726965735C6D656D6F626A5C6E61 +:1077A00072665F6D656D6F626A2E630030B502466A +:1077B00051B103F0E1FA0021074C08E034F8213020 +:1077C0001568AB4202D11160002030BD491C8142D6 +:1077D000F4D3052030BD000000000000002100F0BF +:1077E0000FB8002100F012B8012100F01EB80121ED +:1077F00000F011B808B56A46FCF73FFD009808BDD7 +:1078000008B56A46FCF71FFD009808BD08B56A4632 +:10781000FCF719FD08BD08B56A46FCF707FD08BD71 +:1078200008B56A46FCF7F6FC08BD08B56A46FCF7E1 +:10783000FDFC009808BD08B56A46FCF72BFD0098D2 +:1078400008BD000070B5040003D113A1FE20FEF7AF +:107850005EFD00252846FEF7B1FC206862680168DD +:10786000914214D9491E01600D781CB918A1C2209B +:10787000FEF74DFD208AE16805FB00152068217A9E +:107880000278891A0279C9B28A4200D201710020B5 +:10789000FEF7C2FC284670BD2E2E5C2E2E5C2E2ECE +:1078A0005C2E2E5C2E2E5C636F6D706F6E656E7439 +:1078B000735C6C69627261726965735C62616C6C45 +:1078C0006F635C6E72665F62616C6C6F632E6300E7 +:1078D0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C63AD +:1078E0006F6D706F6E656E74735C6C6962726172DD +:1078F0006965735C62616C6C6F635C6E72665F621B +:10790000616C6C6F632E630070B50C46050004D18A +:1079100010A140F22110FEF7FAFC24B90DA14FF49A +:107920009170FEF7F4FC0020FEF748FC1DB91749E2 +:10793000CF20FEF7ECFCE8682A68211A288AB1FB00 +:10794000F0F11068431C13600170BDE87040002026 +:10795000FEF762BC2E2E5C2E2E5C2E2E5C2E2E5C34 +:107960002E2E5C636F6D706F6E656E74735C6C69E8 +:10797000627261726965735C62616C6C6F635C6E8C +:1079800072665F62616C6C6F632E6300D0780E006C +:1079900010B5040002D0206830B901E00E2010BDFF +:1079A00017A1D920FEF7B3FC606818B914A1DA203A +:1079B000FEF7ADFCA06818B911A1DB20FEF7A7FC0B +:1079C000E06818B90EA1DC20FEF7A1FC208A18B9E6 +:1079D0000BA1DD20FEF79BFC207A61682268401A2B +:1079E000C0B2116004E0226811684B1C136008707B +:1079F000401EC0B2F7D221680020087110BD0000FF +:107A00002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C637B +:107A10006F6D706F6E656E74735C6C6962726172AB +:107A20006965735C62616C6C6F635C6E72665F62E9 +:107A3000616C6C6F632E63002DE9F04116481749A5 +:107A40004FF48052401AC708042000EB0740154647 +:107A5000044613A103F0F4F84FF0E026D6F8802195 +:107A600020461DA106F5C07603F0EAF870173060D5 +:107A7000C6F8000101F092F928B1012000EB07409F +:107A800020A103F0D9F802F067FF0028FBD12846B7 +:107A9000BDE8F04100F052B848F30E00F0F20E00DD +:107AA00052756E6E696E67206E72665F626F6F747C +:107AB0006C6F616465725F6170705F737461727422 +:107AC000207769746820616464726573733A20304A +:107AD000782530387800000044697361626C696E03 +:107AE0006720696E74657272757074732E204E56BD +:107AF00049432D3E494345525B305D3A203078255D +:107B0000780000004661696C65642072756E6E696C +:107B10006E67206E72665F6466755F6D62725F6924 +:107B200072715F666F72776172645F6164647265BF +:107B300073735F73657428290000000070B50646F2 +:107B40002648C0F5801100F0A9F804002448254912 +:107B5000A0EB01004FEAD0004FF0010101EB00451E +:107B600007D02846224620A103F06AF82046FEF7F7 +:107B7000E5F900F011FD014629488069421EC2F373 +:107B80000B02801A0144002001F6FF7100F086F814 +:107B9000040004D02846224622A103F051F8201EFA +:107BA00001D0FEF7CBF9EFF30580C105D6E900451A +:107BB000C90D4FF0000080F3148880F3108880F323 +:107BC000118880F3138803D023493220FEF79FFBEE +:107BD00084F30888AC46BDE87040604700400E0062 +:107BE00048F30E00F0F20E00436F756C64206E6F68 +:107BF000742070726F7465637420626F6F746C6F41 +:107C00006164657220616E642073657474696E6767 +:107C1000732070616765732C20307825782E000002 +:107C20004C1E0020436F756C64206E6F7420707260 +:107C30006F7465637420536F667444657669636519 +:107C400020616E64206170706C69636174696F6E2D +:107C50002C20307825782E00A8E50E0070B5084D50 +:107C600004460E46686805F0CFFE002C06D032466A +:107C700021466868BDE8704005F0B8BE70BD0000E0 +:107C8000140000200348D0F804050349097B00EBE9 +:107C900001607047004002401400002030B50A0522 +:107CA00002D1B0F57F2F01D9072030BD094C2268E1 +:107CB000082A01D3042030BD074B03EB0213C3F89D +:107CC0000008C3F804180220C3F80808521C00205A +:107CD000226030BD1000002000E001402DE9F0419D +:107CE0003A483B49384E401AC508042000EB05408D +:107CF0000027044637A102F09FFFB06801280ED08C +:107D0000A52813D0AA2818D0AC281ED0032000EB39 +:107D1000054039A102F090FF0020BDE8F081204627 +:107D20003CA102F089FFFEF755F80CE020463CA18B +:107D300002F082FF05F028F90DE020463BA102F099 +:107D40007BFFFEF7EFFA024607E020463AA102F079 +:107D500073FF05F0E7F9024601271D491B4B01207F +:107D6000591AC90800EB014522B1284636A1B3686B +:107D700002F06DFF304600F033FCDFF80081002197 +:107D800088F800103E4801F0E1FB064698F8000034 +:107D900020B93C4940F27F10FEF7B9FA2EB12846CF +:107DA00039A102F049FF0320B7E70120002FB4D02A +:107DB00005492439096A0129AFD12046394902F021 +:107DC0003BFF0220A9E70000701E002048F30E00D0 +:107DD000F0F20E00456E746572206E72665F626F1F +:107DE0006F746C6F616465725F66775F61637469FD +:107DF00076617465000000004E6F206669726D77D1 +:107E000061726520746F2061637469766174652E98 +:107E10000000000056616C69642041707000000031 +:107E200056616C69642053440000000056616C691F +:107E30006420424C0000000056616C696420534489 +:107E4000202B20424C000000416374697661746904 +:107E50006F6E206661696C6564207769746820655F +:107E600072726F72202564202862616E6B20636FCE +:107E700064653A203078257829000000440000200D +:107E8000FD6F0E0044E60E00436F756C64206E6F4C +:107E9000742077726974652073657474696E677392 +:107EA0002E000000DCE60E002DE9F84304464248AF +:107EB0004249401AC108042000EB0140054640A198 +:107EC00002F0BAFE444F19207C600090684602F030 +:107ED000DDFB009A414900EB82004FF00008C0F83A +:107EE0000017404601F0C4F900284ED1FFF7F6FE16 +:107EF000324A314B01219A1AD20801EB024420B1D7 +:107F000001281BD0022840D105E04FF47016FEF77F +:107F100075FE10B936E04FF4A02600F0C5F8304ADF +:107F200020211820FEF734F908B1FEF707F82D4894 +:107F3000016801F0F901B12904D007E00120FEF742 +:107F400035FB33E0016801F04E01016000F0FAFEFC +:107F5000D8B925493046FFF781FE244800F0A6FE37 +:107F600098B9284622A102F067FE00BF00F088F809 +:107F7000FEF7EEF802F0F0FC0028F7D120BF40BF7A +:107F800020BFF3E701F04EF910B10320BDE8F883FC +:107F900087F800801A4801F065F9387820B919A1EE +:107FA0004FF4F070FEF7B3F9FFF746FD204625A128 +:107FB00002F042FEE9E7000048F30E00F0F20E0086 +:107FC000496E206E72665F626F6F746C6F6164657C +:107FD000725F696E69740000080000200C000300E5 +:107FE000440100201C05004039720E00196E0E007D +:107FF000456E746572206D61696E206C6F6F7000E4 +:10800000F16F0E002E2E5C2E2E5C2E2E5C2E2E5C22 +:108010002E2E5C636F6D706F6E656E74735C6C6931 +:10802000627261726965735C626F6F746C6F6164B8 +:1080300065725C6E72665F626F6F746C6F616465AF +:10804000722E6300556E726561636861626C6500D3 +:1080500010B540F6F8700168491C02D1074902F0DA +:10806000E3FF40F6FC700168491C05D1BDE81040F3 +:108070004FF47E2102F0D8BF10BD000000400E007A +:1080800010B503F051F8002803D0BDE8104005F00A +:10809000ADBF10BD034A93680A4601469860184672 +:1080A00005F0A4BC140000202DE9F0411A4E3078F0 +:1080B00000282ED103F038F81849194A0127891AE7 +:1080C000C908032202EB014500281DD015480468A9 +:1080D0002846224614A102F0B3FDA4F54864962C6C +:1080E00000DA962405F082FF2846224615A102F008 +:1080F000A7FD21492046FFF7CDFF4FF0E0214FF4C7 +:108100008030C1F8000103E028461CA102F094FD74 +:108110003770BDE8F081000045000020F0F20E004D +:10812000F0F20E000405014057445420656E616270 +:108130006C6564204352563A2564207469636B73FE +:10814000000000005374617274696E6720612074CE +:10815000696D657220282564207469636B7329201A +:10816000666F722066656564696E67207761746307 +:1081700068646F672E00000029E00E005744542009 +:108180006973206E6F7420656E61626C65640000B7 +:1081900070B504460D4620220830FCF7D3F82022A3 +:1081A00005F1200104F12800FCF7CCF8002070BD97 +:1081B0002DE9F8430C461B49DDF820900160054687 +:1081C0001F46904618480121FFF72AFBBFF35F8F37 +:1081D000002618B148F20450BDE8F883FEF75AFBB8 +:1081E00043464A4604F1080128460097FDF7E6F9A0 +:1081F0000446FEF73DFB0C4D2868012803D00BA177 +:108200006D20FEF784F8BFF35F8F2E6044B11448F1 +:10821000C44202D148F24250DEE748F21650DBE792 +:108220000020D9E7DD55AABB480000202E2E5C2E89 +:108230002E5C2E2E5C2E2E5C2E2E5C636F6D706F6E +:108240006E656E74735C6C69627261726965735C91 +:108250006D757465785C6E72665F6D74782E6800FB +:108260007CF70FFF70B516460C46054600F00CF97A +:1082700000280ED1AA791946304600F012F90028DC +:1082800007D131462046FFF783FF002801D101497D +:10829000216070BD7052464D2DE9F8430C46DDE972 +:1082A00008580746994616461249204600F0E0F85D +:1082B000002811D16068414640794200284600F00C +:1082C000F0F8002808D14EB15FB14B463246214646 +:1082D00038460095FFF76CFFBDE8F88348F2105070 +:1082E000FAE705A14FF4C770FEF711F848F21550F0 +:1082F000F2E700007052464D2E2E5C2E2E5C2E2E84 +:108300005C2E2E5C2E2E5C636F6D706F6E656E74CE +:10831000735C6C69627261726965735C63727970B7 +:10832000746F5C6E72665F63727970746F5F6563A1 +:108330006473612E630000002DE9F0411D46DDE904 +:1083400006871646044600F02DF800280DD12A466F +:108350003146204600F03CF8002806D13A46414616 +:108360002046BDE8F04100F002B8BDE8F08170B5EC +:1083700015460E46044605F029FE002807D13EB1F9 +:1083800060682968C268914205D248F2145070BDF5 +:1083900048F2135070BD83682A4631462046BDE836 +:1083A0007040184710B550B161B14160096804468A +:1083B0008847002802D105482060002010BD48F2FF +:1083C000015010BD48F2105010BD00006E524648DA +:1083D00070B515460E46044605F0F8FD00280BD191 +:1083E00046B155B160682A46314643682046BDE82B +:1083F0007040184748F2105070BD002070BD00005A +:108400002DE9F0410B480C4D0C4F401BC6080120D4 +:108410003870002406E000BF55F83400804700287B +:1084200005D1641CB442F7D3022038700020BDE8A7 +:10843000F0810000D8F20E00D0F20E0046000020BD +:1084400070B514460D46064600F036F82919301965 +:108450002246BDE8704000F02FB870B50C460546C6 +:1084600000F064F828192146BDE8704000F05EB8BD +:1084700028B10068884205D048F24050704748F261 +:10848000105070470020704728B139B10022C1E96F +:1084900000201046704748F21050704748F21350C1 +:1084A000704720B1914205D048F21150704748F210 +:1084B000105070470020704770B516460C460500F6 +:1084C00003D10AA11F20FDF722FF1CB907A120201C +:1084D000FDF71DFFA919491E04E000BF14F8010BA8 +:1084E00001F80109A942F9D270BD00002E2E5C2EC0 +:1084F0002E5C2E2E5C2E2E5C2E2E5C636F6D706FAC +:108500006E656E74735C6C69627261726965735CCE +:1085100063727970746F5C6E72665F637279707487 +:108520006F5F7368617265642E63000070B50D46FD +:10853000040003D107A10D20FDF7E9FE6019401EDC +:1085400005E02178027804F8012B00F80119A04217 +:10855000F7D270BD2E2E5C2E2E5C2E2E5C2E2E5C45 +:108560002E2E5C636F6D706F6E656E74735C6C69DC +:10857000627261726965735C63727970746F5C6E4C +:1085800072665F63727970746F5F7368617265643D +:108590002E630000AFF300804FF44050074A41685B +:1085A000914207D18068411EC1F30B01401A00F6C9 +:1085B000FF7070474FF4805070470000DBE5B15109 +:1085C00000B5FFF7E9FF054989690A18401E08440C +:1085D000C0F30B00101A00F6FF7000BD4C1E002007 +:1085E0000021016041608160014801637047000023 +:1085F0004C1E00202DE9FF4F8B466E486E4981B01E +:10860000401AC108042000EB014400916BA12046F0 +:1086100002F012FB204671A1019A02F011FBBBF19E +:10862000000F01D073A200E074A2204675A102F0F1 +:1086300007FB039808B16FA200E070A2204676A164 +:1086400002F0FEFA049808B16AA200E06BA220468C +:1086500075A102F0F5FA4FF4405041687848814224 +:1086600001D164A200E065A2204676A102F0E8FAFA +:10867000204678A102F0E0FA7A4D20467AA1AB6953 +:108680002A6A02F0E4FA20467FA16B6AEA6A02F0E5 +:10869000DEFA4FF00009DFF810A20CE0012650B11D +:1086A000012812D0B9F1020F1ED080498620FDF7B3 +:1086B0002EFE00201AE0FFF783FF8046039888B162 +:1086C0006848006A01280BD00CE0FFF765FF804680 +:1086D000049828B94FF4405041685948814201D06C +:1086E000012604E0002602E04FF480508046D04589 +:1086F00003D96E498B20FDF70AFE6D480199A0EB66 +:108700000800A0F54050884201D2012700E0002770 +:1087100047EA0B0520464A4666A102F091FA204638 +:10872000424667A102F08CFA0FB132A200E033A2F8 +:10873000204669A102F084FA0EB12EA200E02FA219 +:1087400020466BA102F07CFA0DB12AA200E02BA218 +:1087500020466CA102F074FAB54308D0B9F1020FBB +:1087600005D209F10100C0B28146022896D957B15D +:108770000098022101EB004067A102F05DFA04209D +:1087800005B0BDE8F08FB9F1020F06D320466DA108 +:1087900002F052FA00F0EAFE02E0B9F1000F07D051 +:1087A00020466FA102F048FA2E481830FFF718FF54 +:1087B0000020E5E748F30E00F0F20E00456E746508 +:1087C00072206E72665F6466755F63616368655F81 +:1087D000707265706172652829000000726571759C +:1087E000697265645F73697A653A20307825782EFE +:1087F00000000000747275650000000066616C7313 +:108800006500000073696E676C655F62616E6B3A4C +:108810002025732E000000006B6565705F6170702D +:108820003A2025732E0000006B6565705F736F66DC +:10883000746465766963653A2025732E0000000034 +:10884000DBE5B15153445F50524553454E543A20F5 +:1088500025732E0042616E6B20636F6E74656E74BB +:10886000733A00004C1E002042616E6B2030206382 +:108870006F64653A203078253032783A2053697A2F +:10888000653A20307825780042616E6B2031206394 +:108890006F64653A203078253032783A2053697A0F +:1088A000653A20307825780000100E0090E90E001F +:1088B00000400E00706173733A2025642E000000A2 +:1088C00063616368655F616464726573733A2030E5 +:1088D0007825782E0000000063616368655F746F1F +:1088E0006F5F736D616C6C3A2025732E0000000081 +:1088F0006B6565705F6669726D776172653A202598 +:10890000732E000064656C6574655F6D6F72653A07 +:108910002025732E0000000041626F7274696E673B +:108920002E2043616E6E6F7420666974206E6577C9 +:10893000206669726D77617265206F6E206465765E +:1089400069636500496E76616C69646174696E671C +:1089500020536F66744465766963652E00000000DD +:10896000496E76616C69646174696E6720617070CC +:108970002E00000070B50C46050004D121494FF4CB +:108980009970FDF7C4FC24B91E4940F23310FDF77D +:10899000BEFC1D481D4B2978C01A0422C00802EBFA +:1089A0000040092927D2DFE801F02605260B15260D +:1089B0001B260F0021462846BDE8704002F078BE15 +:1089C00013A102F039F911E021462846BDE87040B4 +:1089D00002F010BF21462846BDE8704002F0A8BE54 +:1089E00014A102F029F94FF40070E0602046BDE8C0 +:1089F0007040FDF7DBBFBDE8704002494FF4A9703D +:108A0000FDF785BCF0E70E0000F30E00F0F20E005B +:108A100048616E646C65204E52465F4446555F4F18 +:108A2000505F4352435F4745542028636F6D6D612B +:108A30006E64290048616E646C65204E52465F4446 +:108A400046555F4F505F4F424A4543545F53454C34 +:108A50004543542028636F6D6D616E6429000000EA +:108A600070B50E46040004D11B4940F24F20FDF7BB +:108A70004EFC26B918494FF41470FDF748FC2078D5 +:108A80000125092820D2DFE800F01F051F0F141F61 +:108A90001A1F0A003146204602F03CFF19E0314619 +:108AA000204603F08DF914E03146204602F0F4FE32 +:108AB0000FE03146204603F037F8054609E031461D +:108AC000204603F031F904E0034940F27120FDF73C +:108AD0001EFC284670BD0000F0E70E002DE9F843AB +:108AE000134C07460D4620680090124812499046E4 +:108AF000401AC608042000EB06402B463A460FA158 +:108B000002F0ADF843462A4639461C4801F0FAFB0C +:108B1000050009D0022000EB06402A4618A102F009 +:108B20008FF82846BDE8F8832068401C2060F8E7ED +:108B300050000020F8F20E00F0F20E006E72665F38 +:108B40006673746F726167655F65726173652861D2 +:108B50006464723D307825702C206C656E3D256410 +:108B6000207061676573292C2071756575652075A6 +:108B7000736167653A202564000000003001002021 +:108B80006E72665F6673746F726167655F6572614E +:108B900073652829206661696C656420776974684B +:108BA000206572726F7220307825782E00000000E8 +:108BB0000848094910B5401AC008042101EB0040DB +:108BC00006A102F039F8BDE810400E4900220E4817 +:108BD00001F0F8BBF8F20E00F0F20E00496E697475 +:108BE00069616C697A696E67206E72665F6673741C +:108BF0006F726167655F6E766D63206261636B653E +:108C00006E642E0074E30E00300100202DE9FC4755 +:108C1000154C80460F4620681549CDE900201348C1 +:108C20009946401AC6081546042000EB06403B460C +:108C30004246104902F01CF82B463A4641460E487F +:108C4000CDF8009001F01AFC050009D0022000EBDD +:108C500006402A4609A101F0F3FF2846BDE8FC873B +:108C60002068401C2060F8E750000020F8F20E0059 +:108C7000F0F20E0038E70E00300100206E72665FE1 +:108C80006673746F726167655F77726974652829AE +:108C9000206661696C65642077697468206572720A +:108CA0006F7220307825782E0000000070B51149D1 +:108CB000086011481149401AC508032000EB05401F +:108CC0000FA101F0B9FF0020FEF7CAF8114800F02B +:108CD000F3FC040008D0012000EB054022460EA161 +:108CE00001F0AEFF204670BDBDE87040094800F0BD +:108CF000ABB800004C00002048F30E00F0F20E006C +:108D0000456E746572696E6720444655206D6F64C8 +:108D1000652E0000616E0E00436F756C64206E6FEF +:108D20007420696E6974616C697A652044465520C7 +:108D30007472616E73706F72743A203078253038B7 +:108D4000780000000648074910B5401AC008042101 +:108D500001EB004004A101F06FFF002010BD0000F6 +:108D600048F30E00F0F20E00696E207765616B200B +:108D70006E72665F6466755F696E69745F75736550 +:108D8000720000001FB58908002201AB009283E841 +:108D90000700684618DF04B010BD00001FB5094A7F +:108DA0004FF480541069D2E90612CDE90004CDE9F0 +:108DB0000212684618DF072802D160040460002010 +:108DC00004B010BDE0E20E0070B50E460178134C01 +:108DD000062901D0012901D1017C217021780125CA +:108DE000012911D0022913D00D480E49401AC0089C +:108DF000012101EB00400CA101F01EFF00202070BA +:108E000005207070284670BD3146FFF7B3FDF9E7C5 +:108E10003146FFF725FE0546F4E700005800002024 +:108E200000F30E00F0F20E00496E76616C6964206A +:108E30006F626A656374207479706520696E207250 +:108E40006571756573742E0010B5040011D0002093 +:108E5000FFF7AEFE00280BD100F09CFD00F07CFE79 +:108E600048B10949081F00F005FE012803D003207E +:108E700010BD072010BD04480838C4600020FEF76C +:108E8000B1F8002010BD00006000002010B581681E +:108E900089B10A4A1821FDF70DF9040009D00848E4 +:108EA0000849401AC008022101EB004006A101F068 +:108EB000C3FE204610BD072010BD0000E58E0E0049 +:108EC00000F30E00F0F20E005363686564756C6584 +:108ED000722072616E206F7574206F6620737061EE +:108EE00063652100AFF3008070B50546806886B0E9 +:108EF00020B9414940F2A920FDF709FA18223F495B +:108F00006846FBF71FFA28788DF800003C483D4B77 +:108F10002A78181A0421C0083B4E01EB00440D2AA0 +:108F20004ED2DFE802F007463946464D4631462923 +:108F30000D243E00204635A101F07EFE012020E0F8 +:108F400020463BA101F078FE4FF08050D0F8001190 +:108F50000191D0F804110291D0F80C11890204910A +:108F6000D0F81011890203910069059031E069463B +:108F7000284602F0FBFF2CE0204636A101F05CFE03 +:108F8000287C8DF8040024E0204638A101F054FE2E +:108F9000288AADF804001CE020463BA101F04CFEFD +:108FA00017E0204641A101F047FEF16807208847FD +:108FB0000FE069462846FFF707FF50B906B070BDBD +:108FC000032101EB00403FA101F03AFE02208DF8A1 +:108FD00001009DF80120204642A101F031FED5E9B3 +:108FE0000112684690479DF801000128E6D0F1681B +:108FF00005208847E2E70000F0E70E0018E30E00C6 +:10900000F0F20E0000F30E005800002048616E647C +:109010006C65204E52465F4446555F4F505F50523C +:109020004F544F434F4C5F56455253494F4E0000EB +:1090300048616E646C65204E52465F4446555F4FF2 +:10904000505F48415244574152455F56455253493B +:109050004F4E000048616E646C65204E52465F447E +:1090600046555F4F505F50494E47000048616E645F +:109070006C65204E52465F4446555F4F505F4D54DD +:10908000555F47455400000048616E646C65204E92 +:1090900052465F4446555F4F505F524543454950E5 +:1090A000545F4E4F5449465F5345540048616E64C7 +:1090B0006C65204E52465F4446555F4F505F4142BB +:1090C0004F525400496E76616C6964206F70636F13 +:1090D00064652072656365697665643A2030782539 +:1090E000782E0000526571756573742068616E6436 +:1090F0006C696E6720636F6D706C6574652E2052AD +:109100006573756C743A203078257800F0B5521E7E +:1091100087B00F4605464C1C96B218222B4968466C +:10912000FBF710F92A482B4A3978801AC008042224 +:109130008DF8001002EB004001950C2933D2DFE8D6 +:1091400001F032150A323232122C264032062078D3 +:109150008DF8100027E02A881FA101F071FD2088FA +:10916000288068801FE0207804901CE028886880B0 +:10917000207804902179D4F8010061F31F600590F4 +:10918000049801280FD1686900F038FA0BE00494C4 +:10919000ADF81460A868039008E017A101F04CFD39 +:1091A000A889ADF81000A968204688476846FFF7EF +:1091B0006DFE002803D01549EA20FDF7A8F807B096 +:1091C000F0BD227812A101F03BFDC0E7E4E40E00FF +:1091D00050F30E00F0F20E00536574207265636563 +:1091E000697074206E6F746966207461726765744B +:1091F0003A20256400000000526563656976656465 +:109200002073657269616C206D74750090F00E00BA +:1092100052656365697665642070696E67202564B0 +:10922000000000000648074910B5401AC008022196 +:1092300001EB004004A101F0FFFC002010BD000084 +:1092400010F30E00F0F20E004E6F2061646469743A +:10925000696F6E616C206461746120657261736511 +:1092600064000000014904F02DB8000000F00F0078 +:1092700070B5054612481349401AC408042000EB93 +:10928000044011A101F0D8FC2846FFF791FC020030 +:109290004FF0010000EB044402D0204613A108E087 +:1092A00000F06CF8002000F051F9020005D02046D3 +:1092B00019A101F0C5FC032070BD002070BD0000A5 +:1092C00010F30E00F0F20E0043616C6C696E6720C3 +:1092D0006E72665F6466755F73657474696E6773DA +:1092E0005F696E697428292E2E2E00006E72665FEB +:1092F0006466755F666C6173685F696E697428295E +:10930000206661696C656420776974682065727293 +:109310006F723A20257800006E72665F6466755F32 +:1093200073657474696E67735F77726974655F6182 +:109330006E645F6261636B75702829206661696C79 +:1093400065642077697468206572726F723A2025AF +:109350007800000010B5FF224FF400710648FBF7BB +:1093600012F8054820212438FBF714F802490020A0 +:109370005C39086310BD0000A81E00202DE9F05FD5 +:109380004048FDF743FB404E074634682046FDF752 +:109390003DFB4FF0000A58B16068012806D0204616 +:1093A000FDF772F8D4F85C12884201D1012400E084 +:1093B000002436483649DFF8DC80401AC008032113 +:1093C0004FF002094FF4607B01EB0045F7B1042137 +:1093D00001EB0040074630A101F02EFC5A46294916 +:1093E0004046FAF7AFFFDCB1384631A101F024FC6A +:1093F000366844465422311D201DFAF7A3FF40F27F +:10940000C72206F15C0104F15C0007E06CB328465A +:10941000324901F011FC5A461E483168FAF792FFB2 +:10942000D8F80400444601281DD128462CA101F09B +:1094300003FC3649402201F2C710FAF783FF334993 +:109440001C22403101F2C710FAF77CFF84F860A2B9 +:10945000012184F8A1122E4884F8E2A2E169C0F843 +:109460002210C4F80490BDE8F09F4C4609EB004080 +:10947000284901F0E1FB59460648FAF78BFFC8F886 +:109480000440F0E700F00F008800002010F30E0009 +:10949000F0F20E004C1E00205573696E6720736554 +:1094A0007474696E677320706167652E0000000038 +:1094B000436F7079696E6720666F72626964646574 +:1094C0006E2070617274732066726F6D20626163CA +:1094D0006B757020706167652E000000A0E80E00BB +:1094E0004F6C642073657474696E67732070616774 +:1094F000652064657465637465642E2055706772B9 +:109500006164696E6720696E666F2E00A81F002077 +:10951000CC2000203CE80E0070B50546094803F059 +:109520003DFF084C20602046FCF7AEFFC4F85C020B +:10953000A4F5E0632A462146BDE87040024803F0E6 +:1095400033BF00004C1E002000F00F0070B5054630 +:109550000020FFF7E1FF040003D10349284603F090 +:10956000B1FE204670BD00004C1E002010B54FF427 +:1095700040541249606888421ED1002304221049D9 +:10958000201DFFF743FB58B10E480F49BDE81040BE +:10959000401AC008012101EB00400CA101F04CBBB6 +:1095A0001348016A012901D1002101628169A26881 +:1095B0001144A1F58051816110BD0000DBE5B1517E +:1095C00050E30E0048F30E00F0F20E00436F756C8E +:1095D00064206E6F7420696E76616C696461746575 +:1095E00020536F66744465766963652E0000000041 +:1095F0004C1E00204FF48050704700002DE9F047CA +:109600001449DFF854808146A1EB0800C7081348CD +:1096100013490026401AC108042000EB014005460A +:109620003A4610A101F00CFB00240EE008EBC40048 +:10963000416848468847060006D0284633462246F9 +:1096400012A101F004FB02E0641CBC42EED33046E0 +:10965000BDE8F087E0F20E00D8F20E0048F30E00ED +:10966000F0F20E005368757474696E6720646F774A +:109670006E207472616E73706F7274732028666FDF +:10968000756E643A20256429000000004661696C0B +:10969000656420746F2073687574646F776E2074CE +:1096A00072616E73706F72742025642C2065727203 +:1096B0006F722025640000002DE9F0471449DFF89F +:1096C00054808146A1EB0800C708134813490026BF +:1096D000401AC108042000EB014005463A4610A19B +:1096E00001F0AEFA00240DE058F8341048468847DF +:1096F000060006D028463346224612A101F0A7FAFA +:1097000002E0641CBC42EFD33046BDE8F0870000A5 +:10971000E0F20E00D8F20E0048F30E00F0F20E0058 +:10972000496E697469616C697A696E6720747261E7 +:109730006E73706F7274732028666F756E643A2052 +:10974000256429004661696C656420746F20696E28 +:10975000697469616C697A65207472616E73706F87 +:1097600072742025642C206572726F72202564004B +:10977000012203F02DB9000038B5144602780B46DB +:10978000FAB1012A09D0022A1DD0032A23D0174991 +:1097900040F2B330FCF7BBFD25E0D0F801500022C9 +:1097A00021461846FDF714F9A8420AD0104811497D +:1097B0000122401AC008042101EB00400EA101F073 +:1097C0003FFA012038BD01B02246BDE830400023F9 +:1097D000401C00F023B8411C40220020009400F0FF +:1097E00017FA0128EED0002038BD00008CEB0E00E7 +:1097F00018F30E00F0F20E004352432063686563D5 +:109800006B206F6620617070206661696C65642EE4 +:109810002052657475726E20256400002DE9F043B6 +:10982000ABB007462020894629901C46904601256A +:109830007C2102A8FAF7AEFDFDF7F8F82CB1202242 +:10984000394621A8FEF738FE21AF24482449434673 +:10985000401AC608042000EB064004464A4621A1EF +:1098600001F0F5F929A92C48CDE9000143464A4603 +:109870002A4902A8FEF760FD020006D0012000EB95 +:10988000064027A101F0DCF922E0202239462248D7 +:10989000FAF792FDE8B1022000EB06402DA101F09D +:1098A000CBF9204632A101F0C7F9204620223946E3 +:1098B00001F06CF9204633A101F0BEF920462022C8 +:1098C000154901F063F900BF01F046F80028FBD10B +:1098D00000252BB02846BDE8F083000018F30E00E9 +:1098E000F0F20E00486173682076657269666963FC +:1098F0006174696F6E2E2073746172742061646488 +:10990000726573733A20307825782C2073697A65F4 +:109910003A20307825780000A025002014E10E00C0 +:10992000436F756C64206E6F742072756E20686171 +:10993000736820766572696669636174696F6E2009 +:10994000286572725F636F64652030782578292EF0 +:10995000000000004861736820766572696669637B +:109960006174696F6E206661696C65642E00000029 +:109970004578706563746564204657206861736834 +:109980003A00000041637475616C2046572068619D +:1099900073683A0010B50648064C806B20B103F09E +:1099A000C7FE08B1012000E00020207010BD0000BB +:1099B0004C1E00208C0000202DE9F041144C07467D +:1099C0000D46E06BA26B0126411991420BD911485B +:1099D0001149401AC008012101EB00400FA101F01C +:1099E0002BF9032610E00A492A465C31084439461F +:1099F000FAF7A8FCE06B064A2844E06340322946A7 +:109A00003846FCF7E5FF20643046BDE8F0810000F1 +:109A10004C1E002018F30E00F0F20E00496E69741F +:109A200020636F6D6D616E64206C6172676572207A +:109A30007468616E2065787065637465642E0000DB +:109A400070B504004FF0010504D0B4F5007F03D9D0 +:109A5000042508E0032506E0044900200870FFF70C +:109A600079FC03488463284670BD00008C00002008 +:109A70004C1E00202DE9F041064624480F46254B98 +:109A8000D0E90E1222484FF00108C01AC00808EBB6 +:109A900000448A4205D020461FA101F0CDF80824D9 +:109AA00030E0244D287840B1FEF78AFD3060394619 +:109AB000E86804F017FA044624E003F039FEE0B148 +:109AC00000F050F80446002030603860012C0ED1C0 +:109AD0003946E86804F006FA0446012807D1324600 +:109AE0003968E86804F0B8F90446012802D0FFF7A5 +:109AF00031FC07E085F8008004E020460EA101F06B +:109B00009BF805242046BDE8F08100004C1E002093 +:109B100018F30E00F0F20E00457865637574652049 +:109B200077697468206661756C7479206F666673F6 +:109B3000657400008C0000204661696C65642074C7 +:109B40006F206465636F646520696E69742070615D +:109B5000636B6574000000000148007870470000E6 +:109B60008C000020F8B51C48041D002690F86C31CC +:109B7000314632463BB190F8D862B0F8DA2200F5AF +:109B8000B87400F53771154DA868009030466B68C1 +:109B900000F03EF80646012805D1201D00F044F9EA +:109BA0000646012816D00E480E49401AC408022065 +:109BB00000EB04400CA101F03FF8042000EB04444A +:109BC0000FA1204601F038F82889696882B2204642 +:109BD00000F0DCFF3046F8BDCC2100208C000020D6 +:109BE00018F30E00F0F20E0050726576616C696435 +:109BF0006174696F6E206661696C65642E00000097 +:109C0000496E697420636F6D6D616E643A00000087 +:109C10002DE9F047CCB080462020DDF850910F466A +:109C20004A909A4616467C212BA8FAF7B3FBA4214A +:109C300002A8FAF7AFFBFCF7F9FE40484049401A8A +:109C4000C508032000EB054004463EA100F0F4FFE8 +:109C500057B1B8F1000F20460ED044A100F0ECFF40 +:109C600016204CB0BDE8F087022000EB054045A16E +:109C700000F0E2FF1320F4E74A4647A100F0E0FFBE +:109C80004AA94C48CDE900014B4652464A492BA807 +:109C9000FEF752FB08B9402E01D00A20E1E7454803 +:109CA000324639464038FAF74DFB204643A100F0D2 +:109CB000C3FF404820214038FEF7CFFB3D484021FC +:109CC0004038CDE90001A0F148013A4A02A84A9B78 +:109CD000FEF7E2FA02002BD0012000EB05403CA188 +:109CE00000F0AEFF042000EB054442A1204600F046 +:109CF000A3FF304920464022403900F047FF20466C +:109D00003FA100F099FF4A982A4982B2204600F00C +:109D10003DFF20463CA100F08FFF204640223D49F8 +:109D200000F034FF00F018FE0028FBD1052098E772 +:109D3000204639A100F080FF012092E718F30E00C1 +:109D4000F0F20E005369676E61747572652072657A +:109D50007175697265642E20436865636B696E670F +:109D6000207369676E61747572652E00496E766145 +:109D70006C6964207369676E6174757265207479AB +:109D8000706500004E6F207369676E61747572654F +:109D900020666F756E642E0043616C63756C617430 +:109DA000696E67206861736820286C656E3A2025AB +:109DB000642900008025002014E10E0056657269B8 +:109DC0006679207369676E617475726500000000C2 +:109DD0005369676E6174757265206661696C65644C +:109DE00020286572725F636F64653A203078257849 +:109DF000290000005369676E61747572653A00004E +:109E0000486173683A0000005075626C6963204BCA +:109E100065793A00A8E00E00496D616765207665B6 +:109E200072696669656400002DE9F04104004FF035 +:109E3000010603D133499E20FCF769FA3248334AC0 +:109E400094F85410801AC008012202EB004541B179 +:109E500094F8550040B1012806D0022804D0032808 +:109E600002D028462AA147E01CB926497D20FCF7EC +:109E70004EFA94F86E00032805D028462AA100F077 +:109E8000DBFE14263BE094F8920018B194F893009E +:109E9000002834D1207A78B11C4A1B4B02209A1A30 +:109EA000D208E16800EB0247342908D0384623A1E4 +:109EB00000F0C2FE112622E0284625A11CE0204623 +:109EC00003F09EF930B1207880B12046FDF7B2F85A +:109ED00030B114E0384622A100F0AEFE12260EE0AA +:109EE000384623A100F0A8FE102608E094F855009B +:109EF000012804D0284623A100F09EFE0F263046FC +:109F0000BDE8F081D4EB0E0020F30E00F0F20E005D +:109F1000496E76616C6964206669726D77617265FD +:109F200020747970652E0000496E76616C6964203A +:109F30006861736820747970652E00004661756CE5 +:109F400074792048572076657273696F6E2E000011 +:109F50004E6F2048572076657273696F6E2E000031 +:109F6000534420726571206E6F74206D65742E00ED +:109F700046572076657273696F6E20746F6F206C20 +:109F80006F772E0046572076657273696F6E206D6D +:109F9000697373696E672E0070B5064604780C48C5 +:109FA00088B0154640F82420094A0869083242F86A +:109FB000240020226846FAF7C5F904940DB1054A39 +:109FC00000E000226946301D01F02EF908B070BD96 +:109FD0009C00002041DC0E00001D01F07DB9000056 +:109FE0000FB438B5040003D110A11C20FCF78FF981 +:109FF000606918B90DA11D20FCF789F9206818B90E +:10A000000AA11E20FCF783F9606818B907A11F2078 +:10A01000FCF77DF90599002905D006A800906A464D +:10A02000204600F045F838BC5DF814FB2E2E5C2E5F +:10A030002E5C2E2E5C2E2E5C2E2E5C657874657246 +:10A040006E616C5C667072696E74665C6E72665F7F +:10A05000667072696E74662E6300000010B50400AD +:10A0600003D107A10B20FCF752F9A268002A05D002 +:10A07000D4E90403216898470020A06010BD0000C7 +:10A080002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C65D3 +:10A09000787465726E616C5C667072696E74665C11 +:10A0A0006E72665F667072696E74662E6300000081 +:10A0B0002DE9FC4791460C465FEA000804D183A1D4 +:10A0C00040F25220FCF723F9D8F8140020B97FA100 +:10A0D0004FF41570FCF71BF9D8F8000020B97BA1EC +:10A0E00040F25520FCF713F9D8F8040020B977A105 +:10A0F00040F25620FCF70BF9002C76D014F8011B27 +:10A1000039B125290ED04046FCF756FB20780028AF +:10A11000F4D198F80C00002867D04046BDE8FC4711 +:10A12000FFF79CBF0020012221782B291BD02D296D +:10A1300002D0302908D102E040F0010001E040F0F7 +:10A140000200641C002AEFD100252A290ED02178B4 +:10A15000A1F130020A2A11D205EB850201EB42057A +:10A16000641C303DF1E740F00400EAE7D9F8001044 +:10A170000B1DC9F800300968641C0D4421780023C8 +:10A180002E290BD114F8011FA1F130020A2A05D2A1 +:10A1900003EB830201EB4203303BF3E76C290DD064 +:10A1A00068290BD0692921D00BDC252918D0582922 +:10A1B00031D063290ED0642915D117E014F8011F9E +:10A1C000ECE7702969D0732932D075291BD0782922 +:10A1D00009D120E0D9F80000011DC9F8001001786C +:10A1E0004046FCF7E9FA641C90E76CE0D9F80010EF +:10A1F0000A1DC9F800200968CDE900500A2240462E +:10A20000FDF73EF8EFE7D9F800100A1DC9F8002065 +:10A2100009680A2206E0D9F800100A1DC9F80020D2 +:10A2200009681022CDE90050404603F0BBFDDAE793 +:10A23000D9F8001000270A1DC9F800200E68C007D1 +:10A2400005D112E04046761C7F1CFCF7B5FA317848 +:10A250000029F7D104E0202140466D1EFCF7ACFA3E +:10A26000BD42C0D9002DF6D1BDE74EB13046FAF758 +:10A270009CF8074604E0202140466D1EFCF79CFA3E +:10A28000BD4206D9002DF6D103E04046761CFCF70E +:10A2900093FA31780029F8D1A5E7D9F80000011D1B +:10A2A000C9F80010056830214046FCF785FA78218E +:10A2B0004046FCF781FA08200021CDE90001034661 +:10A2C00010222946B0E7BDE8FC8700002E2E5C2E48 +:10A2D0002E5C2E2E5C2E2E5C2E2E5C6578746572A4 +:10A2E0006E616C5C667072696E74665C6E72665FDD +:10A2F000667072696E74665F666F726D61742E63EC +:10A30000000000002DE9F0411E4615460F460400EE +:10A3100003D11DA17820FBF7FAFF206818B91AA114 +:10A320007920FBF7F4FF1DB917A17A20FBF7EFFFA7 +:10A3300039462046FBF738FD40B939462046FBF741 +:10A3400033FD18B910A17D20FBF7E1FF60683946A5 +:10A35000026820466A43FBF730FD58B96068394609 +:10A36000026820466A43FBF728FD18B906A17F2042 +:10A37000FBF7CDFF206833462A46D0F810C0394697 +:10A380002046BDE8F04160472E2E5C2E2E5C2E2E1E +:10A390005C2E2E5C2E2E5C636F6D706F6E656E741E +:10A3A000735C6C69627261726965735C6673746F09 +:10A3B000726167655C6E72665F6673746F72616707 +:10A3C000652E630070B516460C46050003D108A142 +:10A3D0002F20FBF79CFF1CB905A13020FBF797FF4E +:10A3E0002C60314628462268BDE8704010470000C6 +:10A3F0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6362 +:10A400006F6D706F6E656E74735C6C696272617291 +:10A410006965735C6673746F726167655C6E7266A2 +:10A420005F6673746F726167652E63002DE9F0419A +:10A4300028B1016819B1C969BDE8F04108470D4D5F +:10A440000D480024461B14270DE000BF04EB8400D8 +:10A4500005EB8000016829B1C969884710B1012066 +:10A46000BDE8F081641CB6FBF7F0A042EED80020F6 +:10A47000F6E7000030010020440100202DE9F843F8 +:10A480001D46089F16468846040003D12AA1622073 +:10A49000FBF73DFF1EB928A16320FBF738FF2068BA +:10A4A00018B925A16420FBF732FF1DB922A1652050 +:10A4B000FBF72DFF60684068B5FBF0F100FB115120 +:10A4C00041B1B5FBF0F100FB115018B11AA16820A1 +:10A4D000FBF71DFF4046FBF761FC38B94046FBF730 +:10A4E0005DFC18B914A16B20FBF711FF3046FBF798 +:10A4F00055FC38B93046FBF751FC18B90EA16C2059 +:10A50000FBF705FF2A4641462046FBF756FC48B9B3 +:10A510002A4641462046FBF750FC18B906A16D209B +:10A52000FBF7F5FE009720682B463246C768414688 +:10A530002046B847BDE8F8832E2E5C2E2E5C2E2ECA +:10A540005C2E2E5C2E2E5C636F6D706F6E656E746C +:10A55000735C6C69627261726965735C6673746F57 +:10A56000726167655C6E72665F6673746F72616755 +:10A57000652E63002DE9FF411C46DDE90A7815468A +:10A580000E46684600F044F846EA450141EA840177 +:10A5900041EA072242EA0841009A00EB8200C0F833 +:10A5A0000017BDE8FF812DE9FF411C46DDE90A786F +:10A5B00015460E46684600F0A7F846EA450141EA0E +:10A5C000840141EA072242EA0841009A00EB820036 +:10A5D000C0F80017BDE8FF811CB5002100910B46B3 +:10A5E00001220191FFF7DFFF1CBD1CB500220B46C5 +:10A5F000009211460192FFF7D6FF1CBD1CB5002149 +:10A6000000910B46012201911146FFF7CCFF1CBDC2 +:10A6100010B5016804464A094FF0000002D0012A33 +:10A6200005D102E04FF0FF3001E04FF6FF7001F07E +:10A630001F0201219140014204D108A14FF4E370AF +:10A64000FBF765FE2068202802D24FF0A04010BD25 +:10A6500000F01F0020600C4810BD00002E2E5C2E64 +:10A660002E5C2E2E5C2E2E5C2E2E5C6D6F64756C17 +:10A6700065735C6E7266785C68616C5C6E72665F56 +:10A680006770696F2E6800000003005010B5016804 +:10A6900004464A094FF0000002D0012A05D102E029 +:10A6A0004FF0FF3001E04FF6FF7001F01F02012173 +:10A6B0009140014204D108A14FF4E370FBF727FE5B +:10A6C0002068202802D24FF0A04010BD00F01F00EB +:10A6D00020600C4810BD00002E2E5C2E2E5C2E2E0D +:10A6E0005C2E2E5C2E2E5C6D6F64756C65735C6EDB +:10A6F0007266785C68616C5C6E72665F6770696FC9 +:10A700002E6800000003005010B5016804464A0995 +:10A710004FF0000002D0012A05D102E04FF0FF30D7 +:10A7200001E04FF6FF7001F01F020121914001424C +:10A7300004D108A14FF4E370FBF7E9FD206820285D +:10A7400002D24FF0A04010BD00F01F0020600C4866 +:10A7500010BD00002E2E5C2E2E5C2E2E5C2E2E5C4C +:10A760002E2E5C6D6F64756C65735C6E7266785CC2 +:10A7700068616C2F6E72665F6770696F2E6800008B +:10A780000003005001B56846FFF7BEFF009A0121A3 +:10A790009140C0F8081508BD38B5012400906846FE +:10A7A00031B1FFF735FF00998C40C0F8084538BD3E +:10A7B000FFF72EFF00998C40C0F80C4538BD000013 +:10A7C00030B5134B014600201C6922460AE0D268CE +:10A7D0001579854205D1401C0A28F6DB4FF0FF3081 +:10A7E00030BD1268002AF2D1421CF9D0CA6810713B +:10A7F0001A693AB1D268CC68126822601A69D268C4 +:10A80000116030BD1961C96800220A6030BD0000C6 +:10A810007C3700207047FBF7CBB8704708B5034A78 +:10A8200000924023024A00F005F808BD75D20E00E0 +:10A83000E4250020F0B595B01C4615460F460846A5 +:10A840001A9E00F06BFB182109A8F9F7A3FD0E96DC +:10A85000CDE909540023082203A9384600F074FB0F +:10A8600005980690BDF81000ADF81C00BDF8120068 +:10A87000ADF81E0000208DF821000398082600F096 +:10A880000300012802D0022818D032E00398334692 +:10A89000850AC0F3C2008DF8200003980FA9C0F309 +:10A8A0008314A200384600F04FFB09A8009006ABC5 +:10A8B00022460FA9284600F08DFA1AE00398840D6D +:10A8C000C0F3C2008DF82000082C01D2254600E01C +:10A8D000082533462A460FA9384600F035FB2E449A +:10A8E000641B09AB06AA29460FA800F0D9F9002C71 +:10A8F000EAD1384600F018FB15B0F0BD0A4A01292C +:10A9000002EBC00007D0022907D0032907D0042991 +:10A9100007D000207047022070470420704700795C +:10A920007047407970470000F0F20E0010B5FFF755 +:10A9300072FF04210648FFF743FF002803DA0549A8 +:10A940001B20FBF7E4FC02490120C968487110BDD7 +:10A95000E0F20E00E0EF0E002DE9F04F8DB0FBF7B6 +:10A9600043FF18B100200DB0BDE8F08F7C4E0020F1 +:10A97000B061BFF34F8FA6F580547A49A06802906A +:10A980000D684FF00009284004EB80000AE0B06930 +:10A9900070B961680298814201D8A160E2E728405D +:10A9A00004EB80000C3002A9FCF71EFD0028EED15C +:10A9B000002003AAA046029901EA050308EB8303DD +:10A9C000491CDB6842F82030401C02910228F2D377 +:10A9D000039800F00300022802D001284ED0A6E020 +:10A9E0000398810D024650208A46B0EB925F00D852 +:10A9F00050210C46104664F39F50039008315A488A +:10AA000000F043FA070075D000F088FA4B460822A0 +:10AA100003A9384600F0C4FA029909F1080B29404D +:10AA2000681A8000001D844221D9504D30B1C2B255 +:10AA300008EB8101201A91460C3104E02946E2B26C +:10AA4000002591462846C4B25B46384600F0A8FA75 +:10AA50000BEB090325B122462946384600F0A0FA3F +:10AA600002990AF1030001EB900002903BE008EB31 +:10AA700081015B46224638460C31EFE70398C0F36C +:10AA80008310062800D30620039960F38911C1F3CF +:10AA90008310801C03918100334800F0F6F9070011 +:10AAA00045D000F03BFA4B46082203A9384600F097 +:10AAB00077FA09F1080900240FE002984B4600EAF2 +:10AAC0000501401C08EB81010290042238460C313C +:10AAD00000F066FA09F10409641C0398C0F38310BE +:10AAE000A042EAD837B13469B06978B1384600F08D +:10AAF0001BFA30E01BE0E0684079012804D12268AD +:10AB00002046394612689047E0680468002CF2D16C +:10AB1000384600F009FA0020FBF750FBB06910B985 +:10AB20000299C8F808100020FBF776FB13E034699F +:10AB300005E02168204689688847E0680468002CA1 +:10AB4000F7D10B480B49401AC008022101EB004025 +:10AB500009A100F071F8FBF747FE80F0010002E761 +:10AB60007C370020D80000206CF30E0088270020DE +:10AB700048F30E00F0F20E004261636B656E647381 +:10AB800020666C7573686564000000002DE9F84F5D +:10AB90008146274FD01C15468A4680080022694608 +:10ABA0003E68FBF7B3FDDFF88C80B0B3009CA01CBF +:10ABB000009039683040091A8F003F1DBD4208EBF4 +:10ABC000800002D82A46514608E03A4651460C30E9 +:10ABD000F9F7B8FB1748EA1B0AEB07010C30F9F745 +:10ABE000B1FB4FEA1947FCF7A5F947EA0042601CA0 +:10ABF000304008EB8000344008EB8401C260C86834 +:10AC00004FF6C07269F3C500904365F39F5020F082 +:10AC10000300801C20F00400C86098F8000001E0E8 +:10AC2000FFF79AFE0028FBD1FCF781FCBDE8F88F06 +:10AC3000D80000207C27002000231A4602F042BDE5 +:10AC400008B5012300926A4602F03CFD08BD1CB520 +:10AC5000CDE9002302236A4602F034FD1CBD3EB557 +:10AC6000069C8DE81C0003236A4602F02BFD3EBDC6 +:10AC70007FB5DDE908458DE83C0004236A4602F013 +:10AC800021FD7FBD70B586B00DF1280C9CE87000E9 +:10AC90008DE87C0005236A4602F014FD06B070BD05 +:10ACA0002DE9F0470E4680461C469246082940D8BA +:10ACB00094F80C90002020731946104601F0D2FF42 +:10ACC0000025B54206D218F805201BA12046FFF743 +:10ACD00087F903E01AA12046FFF782F96D1C082DC1 +:10ACE000EFD318A12046FFF77BF90025B54212D219 +:10ACF00018F805707E2F08D8F9F720FB0068C05DB2 +:10AD000010F03E0F01D03A4600E02E220EA1204660 +:10AD1000FFF766F903E00DA12046FFF761F96D1C0E +:10AD2000082DE3D301222146504601F033FE84F87A +:10AD30000C90BDE8F087000020253032780000003C +:10AD4000202020007C00000025630000200000007F +:10AD5000064910B500200870054800F0E3F8002807 +:10AD600003D1044800F09AF9002010BD7C27002090 +:10AD70006CF30E00D8E40E0002480349401AC008E4 +:10AD80007047000058F30E00F0F20E0013B568464D +:10AD9000FCF70CFD08B100201CBD0248009950F8DA +:10ADA00031001CBDF0F20E0070B5094801250469A0 +:10ADB000A0F58050057007E0E068457121682046E5 +:10ADC00049688847E0680468002CF5D170BD000030 +:10ADD0007C3700202DE9FF4781460C9D00200C4662 +:10ADE0002F7B2873984616462946184601F03AFFED +:10ADF000072E42D2DFE806F004090F161F2A36009C +:10AE000049462846FFF7ECF837E0494628462268CD +:10AE1000FFF7E6F831E0D4E9002349462846FFF77A +:10AE2000DFF82AE0A0680090D4E9002349462846CC +:10AE3000FFF7D6F821E0D4E90201CDE90001D4E919 +:10AE4000002349462846FFF7CBF816E004F1080036 +:10AE500007C88DE80700D4E9002349462846FFF7D4 +:10AE6000BFF80AE004F108000FC88DE80F00D4E92C +:10AE7000002349462846FFF7B3F8002229464046FA +:10AE800001F088FD2F73BDE8FF872DE9F041058AA9 +:10AE900080462D1F4819C01CB0FBF5F0C6B24046D5 +:10AEA000FCF7D0FC041E19D0002020710120607135 +:10AEB000E58000272546761EC4F800800BE040465A +:10AEC000FCF7C0FC60B16179491C617128600546DE +:10AED0007F1CC0F80080B742F1D32046BDE8F08166 +:10AEE000204600F002F80020F8E72DE9F04145790E +:10AEF00001466B1E002201E00968521C9A42FBD3F6 +:10AF00000F680146002605E038460C68FCF7FCFC9B +:10AF10002146761CAE42F7D3BDE8F0810121001D29 +:10AF2000FCF768BCFCF734BD10B504460121001DD8 +:10AF3000FCF781FC10F0FF0F04D12046BDE8104063 +:10AF4000FFF7D3BF10BD00001CB514460122CDE9A8 +:10AF5000002401AAFCF7BCFB0198A04203D002A187 +:10AF6000DA20FBF7D4F91CBD2E2E5C2E2E5C2E2E83 +:10AF70005C2E2E5C2E2E5C636F6D706F6E656E7432 +:10AF8000735C6C69627261726965735C6D656D6F2B +:10AF9000626A5C6E72665F6D656D6F626A2E6300D9 +:10AFA0001CB514460022CDE9002401AAFCF790FB51 +:10AFB0000198A04203D002A1D020FBF7A8F91CBD44 +:10AFC0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6386 +:10AFD0006F6D706F6E656E74735C6C6962726172B6 +:10AFE0006965735C6D656D6F626A5C6E72665F6DDC +:10AFF000656D6F626A2E6300094902220A60BFF321 +:10B000006F8FBFF34F8F0A1D106006480268002A39 +:10B01000FCD000200860BFF36F8FBFF34F8F7047E5 +:10B0200004E5014000E40140094A01231360BFF335 +:10B030006F8FBFF34F8F0160064801680029FCD075 +:10B0400000201060BFF36F8FBFF34F8F7047000079 +:10B0500004E5014000E4014070B50E4C012323607B +:10B06000BFF36F8FBFF34F8F00230B4D08E000BF7E +:10B0700051F8236040F823602E68002EFCD05B1C42 +:10B080009342F5D300202060BFF36F8FBFF34F8F43 +:10B0900070BD000004E5014000E401408268002129 +:10B0A000916082681161826851618268D1608268B2 +:10B0B000516080680160704708B5002242504058D6 +:10B0C000009008BD0C4A10B502F58C730EE0991A79 +:10B0D000C91001EBD171491002EBC1010C68844227 +:10B0E00001D90B4602E005D201F108029A42EED3E3 +:10B0F000002010BD486810BDA8E30E0000B5FFF7A2 +:10B10000E1FF002800D1014800BD000094E30E00DB +:10B110004058002800D00120704708B50022425056 +:10B120004058009008BD000002480068002800D088 +:10B1300001207047000401400121B1EB507F01D193 +:10B14000012070470020704770B50D46040003D100 +:10B150000DA15120FBF7DBF8204601F0DDFD0400D6 +:10B160000FD00020FBF72AF8207920B10020FBF750 +:10B1700053F8112070BD0120256020710020FBF7DD +:10B180004BF8002070BD00002E2E5C2E2E5C2E2E63 +:10B190005C2E2E5C2E2E5C6D6F64756C65735C6E20 +:10B1A0007266785C647269766572735C7372635CF4 +:10B1B0007072735C6E7266785F7072732E630000DB +:10B1C00010B5040003D106A17520FBF7A0F82046B6 +:10B1D00001F0A2FD002802D000210160017110BD24 +:10B1E0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6D5A +:10B1F0006F64756C65735C6E7266785C6472697698 +:10B200006572735C7372635C7072735C6E72667885 +:10B210005F7072732E6300000149024802F028BD7E +:10B22000C0250020002000402DE9F04117460D0008 +:10B23000064603D118A1A920FBF769F83079244A02 +:10B2400000EBC00102EB810494F8201011B108203A +:10B25000BDE8F0811F4951F820103068FFF774FFF6 +:10B2600008B11120F4E729463046FBF715F867606E +:10B27000286920601FB1297F3046FCF755F83068F7 +:10B280000821C0F800150020A061E0616061012183 +:10B2900084F82010DCE700002E2E5C2E2E5C2E2E73 +:10B2A0005C2E2E5C2E2E5C6D6F64756C65735C6E0F +:10B2B0007266785C647269766572735C7372635CE3 +:10B2C0006E7266785F75617274652E6300000000AF +:10B2D000C025002054E30E002DE9F05F04460079FC +:10B2E0000F46DFF834A100EBC0010AEB81051646DA +:10B2F00095F82000012804D048A14FF4C070FBF756 +:10B3000006F827B945A140F28110FBF700F826B9ED +:10B3100042A14FF4C170FAF7FAFF207910B9B6F5DF +:10B32000803F04D33DA140F28310FAF7F0FF384686 +:10B33000FFF702FFB0B168684FF000084FF40479DE +:10B3400010B12168C1F80893A8694FF0000B80B1D3 +:10B35000E86948B1686810B12068C0F8049311200A +:10B36000BDE8F09F1020FBE72F614FF00108EE6170 +:10B3700002E0EF60C5E9066B00254FF48871206894 +:10B38000FFF7CBFE4FF4A2712068FFF7C6FE2068DE +:10B39000C0F83475C0F838652068B8F1000F12D0D5 +:10B3A000D0F8001241F02001C0F800122079D046F8 +:10B3B00000EBC0010AEB8100406838B12168C1F898 +:10B3C00004932846CCE701210160EFE74FF4887A27 +:10B3D0004FF4A27951462068FFF79AFE0746494686 +:10B3E0002068FFF795FE06464FF492712068FFF73C +:10B3F0008FFE014647EA06000843EBD0227902EBB4 +:10B40000C20308EB8302C2F818B001B10325002E75 +:10B41000D7D00F25D5E70000C02500202E2E5C2EAA +:10B420002E5C2E2E5C2E2E5C2E2E5C6D6F64756C49 +:10B4300065735C6E7266785C647269766572735C63 +:10B440007372635C6E7266785F75617274652E6389 +:10B45000000000002DE9F04704460F460079364908 +:10B4600000EBC00001EB8005164695F8200001288E +:10B4700004D032A140F22D10FAF749FF27B92FA1CD +:10B480004FF49770FAF743FF26B92CA140F22F1022 +:10B49000FAF73DFF207910B9B6F5803F04D327A114 +:10B4A0004FF49870FAF733FF3846FFF745FE30B196 +:10B4B000204600F05FF820B11120BDE8F087102091 +:10B4C000FBE76E61AF604FF490774FF000083946AC +:10B4D0002068FFF722FE4FF4AC7631462068FFF774 +:10B4E0001CFE2068AA686969C0F84425C0F84815A0 +:10B4F00020684FF00109C0F808906868D0B9BA46D2 +:10B5000051462068FFF704FE074631462068FFF7E2 +:10B51000FFFD0743F4D010B14FF00F0808E020689A +:10B52000C0F80C9031462068FFF7F2FD0028F9D0F2 +:10B53000002068614046C0E7C02500202E2E5C2E0A +:10B540002E5C2E2E5C2E2E5C2E2E5C6D6F64756C28 +:10B5500065735C6E7266785C647269766572735C42 +:10B560007372635C6E7266785F75617274652E6368 +:10B57000000000000079054900EBC00001EB8000ED +:10B580004069002800D0012070470000C02500203D +:10B590002DE9F047064600793D4900EBC00001EB7C +:10B5A0008005346868680127A8B13A49C4F80813CF +:10B5B000306840F3073000280DDB00F01F0107FA68 +:10B5C00001F14009800000F1E020C0F88011BFF3D4 +:10B5D0004F8FBFF36F8FD4F8000220F02000C4F823 +:10B5E0000002A8694FF4A27820B141462046FFF737 +:10B5F00094FD67604FF4AC7949462046FFF78DFD16 +:10B60000E760474649462046FFF782FD0028F9D00B +:10B61000A86928B139462046FFF77AFD0028F1D005 +:10B620004FF0000AC4F800A53068D0F80C25D0F817 +:10B630001495D0F80885D0F810754FF0FF31C0F898 +:10B640000C15C0F814153068C0F80815C0F81015AE +:10B65000501C02D01046FEF7BFFFB9F1FF3F02D0E9 +:10B660004846FEF7B9FF781C02D03846FEF7B4FF13 +:10B67000B8F1FF3F02D04046FEF7AEFF2046FFF78D +:10B680009FFD85F820A0C5F804A0BDE8F087000064 +:10B69000C0250020100342000349086003480168E8 +:10B6A0000029FCD07047000004E5014000E401409F +:10B6B00070B50C46050003D10E49DE20FAF727FECF +:10B6C0001CB90C49DF20FAF722FE0B480B49401A3F +:10B6D000C008042101EB004009A1FFF7ADFA1349AE +:10B6E0000320C96888476869FEF7AAF9FBF76BFC75 +:10B6F000607070BDF0E70E0000F30E00F0F20E0077 +:10B7000048616E646C65204E52465F4446555F4FFB +:10B71000505F4F424A4543545F4352454154452090 +:10B7200028636F6D6D616E64290000005800002071 +:10B7300070B50D4620B916494FF48370FAF7E7FD4E +:10B7400025B9134940F20710FAF7E1FD11481249F3 +:10B75000401AC108042000EB014004460FA1FFF786 +:10B760006BFA1949081FFEF785F9FBF72CFC687086 +:10B77000012805D10020FDF7E9FE10B10A2068700C +:10B7800070BD2046BDE8704010A1FFF755BA00001B +:10B79000F0E70E0000F30E00F0F20E0048616E6458 +:10B7A0006C65204E52465F4446555F4F505F4F4296 +:10B7B0004A4543545F455845435554452028636FD7 +:10B7C0006D6D616E6429000060000020577269741D +:10B7D000696E672076616C696420696E69742063A4 +:10B7E0006F6D6D616E6420746F20666C6173682E7E +:10B7F0000000000070B50D46040003D11849EC208C +:10B80000FAF785FD206918B91549ED20FAF77FFD93 +:10B81000A08A18B91249EE20FAF779FD1DB910492E +:10B82000EF20FAF774FD0F480F49401AC0080421B1 +:10B8300001EB00400DA1FFF7FFF9A18A2069FEF797 +:10B84000BBF8FBF7C0FB68702846FBF7AFF8E16870 +:10B85000002903D02069BDE87040084770BD000092 +:10B86000F0E70E0000F30E00F0F20E0048616E6487 +:10B870006C65204E52465F4446555F4F505F4F42C5 +:10B880004A4543545F57524954452028636F6D6DB4 +:10B89000616E64290000000070B50E460B480C492B +:10B8A000401AC108042000EB01440AA12046FFF71A +:10B8B000C3F9114D204611A1AB6C2A6DFFF7C7F9F2 +:10B8C000A86CB060286D706070BD000000F30E00C1 +:10B8D000F0F20E0048616E646C65204E52465F4483 +:10B8E00046555F4F505F4352435F4745542028649D +:10B8F00061746129000000004C1E00204F666673D1 +:10B9000065743A25642C204352433A307825303808 +:10B91000780000002DE9F84F0D46074637483849B2 +:10B920004FF00409401AC40809EB0440064635A14B +:10B93000FFF782F9FEF710F9012101EB04444FF003 +:10B94000080AA8B17A694FF00308B2B137493848FC +:10B95000130515D0436DD1F808C0134463450FD0CB +:10B96000204634A1FFF768F985F80180BDE8F88F1B +:10B97000204639A1FFF760F919E0204644A1F1E71C +:10B98000B2F5805F06D9204648A1FFF755F985F842 +:10B990000190EBE7436DD1F808C003EB0208E045E6 +:10B9A00008D920464A49CDF800C0FFF758F985F874 +:10B9B00001A0DBE74264C26C0365036380468264D6 +:10B9C0007869002200F6FF70070B48683946184472 +:10B9D000FDF784F830B120463EA1FFF72DF9052090 +:10B9E0006870C3E7D8F84810009130463FA1D8F8F6 +:10B9F0005030D8F84420FFF732F9B7E700F30E00D3 +:10BA0000F0F20E0048616E646C65204E52465F4451 +:10BA100046555F4F505F4F424A4543545F4352453E +:10BA200041544520286461746129000058000020B9 +:10BA30004C1E00204F626A6563742073697A65202A +:10BA40006D757374206265207061676520616C6933 +:10BA5000676E65640000000043616E6E6F74206362 +:10BA600072656174652064617461206F626A6563E8 +:10BA70007420776974686F75742076616C696420CE +:10BA8000696E697420636F6D6D616E640000000003 +:10BA90004F626A6563742073697A652063616E6EB4 +:10BAA0006F7420626520302E00000000496E7661C0 +:10BAB0006C69642073697A6520666F72206F626AB0 +:10BAC0006563742028746F6F206C6172676529004C +:10BAD0007CE70E004572617365206F70657261745A +:10BAE000696F6E206661696C656400004372656110 +:10BAF00074696E67206F626A656374207769746821 +:10BB00002073697A653A2025642E204F6666736536 +:10BB1000743A203078253038782C204352433A202C +:10BB200030782530387800002DE9F0410E46074680 +:10BB300015481649401AC508042000EB054014A119 +:10BB4000FFF77AF81C4CD4E91401626C431A9A424C +:10BB50000AD0012000EB054018A1FFF778F8082073 +:10BB600070700120BDE8F08100216164A16CE16486 +:10BB700060650021384600F035F819490420C9688D +:10BB800088470020EEE7000000F30E00F0F20E0000 +:10BB900048616E646C65204E52465F4446555F4F67 +:10BBA000505F4F424A4543545F45584543555445BD +:10BBB00020286461746129004C1E0020496E766162 +:10BBC0006C696420646174612E20657870656374AB +:10BBD00065643A2025642C20676F743A2025640040 +:10BBE00058000020F0B5044687B00020FEF71EFC88 +:10BBF00001002548254A4FF00107A0EB02004FEA5B +:10BC0000D0050AD0224A18212046FAF753FA02003A +:10BC100037D007EB05401FA131E0182228496846BC +:10BC2000F8F790FB2748284E184B174D016DEB1A7B +:10BC30000420DB08B26800EB0345914215D1284689 +:10BC400022A1FEF7F9FFD6E90101FDF791FD8DF87C +:10BC50000100FBF7B8F98DF80100D4E9011268463C +:10BC600090472648FDF772FC05E08DF80170D4E995 +:10BC70000112684690479DF80120284620A1FEF752 +:10BC8000DFFF07B0F0BD000000F30E00F0F20E0081 +:10BC9000E5BB0E004661696C656420746F207363B8 +:10BCA000686564756C65206F626A65637420657889 +:10BCB00065637574653A20307825782E00000000A1 +:10BCC00000E30E004C1E00205800002057686F6CE7 +:10BCD00065206669726D7761726520696D6167655F +:10BCE0002072656365697665642E20506F73747683 +:10BCF000616C69646174696E672E0000B9BE0E00E4 +:10BD0000526571756573742068616E646C696E67E5 +:10BD100020636F6D706C6574652E20526573756C51 +:10BD2000743A20307825780038B50D460C480D4916 +:10BD3000401AC108042000EB014004460AA1FEF7A6 +:10BD40007BFF134813A1826CAA60036D4FF48050EF +:10BD50006B60E86000902046FEF781FF38BD000070 +:10BD600000F30E00F0F20E0048616E646C65204E28 +:10BD700052465F4446555F4F505F4F424A454354D9 +:10BD80005F53454C45435420286461746129000089 +:10BD90004C1E0020637263203D20307825782C20D3 +:10BDA0006F6666736574203D20307825782C206D91 +:10BDB00061785F73697A65203D20307825780000CE +:10BDC0002DE9F0410E46044626482749401AC70887 +:10BDD000042000EB074025A1FEF72EFFFDF7BCFE77 +:10BDE00090B12C4DD5E91401401AA18A6A6C08441F +:10BDF00090420BD9012000EB074027A1FEF71CFF62 +:10BE000003207070BDE8F0810820FAE7284A286B0B +:10BE1000526800EB02081F4A20694832FAF7D8FD41 +:10BE20000746E06820B923494FF4E570FAF76FFA46 +:10BE3000D4E90331A28A4046FCF7E8FE20B1D4E9F8 +:10BE40000310BDE8F0410847A18A286B0844286325 +:10BE5000A18A286DAF6408442865B760286D7060BA +:10BE6000D0E7000000F30E00F0F20E0048616E64AF +:10BE70006C65204E52465F4446555F4F505F4F42BF +:10BE80004A4543545F5752495445202864617461C0 +:10BE9000290000004C1E00205772697465207265ED +:10BEA000717565737420746F6F206C6F6E6700001E +:10BEB00058000020F0E70E000848094910B5401A64 +:10BEC000C008042101EB004006A1FEF7B5FE1249AF +:10BED0000620C968BDE810400847000000F30E00C6 +:10BEE000F0F20E00416C6C20666C617368206F701C +:10BEF00065726174696F6E73206861766520636F27 +:10BF00006D706C657465642E2044465520636F6DBA +:10BF1000706C657465642E0058000020FEF744FFC5 +:10BF2000FEF71AFD0028FBD10D4E64254FF47A4729 +:10BF3000741C3846A0476D1EFAD10A480068C00735 +:10BF400000D000BEBFF34F8F0648E4380168064AB0 +:10BF500001F4E06111430160BFF34F8F00BFFDE7C3 +:10BF6000F0E00E00F0ED00E00400FA052DE9F041EC +:10BF70000C4606462C482D49401AC108042000EB07 +:10BF800001452BA12846FEF757FE327C284631A1F9 +:10BF9000FEF756FE4FF44050364B426801214FF0F9 +:10BFA000020E9A4200D10221334F3A6A012A00D18F +:10BFB000491C4FF0010C84F801C0327C1AB10026F4 +:10BFC000012A09D01BE084F804E0F868A0602B483F +:10BFD000E060C0F57E200FE0D0F804E09E450ED171 +:10BFE00026710178142901D9416900E00021A1607E +:10BFF0004FF48051E16080682061BDE8F0818A42A1 +:10C0000008D284F804C0B868A060FCF7C3FAE06006 +:10C01000B869F1E728461AA1FEF70EFEFF2020714D +:10C02000A660E6602661E8E700F30E00F0F20E007D +:10C0300048616E646C65204E52465F4446555F4FC2 +:10C04000505F4649524D574152455F5645525349FC +:10C050004F4E00004669726D7761726520696D61AF +:10C060006765207265717565737465643A2025642F +:10C0700000000000DBE5B1514C1E002000400E0026 +:10C080004E6F2073756368206669726D77617265A3 +:10C0900020696D616765000070B505460D2422B109 +:10C0A0000978194801F018FA04461849012201F1EB +:10C0B0000800FDF791FF002C1CD1134C2846D4E951 +:10C0C0000112FDF723F81248FBF7BCFB05001148ED +:10C0D0001149A0EB01004FEAD0010CD0032000EB86 +:10C0E00001402A460DA1FEF7ABFD0020ED1CC4E97E +:10C0F0000150207070BDBDE87040012000EB014090 +:10C100000BA1FEF799BD0000081700206800002071 +:10C1100058F30E0008F30E00F0F20E00416C6C6F45 +:10C1200063617465642062756666657220257800B7 +:10C130004661696C656420746F20616C6C6F63612B +:10C14000746520627566666572000000011F014813 +:10C15000FBF7DABB58F30E00F8B50D461446064659 +:10C16000694600F057FA00280FD0009BB3F5803FD6 +:10C170000AD2981C834207D8A9780222B2EB911FF9 +:10C1800002D02989814201D20020F8BD2380A11C60 +:10C190003046009A00F094FBF8BD114600F0D6B886 +:10C1A000114600F0E3B8F8B50C4615460646694658 +:10C1B00000F030FA00280CD0009A501C904207D3AF +:10C1C000A1780223B3EB911F02D02189814201D2D1 +:10C1D0000020F8BD2946304600F072FB009A00218D +:10C1E000A954F8BD2DE9FF410C46CE681746054617 +:10C1F000694600F037FB00280ED0E06800280BD01D +:10C20000A0783A46C0F3011002283146684606D0AD +:10C2100000F0DAF80199696004B0BDE8F08100F03F +:10C2200086F8F7E77CB50D461446694600F08FF9AD +:10C23000002820D02889082806D0042809D0022800 +:10C240000AD001280CD015E0DDE90001C4E90001A5 +:10C250000AE00098206006E0009800B2208002E02A +:10C26000009840B22070C117DDE9002350405940CA +:10C27000084301D000207CBD01207CBD7CB50D466B +:10C280001446694600F0A1F9002820D02889082822 +:10C2900007D00021042809D002280AD001280CD098 +:10C2A00014E0DDE90001C4E9000109E00098206024 +:10C2B00006E0009880B2208002E00098C0B22070B2 +:10C2C000DDE9002350405940084301D000207CBDE7 +:10C2D00001207CBD7CB50D461446694600F075F919 +:10C2E000002821D02989082908D00098C2170429DC +:10C2F0000BD002290DD001290ED014E0DDE9000297 +:10C30000C4E900020146134609E0C3170146206054 +:10C3100005E001B2218001E041B22170CB1741401C +:10C320005340194301D000207CBD01207CBD70B575 +:10C330000D46064614461146284600F0AEFA22463F +:10C3400029463046BDE8704000F03EB838B50C468E +:10C350000422694600F0B4FA002806D09DF80310C4 +:10C36000009861F31F602060012038BD1CB50C46A9 +:10C370000822694600F0A4FA002824D09DF8011094 +:10C380009DF800209DF80230080E42EA012242EAA0 +:10C39000034240EA13409DF803309DF8041040EA40 +:10C3A000132008439DF8051042EA036240EA012089 +:10C3B0009DF8061040EA01409DF8071040EA016030 +:10C3C000C4E9002001201CBD2DE9F04F04469DB0BA +:10C3D00000200090064601904FF0FF3A0AA800F0B6 +:10C3E0007DF94FF0010BE94682E012AB05AA06A9E0 +:10C3F000204600F0C9F850B10AA8059900F07FF96D +:10C4000060B10B98807810F0300F53D060E09DF849 +:10C410004800002870D11DB0BDE8F08F0598B042EB +:10C4200042D30B9D0AAE0B98807800F00F000828CD +:10C4300012D0304600F07AF90B98A842F3D1564654 +:10C440000599B14230D3D4F8088009919DF81810AD +:10C4500008910E990D6820E00B980688F0E729688E +:10C460000F682FB1DDE9083229462046B84711E0B0 +:10C4700011948968DDE90872098891420CD1294636 +:10C4800017A8FBF73DF885F80CB017AA39461198A4 +:10C49000FAF737FB0028BED0AD6815B1A168414559 +:10C4A000DDD0A168414523D19DF81810204600F049 +:10C4B00043FA1BE00C9840280AD200F01F010BFA47 +:10C4C00001F00C994A0959F82230034349F8223007 +:10C4D000E5682DB10AAB9DF8182020460599A847BC +:10C4E0000AAA9DF818102046FAF70BFB002892D0F4 +:10C4F000A06800287FF479AFDDE90B0485780AA8ED +:10C5000000F014F90028F7D115F0300F03D10B9883 +:10C51000008800B1641CC4B10020494605E000BF9A +:10C5200051F82020521C0ED1401CB0EB541FF7D301 +:10C53000600959F8201004F01F00C0F120022AFA07 +:10C5400002F0814201D0002065E7012063E71CB5BD +:10C550000C46694600F039F8002814D0DDE90002E5 +:10C56000C10709D051084FEA30006FEA00026FEAB4 +:10C570000100C4E9002004E051084FEA3000C4E99A +:10C5800000014FF001001CBDF8B5074600201870EF +:10C5900008700E4610601C4615466946384600F085 +:10C5A00039F801004FF0010009D0009959B1C808CD +:10C5B0002860009800F0070030700120F8BDB968CD +:10C5C00009B10020F8BD2070FBE72DE9F8430026F3 +:10C5D000884681463446354604E0402E02D300208A +:10C5E000BDE8F8836946484600F096F90028F7D080 +:10C5F0009DF80070324607F07F00C10FF7F78EFEFE +:10C6000029430443F61D0D463806E6D4C8E9004127 +:10C610000120E5E7F8B50E460746694600F07CF9CB +:10C6200000280AD09DF80040200616D5072504F002 +:10C630007F0403E0202D01D30020F8BD6946384671 +:10C6400000F06AF90028F8D09DF8001001F07F0092 +:10C65000A8400443ED1D0806ECD401203460F8BD69 +:10C6600030B45968114AC968914208D1D0E9011221 +:10C670000F48D0E90134234303D00021817030BC3E +:10C68000704711F8013BA2F101021B06F9D4C0E981 +:10C690000112012181700748074930BC401AC008C7 +:10C6A000042101EB004005A1FEF7CABA90E10E009B +:10C6B0008C00002018F30E00F0F20E0050423A20D9 +:10C6C000496E6974207061636B6574206461746184 +:10C6D000206C656E3A20256400000000C2600023D3 +:10C6E0000160C0E901138B881A440261B1F9063078 +:10C6F0001A4442610888002800D00120704770B5B4 +:10C7000045680E46044660680188B14206D18078CB +:10C7100000F00F00082801D0012070BD204600F075 +:10C7200005F86068A842EED1002070BD30B54168C0 +:10C730000A885AB101F1100343600A8A42B18C7829 +:10C740000A89C4F30115032D07D00BE0002030BD8A +:10C75000C2680168FFF7C2FFF8E79D78C5F30115CD +:10C76000032D06D00225B5EB141F08D14C89624376 +:10C7700009E08D8804690022641B046103E0B5EBC5 +:10C78000941F00D10422897811F0300F02D1816802 +:10C79000491C81609C880169214411440161B3F9FD +:10C7A000062011444161012030BD30B541680024AC +:10C7B00087B0897801F00F02082A11D08A091ED0AB +:10C7C0000222B2EB911F09D10269C1F301110229C2 +:10C7D000146001D0032901D14069048007B030BD45 +:10C7E0000069056808E02C7329466846FAF788FE58 +:10C7F0006846FFF7DAFFAD68002DF4D1EEE7C1F32C +:10C800000111012912D00229E6D00329E4D042689F +:10C81000917801F00F0107290BD0D16881B11289FD +:10C82000006907B0BDE83040F7F78CBD41690C7076 +:10C83000EDE70169D06807B0BDE8304000F02DB8E1 +:10C840001189006907B0BDE83040F7F7A3BD0000CB +:10C8500010B5034B002408C080E8160010BD00008E +:10C860009D670E0038B50D4604466946FFF7D2FEB7 +:10C8700000280BD0D4E90002D4E90213C5E9000274 +:10C88000C5E902130098814201D2002038BDA8609A +:10C89000A168081AA060012038BD00B50A4687B01B +:10C8A00001466846FFF71AFF002807D06846FFF7E1 +:10C8B0007CFF6846FFF73AFF0028F7D107B000BDBC +:10C8C0007FB514460546A9B9124A2868904208D196 +:10C8D00010E0102269462846FFF7F2FF002807D033 +:10C8E000103C102CF5D8224669462846FFF7E8FF91 +:10C8F00004B070BDA868A04201D20020F8E72B6800 +:10C900002246284698470028F2D0A868001BA86055 +:10C910000120EDE79D670E0010B5044680680028F1 +:10C9200009D02368012220469847002803D0A06838 +:10C93000401EA060012010BD38B5002439B1012986 +:10C9400012D0022912D005291DD0002038BD05467D +:10C95000012269462846FFF7B3FF90B19DF8000019 +:10C960000006F5D4012038BD08220DE005466946D1 +:10C97000FFF750FE28B100212846009AFFF7A0FFDC +:10C9800038BD204638BD0422BDE838400021FFF7FD +:10C9900097BF000010B50C46017A052908D0407AEF +:10C9A00038B1084808A102682046FDF719FB00E0ED +:10C9B0001AB106A12046FDF713FB2046BDE8104042 +:10C9C000FDF74CBB08010020257300000D0A000094 +:10C9D0002DE9FC470646284815460F46C0680A461A +:10C9E000012481463146FAF70FFB78B199F85500DA +:10C9F00070B100F00101CDE90075C0F34002884636 +:10CA00003346484600F09AF858B114E0172412E073 +:10CA10002B463A463146484600F032F858B90524CC +:10CA200009E0052415EA080F05D0FCF7E3FDB04244 +:10CA300001D1FCF79BFDDFF8448065B1012C13D0D8 +:10CA400008F12400FBF7CCFDFCF784FCC8F8486033 +:10CA50002046BDE8FC87012C02D0FCF77BFCF7E701 +:10CA60000120C8F81400F3E7002239463046F9F7F0 +:10CA7000AFFFC8E90970E7E78C0000204C1E0020DA +:10CA80002DE9F041044690F8550094B01D46174634 +:10CA9000884620B11A4940F20130F9F738FC0126E6 +:10CAA000CDE9007643460022214602A8F9F7F2FCC0 +:10CAB000002822D005B3412202A91248F7F742FC10 +:10CAC00012481349104D401AC008042101EB0040E0 +:10CAD00010A1EE62FEF7B0F800202862204601F0B7 +:10CAE0006DFA08B9FCF742FD94F8920010B194F881 +:10CAF000930008B96068A860012014B0BDE8F08117 +:10CB00008CEB0E00ED2000204C1E002018F30E00D0 +:10CB1000F0F20E00496E76616C69646174696E674B +:10CB2000206F6C64206170706C69636174696F6EF2 +:10CB300020696E2062616E6B20302E002DE9F04F6F +:10CB4000A5B08846DDE92E6B04469A461746442177 +:10CB500013A8F7F71FFC442102A8F7F71BFCD146E6 +:10CB600058EA070004D1384940F23B30F9F7CFFBCF +:10CB70003648374A801AC008022202EB0045B8F155 +:10CB8000000F1CD05046A16D00F008FD002857D0C2 +:10CB90005046FAF74BFC18B128462E49FEF74CF8E0 +:10CBA0000121A06DCDE9000153460022214613A8C2 +:10CBB000F9F770FC002843D0A06D8144361A8FB17C +:10CBC0000020CDE900604B464246214602A8F9F715 +:10CBD00061FC002834D09DF8080018B128461E4991 +:10CBE000FEF72AF8BBF1000F29D01C4DB8F1000F59 +:10CBF00014D05046FAF71AFC18B105F11800FBF7EB +:10CC0000EFFC412213A91648F7F79CFB0FB1AC20AB +:10CC100000E0A520E862A06D686301E0AA20E86258 +:10CC20006FB10F48412202A98230F7F78BFB94F8CD +:10CC3000920010B194F8930008B96068E860012090 +:10CC400025B0BDE8F08F00008CEB0E0018F30E004D +:10CC5000F0F20E0048EB0E0044EA0E004C1E0020DD +:10CC6000AC20002038B5C3880D46044633B114A06B +:10CC7000009015A216A12846FDF7B2F9217A0529E0 +:10CC80001CD0607A48B1A088FDF738FE164951F8EB +:10CC9000202016A12846FDF7A3F9A0880021FEF761 +:10CCA00075F803461049207A143951F8202001B054 +:10CCB0002846BDE830400EA1FDF792B938BD00000E +:10CCC0001B5B306D000000001B5B313B33316D009E +:10CCD00025734C6F67732064726F707065642028D1 +:10CCE00025642925730D0A00080100202573000022 +:10CCF0003C25733E2025733A20000000EFF30580A9 +:10CD0000C005C00D01D001207047EFF3148040F33F +:10CD10000000401C704700000349884201D10348CD +:10CD2000704700207047000000200040AC00002049 +:10CD300010B510461A46F7F705FB002010BD2DE987 +:10CD4000F0411E681C461546074621B1012918D03E +:10CD5000052923D119E000202060401C2060B0424A +:10CD60001CD8012229463846FFF7AAFD002806D024 +:10CD700015F8010B000601D52068EEE70120BDE89B +:10CD8000F08108200246186002E004200246186084 +:10CD900029463846BDE8F041FFF792BD0020EEE796 +:10CDA0002DE9F0410D4680464B780A7804694748E2 +:10CDB0004749401AC708042000EB074045A1FDF78A +:10CDC00046FF60202070287860706878A0706878CE +:10CDD0000121032601EB0747012802D00B286BD065 +:10CDE00057E028780C284ED2DFE800F0064D4D358C +:10CDF0004D4D3B604D0609242879E07062E0E11C4E +:10CE0000686800F0BEFFC01CC6B2A119A86800F097 +:10CE1000B8FF3044C6B2A119E86800F0B2FF304450 +:10CE2000C6B2A119286900F0ACFF3044C6B2A119FE +:10CE3000686924E02879E070211DA86800F0A1FF4E +:10CE4000001DC6B2A119E86800F09BFF3044C6B2CD +:10CE5000A119286913E0E11C686800F092FFC01C6A +:10CE60000AE0E11CE86800F08CFFC01CC6B2A11902 +:10CE7000686800F086FF3044C6B2A119A86800F0C7 +:10CE800080FF3044C6B2182E03D938461AA1FDF7E8 +:10CE9000D3FED8F80420314620469047002813D00E +:10CEA0003846BDE8F0411DA1FDF7C6BEA988E17076 +:10CEB000090A21710526ECE7FAF78CF8E0700020EA +:10CEC000FAF790F80426E4E7BDE8F08150F30E008D +:10CED000F0F20E0053656E64696E672052657370E0 +:10CEE0006F6E73653A205B3078253031782C2030B6 +:10CEF00078253031785D00004D657373616765207A +:10CF00006973206C6172676572207468616E206558 +:10CF1000787065637465642E000000004661696C7A +:10CF2000656420746F2073656E6420646174612091 +:10CF30006F7665722073657269616C20696E7465C5 +:10CF400072666163652100000846704708B50A46AD +:10CF500001466B46044800F0F6FA009A034802497D +:10CF6000D2B2FEF777FA08BD18170020740000202F +:10CF70001FB501238DF80030CDE90121D0E9001261 +:10CF8000684690471FBD00002DE9F047FCF732FBD3 +:10CF9000DFF8C480D8F83020D8F8347000EB020AEB +:10CFA000B81A411EC1F30B01401A00F6FF792B4954 +:10CFB0002B48D8F84860081AC508042000EB054043 +:10CFC000044628A1FDF738FE42F204002F4A815999 +:10CFD000012000EB0545914206D028462CA1FDF723 +:10CFE0002BFE0320BDE8F087D8F830000644B84295 +:10CFF00005D1204633A1FDF71FFE0020F2E7C0B99E +:10D0000006F500500178142901D9416900E000219A +:10D010003148B1FBF0F34FF440510A78142A01D99A +:10D02000496900E00021B1FBF0F220462BA1FDF799 +:10D030000EFE08234A4631465046FAF743F80400EC +:10D0400005D0284630A1FDF7F7FD2046CAE7BDE828 +:10D05000F0470020FCF77ABA4C1E002048F30E007F +:10D06000F0F20E00456E746572206E72665F626F3C +:10D070006F746C6F616465725F6466755F73645F23 +:10D08000636F6E74696E756500000000DBE5B15179 +:10D09000536F757263652061646472657373206495 +:10D0A0006F6573206E6F7420636F6E7461696E209C +:10D0B000612076616C696420536F6674446576699B +:10D0C00063652E00534420616C726561647920634E +:10D0D0006F7069656400000040420F005570646124 +:10D0E00074696E672053442E204F6C642053442093 +:10D0F0007665723A2025642C204E6577207665721D +:10D100003A202564000000004661696C6564207463 +:10D110006F20636F7079206669726D776172652E1A +:10D120000000000070B50F480F49401AC4080420E1 +:10D1300000EB04400DA1FDF77FFDFFF725FF050083 +:10D140004FF0010000EB044402D020460FA105E09F +:10D15000F9F7E8F8050004D0204612A1FDF76CFDB0 +:10D16000284670BD48F30E00F0F20E00456E74655F +:10D1700072206E72665F6466755F73645F626C5F77 +:10D18000636F6E74696E75650000000053442B4236 +:10D190004C3A20534420636F7079206661696C6556 +:10D1A0006400000053442B424C3A20424C20636FF1 +:10D1B0007079206661696C6564000000F0B5054611 +:10D1C000002003464FF440540C4E4FF6FE7712E019 +:10D1D000D4F804C0B44505D155F823C0B4F80CE028 +:10D1E000F44504D02AB155F823C0BC4501D1012033 +:10D1F000F0BD5B1CDBB28B42EAD3F0BDDBE5B15185 +:10D2000010B5040003D119492D20F9F780F84FF427 +:10D2100040501749406888421FD1218A59B162693C +:10D2200004F11400002A94F8552008D0042A04D0F0 +:10D230000022C9B20BE0002010BD0122F9E712B1B3 +:10D24000012A08D1F7E7012905D9C9B20022BDE8B2 +:10D250001040FFF7B3BF012010BD208A10B16069F4 +:10D260000028E8D120780028F5D110BDD4EB0E00BD +:10D27000DBE5B1512DE9F0411400884618D00025B6 +:10D280000E4F032608EB050122460020F8F792FB1B +:10D290000544241A40B93878002809D008494FF4C9 +:10D2A0007A408847761E05D001203870002CE9D1DD +:10D2B000BDE8F08100203870FAE70000CC000020C3 +:10D2C000D1E40E002DE9F0410E46074613481449FB +:10D2D000144D401AC408032000EB044012A12A6830 +:10D2E000FDF7AEFC3046F9F791FB20B919494FF430 +:10D2F000AE70F9F70CF8184B3A463146286800F042 +:10D3000053F8020007D0012000EB0440BDE8F041D3 +:10D3100012A1FDF795BCBDE8F081000010F30E00EE +:10D32000F0F20E00880000204261636B696E672096 +:10D3300075702073657474696E67732070616765BA +:10D3400020746F206164647265737320307825786F +:10D350002E00000048E90E00CC1A0020436F756CC7 +:10D3600064206E6F7420706572666F726D206261EA +:10D37000636B7570206F6620626F6F746C6F616491 +:10D3800065722073657474696E67732120457272CB +:10D390006F723A2030782578000000000022582172 +:10D3A000001DF9F715BB00002DE9F04715464FF4B5 +:10D3B00060771E46894680463A46F6F7FDFF224AC8 +:10D3C000224B0421D21AD20801EB02440028204645 +:10D3D00017D01FA1FDF730FC2046424621A1FDF7E2 +:10D3E0002FFC002201214046FBF778FB174A164B21 +:10D3F00001219A1AD20801EB024458B1204621A11A +:10D400001DE02949FDF718FC0DB10020A8470020B8 +:10D41000BDE8F08726B9254940F23710F8F777FFC5 +:10D420003A4649463046F6F78DFF2B463A46314696 +:10D430004046FBF7EBFB0028EAD020461CA1FDF795 +:10D44000FBFB0320E4E7000010F30E00F0F20E00F7 +:10D4500057726974696E672073657474696E677357 +:10D460002E2E2E0045726173696E67206F6C6420EA +:10D4700073657474696E67732061743A203078251F +:10D4800030387800436F756C64206E6F742065725D +:10D49000617365207468652073657474696E677361 +:10D4A0002070616765210000FCE80E0048E90E006D +:10D4B000436F756C64206E6F742077726974652099 +:10D4C000746865204446552073657474696E67738B +:10D4D000207061676521000030B528B1D0E90223D2 +:10D4E0009A4203D1042030BD0E2030BD04782CB107 +:10D4F0000023012C10D0022C23D11EE0C02906D01D +:10D50000DB2906D04468531C8360A15419E0002035 +:10D5100030BD0121017014E0DC2905D0DD2905D0E2 +:10D52000022101700B2030BDC02400E0DB244568DF +:10D53000511C8160AC54037003E0C02901D1037019 +:10D540008360112030BDF0B528B121B11BB100249A +:10D55000DB261C6019E00E20F0BD0F5DC02F02D04D +:10D56000DB2F0BD105E01D686F1C1F604655DC27C3 +:10D5700004E01D686F1C1F604655DD271D68641C94 +:10D5800005F1010CC3F800C047559442E5D3196872 +:10D59000C0244A1C1A6044540020F0BD2DE9F0411B +:10D5A00000F500521A481B4F0123C01B174CC0083E +:10D5B000556803EB0040A54201D017491FE04D1EFE +:10D5C000C5F30B05491B41F6FF75966829448E4249 +:10D5D00001D2124913E04FF440514D68A54211D1D8 +:10D5E0000C78102C01D9096900E000211478102C66 +:10D5F00001D9126900E00022914203D00849FDF7E9 +:10D600001BFB00231846BDE8F0810000DBE5B151AB +:10D6100018F30E00F0F20E00F4EA0E0088EA0E0095 +:10D62000D4E90E002DE9F0471E469246894605468C +:10D63000040C089FF9F77EFC8046FDF79DFBA04295 +:10D6400004D80FA140F28310F8F761FE44EA0841C4 +:10D65000741C1B483C4000EB84023E4000EB8600FB +:10D66000D160C16865F3C5016AF3891169F39F212F +:10D6700021F00301491C21F00401C160BDE8F087DD +:10D680002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C639F +:10D690006F6D706F6E656E74735C6C6962726172CF +:10D6A0006965735C6C6F675C7372635C6E72665FF6 +:10D6B0006C6F675F66726F6E74656E642E630000D8 +:10D6C0007C2700202DE9FC478146174817468846ED +:10D6D00005681C46012201A91846F9F717F8134EF0 +:10D6E000B8B101998B1C00200AE000BF57F8202038 +:10D6F00003EA050C06EB8C0C401C5B1CCCF80C20E0 +:10D70000A042F3D30B462246414648460095FFF718 +:10D7100089FF307802E000BFFDF71EF90028FBD139 +:10D72000F9F705FFBDE8FC87D80000207C27002022 +:10D730002DE9FF41324800F15C01826B6846FFF73A +:10D7400087F8304F9DE8070007F11C032F4C83E852 +:10D75000070019462C48C8600020A0706060A060D7 +:10D760004FF44771A7F54070F6F714FEA7F5407225 +:10D77000274902F54770FEF7DAFD2649264A891A3D +:10D78000C908012202EB014578B1A07838B1A7F5AC +:10D79000407090F86C110029017826D041B12846DC +:10D7A0001EA100BFFDF748FA28E0284623A1F9E7AB +:10D7B00090F8720110B3D4E901122C4E6846FFF7BD +:10D7C00047F89DE80F001C3787E80F004FF4B2714F +:10D7D0003046F6F7DFFD3246254906F5D470FEF7F0 +:10D7E000A6FD30B9284623A1DCE739B1807928B1FC +:10D7F0002F4E0120E66004B0BDE8F0810020FAE77A +:10D800004C1E0020CC24002061C60E008C0000209D +:10D81000B0E20E0018F30E00F0F20E0048616E64E4 +:10D820006C65723A20496E76616C696420696E6934 +:10D830007420636F6D6D616E642E000048616E64CC +:10D840006C65723A20496E76616C69642070726F03 +:10D85000746F636F6C20627566666572206D5F70B1 +:10D86000625F73747265616D0000000040230020E8 +:10D8700090E10E0048616E646C65723A20496E76E4 +:10D88000616C69642070726F746F636F6C20627575 +:10D8900066666572206D5F70625F73747265616D3C +:10D8A0002028696E697420636F6D6D616E64290054 +:10D8B000D42100202DE9F0410F4605462348244994 +:10D8C0002A46401AC008042101EB004021A1FDF7BF +:10D8D000B7F9B7F1807F03D324496920F8F717FD22 +:10D8E000962F03D221496A20F8F711FD6FF07F408F +:10D8F000874200D238461E4ED6F804150144381A25 +:10D9000021F07F44411E6860952902D29630963CF2 +:10D9100068602D7B042D03D314495120F8F7F7FCE0 +:10D9200006EB8500C0F8404512494FF4F86088477F +:10D930004FF4A07000EB85013046FDF7BDFB4FF4BE +:10D940008030A840C6F80403BDE8F08148F30E001B +:10D95000F0F20E0074696D65725F616374697661DF +:10D96000746520283078257829000000F8E50E003D +:10D970000040024001E10E0070B5174E30780028DB +:10D9800029D1164800680125C0F3004008B91448A1 +:10D990000560144C4FF480712046FDF78DFB4FF469 +:10D9A000A0712046FDF788FB4FF4A2712046FDF7D9 +:10D9B00083FB0D49A02081F800040B491020203979 +:10D9C000C1F800010020C4F80805A5602560022008 +:10D9D000C4F80403357070BD140000201804004022 +:10D9E000080000400040024024E000E070B5154609 +:10D9F0000E460446FFF7C0FF314620462560BDE8CD +:10DA00007040FFF757BF000010B5044609480A49A7 +:10DA10002246401AC008042101EB004007A1FDF78F +:10DA20000FF9217B4FF4803088400949C1F8080381 +:10DA300010BD000048F30E00F0F20E0074696D6531 +:10DA4000725F73746F702028307825782900000089 +:10DA5000004002401FB500228DF80020029181682D +:10DA600001914261D0E90012684690471FBD000055 +:10DA700010B5074C617841B10649884205D004F1E0 +:10DA80000C00FDF785FD00206070002010BD000037 +:10DA900068000020D8F20E002DE9F041384C054610 +:10DAA0000020617888B0002966D136483649401A8E +:10DAB000C108042000EB0140064634A1FDF7BCF884 +:10DAC00039486560F9F764FF002855D13648F9F701 +:10DAD000B9FEC11C35480022344DC0E90112832132 +:10DAE000C1600270183D324868603248C5E90201E1 +:10DAF00005F1410028613048686120222F496846BD +:10DB0000F6F720FC062000900820019007200290E4 +:10DB100005204FF0010803908DF81480284A6946CB +:10DB200004F108000495FCF737FA07001648154978 +:10DB3000A1EB00004FEAD000414601EB004504D0C4 +:10DB4000284620A1FDF778F815E00D49012201F1E2 +:10DB50000800FCF741FA070003D0284620A1FDF792 +:10DB60006BF8304624A1FDF767F884F801806168FE +:10DB700009B101208847384608B0BDE8F0810000AF +:10DB80006800002008F30E00F0F20E007365726961 +:10DB9000616C5F6466755F7472616E73706F7274CE +:10DBA0005F696E697428290058F30E000817002079 +:10DBB0004DCF0E004DC10E00D8F20E0030E30E0026 +:10DBC00021DC0E004661696C656420696E697469C8 +:10DBD000616C697A696E672075617274000000007B +:10DBE0004661696C656420696E697469616C697A03 +:10DBF000696E67207278000073657269616C5F649A +:10DC000066755F7472616E73706F72745F696E694E +:10DC100074282920636F6D706C6574656400000062 +:10DC20000B460178012904D0022907D1C068F8F712 +:10DC300085B9027A41681846FEF72EBA704700008F +:10DC40001FB50A4601788DF8001041680191017AEC +:10DC50008DF80810C0680390044850F82210083866 +:10DC600050F82220684690471FBD0000A400002005 +:10DC70002DE9FF410C464FF4927705463946FDF7F2 +:10DC800047FA0026B8B139462846FDF746FA022081 +:10DC90008DF80000D5F88004C5F880040390D5F80D +:10DCA0003C050290E0680190A661E661D4E90012AB +:10DCB0006846904723E04FF4887739462846FDF7B9 +:10DCC00027FAE0B139462846FDF727FAD5F83C1582 +:10DCD000A069884213D1E06960B1E268D5F800021A +:10DCE00020F02000C5F80002E069A0612069E6612B +:10DCF000E06001E0A661E2682046FFF739F94FF4E1 +:10DD0000A27739462846FDF703FA68B13946284616 +:10DD1000FDF703FAA06938B1A661E661D5F83C15B4 +:10DD20002046E268FFF724F94FF490763146284602 +:10DD3000FDF7EEF960B131462846FDF7EEF9012016 +:10DD4000E860606920B1D5F84C152046FFF782FEE7 +:10DD50004FF4AC7631462846FDF7DAF900280ED0AC +:10DD600031462846FDF7D9F96069002807D0D5F873 +:10DD70004C1504B02046BDE8F041FFF76BBEBDE88E +:10DD8000FF810870020A4A70020C8A70000EC87087 +:10DD90000420704710B50248F9F720FD002010BD9F +:10DDA000C80000202DE9F05F8346DDE90A4A994664 +:10DDB00090460D460846012703E000BFB0FBF8F08F +:10DDC0007F1C4045FAD2B94500D94F465FEACA7078 +:10DDD00012D18CB15FEA8A7002D5B9F1000F01D07F +:10DDE000202607E0302605E031465846641EF8F745 +:10DDF000E3FC0CB1A742F7D35FF00106B9F1010FC4 +:10DE000002D9A9F1010903E0B5FBF6F0404502D3C0 +:10DE100006FB08F6F2E7DFF83C9000BFB5FBF6F032 +:10DE200000FB165519F800105846F8F7C5FCB6FB6C +:10DE3000F8F6002EF2D15FEACA7009D0002C07D0A4 +:10DE4000A74205D220215846641EF8F7B5FCF5E735 +:10DE5000BDE8F09F58E30E0070B515460E4601244C +:10DE600000F0ACF8034600210A463046FAF7C2FB40 +:10DE70000C490D4A891ACE0838B1012000EB064042 +:10DE80000AA1FCF7D9FE042409E0FAF799FB02463F +:10DE90002860042000EB06400BA1FCF7D1FE2046D1 +:10DEA00070BD000018F30E00F0F20E0043616E2703 +:10DEB000742066696E6420726F6F6D20666F7220C9 +:10DEC00075706461746500005772697465206164DF +:10DED00064726573732073657420746F20307825C5 +:10DEE000303878002DE9F0411C4B1D4F0F260024DF +:10DEF0000125DB1B90F85520DB0805EB03450AB133 +:10DF0000042A03D190F86430012B06D0D30707D040 +:10DF100090F85630012B02D002E0846E0DE0846D43 +:10DF200092070AD590F85C20012A06D1026E0D48AE +:10DF3000C0F57E239A4204D814443CB101260C60FB +:10DF400008E0284608A1FCF782FE042628460EA118 +:10DF5000FCF772FE3046BDE8F081000018F30E00B9 +:10DF6000F0F20E0000400E00424C2073697A6520EA +:10DF700028256429206F766572206C696D6974208C +:10DF80002825642900000000496E697420706163CF +:10DF90006B657420646F6573206E6F7420636F6EA1 +:10DFA0007461696E2076616C6964206669726D7750 +:10DFB0006172652073697A6500000000018A19B1F9 +:10DFC000406908B1012070470020704730B10068F7 +:10DFD0000549884205D048F20250704748F2015086 +:10DFE00070470020704700006E52464870B5FDF73C +:10DFF0009BF8002811D00020084A094B094C012148 +:10E00000166801FA00F52E4203D004EB8005C5F82E +:10E010000036401CC0B20728F2D370BD080501408D +:10E020003546526E000001400748084910B5401AB5 +:10E03000C008032101EB004005A1FCF7FDFDBDE890 +:10E040001040FFF7D3BF0000F0F20E00F0F20E0018 +:10E05000496E7465726E616C2066656564000000CF +:10E06000002070472DE9FC4180461C4617460E46AD +:10E070000C48089DF9F7BBFB10B11120BDE8FC81ED +:10E08000A20839463046FCF7E7FF0648F9F7A6FB39 +:10E0900033463A4601214046CDE90045F8F778FF7E +:10E0A0000020EBE7C800002084B7AC5DBA001CCDAF +:10E0B000BE4928F7CBD974445DA08494DB12A36DCC +:10E0C000B24A17A13D05B938DBA4214542101BBF58 +:10E0D000EB09B53367AB91146DF5F17DD69D1788CB +:10E0E00020DFCFEC866407C10000000000000000C4 +:10E0F0000338FDD870470D0E0F100B0C18190000D7 +:10E100000338FDD8704700004800000000204000A0 +:10E1100000000000F5680E0005690E00AD680E00F5 +:10E1200020000000000000000000000000000000CF +:10E1300001000100000000000100000000000000DC +:10E1400002000500010000002200000000000000A5 +:10E1500000000000000000000000000000000000BF +:10E1600001000100000000000100000000000000AC +:10E170000200050001000000420000000000000055 +:10E18000000000000000000000000000000000008F +:10E19000010011000400FCFF04000000000000006A +:10E1A000020011000400FCFF040000000000000059 +:10E1B000030021000400FCFF040010000000000028 +:10E1C000040011000100FFFF01000000000000003A +:10E1D000050011000200FEFF040000000000000026 +:10E1E000060011000400FCFF040000000000000015 +:10E1F000070011000400FCFF040000000000000004 +:10E20000080017000200FEFF2400000030E10E00AD +:10E21000090010000100FFFF010000002CE10E00CA +:10E220000A0027000200FEFF4400030060E10E0028 +:10E2300000000000000000000000000000000000DE +:10E24000010011000100FFFF0100000000000000BC +:10E25000020017000200FEFF6401000090E10E00C2 +:10E2600000000000000000000000000000000000AE +:10E2700001000700000000006801000040E20E00FD +:10E28000020001000000000001000000000000008A +:10E290000300050001000000420000000000000033 +:10E2A000000000000000000000000000000000006E +:10E2B000010017000400FCFF6801000040E20E00AE +:10E2C000020017000400FCFFAC01000070E20E0029 +:10E2D000000000000000000000000000000000003E +:10E2E000020000000000000000000000000000002C +:10E2F0000600000000000000000000000000000018 +:10E300000400000000000000000000000000000009 +:10E3100000000000000000000001000000000000FC +:10E3200000000000000000000000000000000000ED +:10E33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10E3400000000000000000000000D60106000000F0 +:10E350000000000019B20E00303132333435363748 +:10E360003839414243444546001000000400000093 +:10E370000100000075720E0095DD0E0031CD0E001B +:10E3800065E00E00496F0E0049CF0E0061E00E00FF +:10E390001D740E00556E6B6E6F776E206572726F16 +:10E3A0007220636F646500000000000084EF0E00BF +:10E3B0000100000044EE0E000200000038EC0E00E8 +:10E3C00003000000B8EE0E00040000000CEF0E0089 +:10E3D00005000000ECED0E000600000088ED0E00C8 +:10E3E00007000000F4EE0E000800000000EE0E0032 +:10E3F0000900000064EE0E000A0000006CEF0E0041 +:10E400000B00000020EC0E000C00000018EE0E00C7 +:10E410000D000000BCEF0E000E000000E4EE0E0048 +:10E420000F00000020EF0E001000000054EF0E005F +:10E4300011000000D0EF0E0080000000A0ED0E00E3 +:10E4400081000000DCEC0E00820000009CEC0E005D +:10E45000830000007CEC0E0084000000B8EC0E008D +:10E4600085000000C4ED0E0086000000CCEE0E001A +:10E470009000000068ED0E00910000005CEC0E00C2 +:10E48000920000002CEE0E000082000034EF0E001F +:10E490000182000080EE0E00028200009CEE0E0061 +:10E4A00000840000F8EC0E000184000090EF0E00E4 +:10E4B0000284000040ED0E00038400001CED0E00FD +:10E4C0001DA80E001BA80E0015A80E0000000000DD +:10E4D0000338FDD870470000E42600207F000000CC +:10E4E000642700200000000000000000896E0E007C +:10E4F000000000000000000000000000D5C20E0077 +:10E500007DC20E0025C20E009BC10E00A1C10E00EF +:10E5100059C10E00A7C10E00E5C10E0000000000A9 +:10E520000040404040404040404041414141414026 +:10E5300040404040404040404040404040404040DB +:10E54000400502020202020202020202020202026A +:10E55000022020202020202020202002020202026F +:10E5600002029090909090901010101010101010C7 +:10E5700010101010101010101010101002020202D3 +:10E580000202888888888888080808080808080817 +:10E590000808080808080808080808080202020213 +:10E5A0004000000021E50E002E2E5C2E2E5C2E2E4B +:10E5B0005C2E2E5C2E2E5C636F6D706F6E656E74BC +:10E5C000735C6C69627261726965735C626F6F74AF +:10E5D0006C6F616465725C6E72665F626F6F746CA3 +:10E5E0006F616465725F6170705F73746172745F94 +:10E5F00066696E616C2E63002E2E5C2E2E5C2E2EB4 +:10E600005C2E2E5C2E2E5C636F6D706F6E656E746B +:10E61000735C6C69627261726965735C626F6F745E +:10E620006C6F616465725C6E72665F626F6F746C52 +:10E630006F616465725F6466755F74696D6572733E +:10E640002E6300002E2E5C2E2E5C2E2E5C2E2E5C59 +:10E650002E2E5C636F6D706F6E656E74735C6C698B +:10E66000627261726965735C626F6F746C6F616412 +:10E6700065725C6E72665F626F6F746C6F61646509 +:10E68000725F66775F61637469766174696F6E2E1D +:10E690006300000043524320636F6D7075746174B2 +:10E6A000696F6E206661696C656420666F722063B5 +:10E6B0006F70696564206170703A207372632063C3 +:10E6C00072633A203078253038782C2072657320B8 +:10E6D0006372633A20307825303878004120536FD8 +:10E6E000667444657669636520686173206A757332 +:10E6F00074206265656E2061637469766174656417 +:10E700002E2049742773206C696B656C79207468BE +:10E71000617420616E206170706C69636174696FEF +:10E720006E2077696C6C20636F6D6520696D6D6517 +:10E7300064696174656C79006E72665F6673746F8C +:10E74000726167655F777269746528616464723DA0 +:10E7500025702C207372633D25702C206C656E3DF6 +:10E760002564206279746573292C2071756575653F +:10E770002075736167653A20256400004372656106 +:10E7800074696E6720746865206F626A65637420BF +:10E79000776974682073697A652030782530387815 +:10E7A00020776F756C64206F766572666C6F77206A +:10E7B0006669726D776172652073697A652E204F84 +:10E7C0006666736574206973203078253038782048 +:10E7D000616E64206669726D776172652073697A13 +:10E7E00065206973203078253038782E00000000CD +:10E7F0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C631E +:10E800006F6D706F6E656E74735C6C69627261724D +:10E810006965735C626F6F746C6F616465725C6470 +:10E8200066755C6E72665F6466755F7265715F685F +:10E83000616E646C65722E63000000005265736542 +:10E840007474696E6720626F6F746C6F6164657257 +:10E850002073657474696E67732073696E636520D5 +:10E860006E65697468657220746865207365747478 +:10E87000696E67732070616765206E6F72207468BF +:10E8800065206261636B7570206172652076616CD2 +:10E8900069642028435243206572726F72292E00EA +:10E8A000526573746F72696E672073657474696EF4 +:10E8B00067732066726F6D206261636B7570207381 +:10E8C000696E6365207468652073657474696E672A +:10E8D00073207061676520636F6E74656E7473205A +:10E8E00061726520696E76616C69642028435243C9 +:10E8F000206572726F72292E0000000044657374E7 +:10E90000696E6174696F6E2073657474696E677384 +:10E9100020617265206964656E746963616C20743E +:10E920006F20736F757263652C2077726974652030 +:10E930006E6F74206E65656465642E20536B69701C +:10E9400070696E672E0000002E2E5C2E2E5C2E2E1F +:10E950005C2E2E5C2E2E5C636F6D706F6E656E7418 +:10E96000735C6C69627261726965735C626F6F740B +:10E970006C6F616465725C6466755C6E72665F6420 +:10E9800066755F73657474696E67732E630000004B +:10E990002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C637C +:10E9A0006F6D706F6E656E74735C6C6962726172AC +:10E9B0006965735C626F6F746C6F616465725C64CF +:10E9C00066755C6E72665F6466755F7574696C739C +:10E9D0002E630000546865206E657720536F66745F +:10E9E000446576696365206973206F6620612064E1 +:10E9F0006966666572656E742066616D696C792002 +:10EA00007468616E207468652070726573656E74D9 +:10EA100020536F66744465766963652E20436F6D7D +:10EA20007061746962696C6974792063616E6E6F7C +:10EA3000742062652067756172616E746565642E0D +:10EA400000000000426F6F742076616C696461742D +:10EA5000696F6E206F6620626F6F746C6F616465A2 +:10EA600072206973206E6F7420737570706F72748A +:10EA7000656420616E642077696C6C206265206932 +:10EA8000676E6F7265642E0054686520536F6674FC +:10EA90004465766963652073697A6520696E2074C0 +:10EAA000686520696E666F2073747275637420697F +:10EAB0007320746F6F20736D616C6C20636F6D7069 +:10EAC0006172656420776974682074686520736971 +:10EAD0007A65207265706F7274656420696E207447 +:10EAE000686520696E697420636F6D6D616E642E58 +:10EAF0000000000054686520536F667444657669B1 +:10EB0000636520646F6573206E6F7420636F6E742D +:10EB100061696E20746865206D61676963206E7538 +:10EB20006D626572206964656E74696679696E6785 +:10EB3000206974206173206120536F667444657688 +:10EB40006963652E00000000496E76616C6964613E +:10EB500074696E67206170702062656361757365AA +:10EB600020697420697320696E636F6D70617469C8 +:10EB7000626C6520776974682074686520536F66DD +:10EB8000744465766963652E000000002E2E5C2EAD +:10EB90002E5C2E2E5C2E2E5C2E2E5C636F6D706FA5 +:10EBA0006E656E74735C6C69627261726965735CC8 +:10EBB000626F6F746C6F616465725C6466755C6EC5 +:10EBC00072665F6466755F76616C69646174696FB3 +:10EBD0006E2E63002E2E5C2E2E5C2E2E5C2E2E5C56 +:10EBE0002E2E5C636F6D706F6E656E74735C6C69F6 +:10EBF000627261726965735C626F6F746C6F61647D +:10EC000065725C6466755C6E72665F6466755F767D +:10EC100065725F76616C69646174696F6E2E630002 +:10EC20004E52465F4552524F525F494E56414C49F3 +:10EC3000445F4441544100004E52465F4552524F9A +:10EC4000525F534F46544445564943455F4E4F54D7 +:10EC50005F454E41424C4544000000004E52465F25 +:10EC60004552524F525F464541545552455F4E4FB3 +:10EC7000545F454E41424C45440000004E52465FB1 +:10EC80004552524F525F4D555445585F554E4C4F6B +:10EC9000434B5F4641494C45440000004E52465F9D +:10ECA0004552524F525F4D555445585F4C4F434B60 +:10ECB0005F4641494C4544004E52465F4552524FD3 +:10ECC000525F4D555445585F434F4E445F494E493E +:10ECD000545F4641494C4544000000004E52465F97 +:10ECE0004552524F525F4D555445585F494E495415 +:10ECF0005F4641494C4544004E52465F4552524F93 +:10ED0000525F424C455F495053505F52585F504BE1 +:10ED1000545F5452554E4341544544004E52465F51 +:10ED20004552524F525F424C455F495053505F50DD +:10ED30004545525F52454A45435445440000000052 +:10ED40004E52465F4552524F525F424C455F4950CA +:10ED500053505F4C494E4B5F444953434F4E4E45D1 +:10ED600043544544000000004E52465F4552524F06 +:10ED7000525F4150495F4E4F545F494D504C454D95 +:10ED8000454E5445440000004E52465F4552524F96 +:10ED9000525F4E4F545F535550504F5254454400AC +:10EDA0004E52465F4552524F525F4D4F44554C456F +:10EDB0005F4E4F545F494E495449414C495A45446E +:10EDC000000000004E52465F4552524F525F4D4F79 +:10EDD00044554C455F414C52454144595F494E4969 +:10EDE0005449414C495A4544000000004E52465F88 +:10EDF0004552524F525F4E4F545F464F554E44005E +:10EE00004E52465F4552524F525F494E56414C4911 +:10EE1000445F5354415445004E52465F4552524F51 +:10EE2000525F444154415F53495A45004E52465F38 +:10EE30004552524F525F494F5F50454E44494E47ED +:10EE4000000000004E52465F4552524F525F5356EB +:10EE5000435F48414E444C45525F4D495353494EE0 +:10EE6000470000004E52465F4552524F525F494E96 +:10EE700056414C49445F4C454E4754480000000001 +:10EE80004E52465F4552524F525F4452565F54575E +:10EE9000495F4552525F414E41434B004E52465FDF +:10EEA0004552524F525F4452565F5457495F455244 +:10EEB000525F444E41434B004E52465F4552524FC3 +:10EEC000525F494E5445524E414C00004E52465FEF +:10EED0004552524F525F53544F524147455F46553A +:10EEE0004C4C00004E52465F4552524F525F4E55B9 +:10EEF0004C4C00004E52465F4552524F525F494EB5 +:10EF000056414C49445F504152414D004E52465F7C +:10EF10004552524F525F4E4F5F4D454D000000002D +:10EF20004E52465F4552524F525F464F52424944FD +:10EF300044454E004E52465F4552524F525F445236 +:10EF4000565F5457495F4552525F4F56455252558E +:10EF50004E0000004E52465F4552524F525F494E9E +:10EF600056414C49445F4144445200004E52465F72 +:10EF70004552524F525F494E56414C49445F464CB0 +:10EF8000414753004E52465F535543434553530048 +:10EF90004E52465F4552524F525F424C455F495078 +:10EFA00053505F4348414E4E454C5F414C524541A2 +:10EFB00044595F4558495354530000004E52465F30 +:10EFC0004552524F525F54494D454F555400000031 +:10EFD0004E52465F4552524F525F425553590000C0 +:10EFE0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6326 +:10EFF0006F6D706F6E656E74735C6C696272617256 +:10F000006965735C6C6F675C7372635C6E72665F7C +:10F010006C6F675F64656661756C745F6261636B7A +:10F02000656E64732E6300007761726E696E6700AF +:10F0300064656275670000001B5B313B33306D0017 +:10F040001B5B306D000000001B5B313B33316D00FA +:10F050001B5B313B33326D001B5B313B33336D0047 +:10F060001B5B313B33346D001B5B313B33356D0033 +:10F070001B5B313B33366D001B5B313B33376D001F +:10F08000696E666F000000006572726F72000000AA +:10F090002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6375 +:10F0A0006F6D706F6E656E74735C6C6962726172A5 +:10F0B0006965735C626F6F746C6F616465725C73B9 +:10F0C000657269616C5F6466755C6E72665F6466CA +:10F0D000755F73657269616C2E6300006E72665FA6 +:10F0E000626F6F746C6F616465725F776474000047 +:10F0F0006E72665F6466755F666C617368000000BF +:10F100006E72665F6466755F7265715F68616E647A +:10F110006C6572006E72665F6466755F73657269B6 +:10F12000616C5F75617274006E72665F6466755FB4 +:10F1300073657474696E6773000000006E72665FB9 +:10F140006466755F76616C69646174696F6E0000F6 +:10F150006E72665F6466755F7665725F76616C6914 +:10F16000646174696F6E00005052530055415254EF +:10F17000450000006D656D5F6D6E677200000000F8 +:10F180006E72665F6673746F72616765000000007F +:10F190007274745F6C6F675F6261636B656E64004D +:10F1A000617070006E72665F6466755F7365726928 +:10F1B000616C0000020000000000000095580E0085 +:10F1C00041580E0067E6096A85AE67BB72F36E3C74 +:10F1D0003AF54FA57F520E518C68059BABD9831F22 +:10F1E00019CDE05BFFFFFFFFFFFFFFFFFFFFFFFF0A +:10F1F000000000000000000000000000010000000E +:10F20000FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFF11 +:10F2100000000000000000000000000001000000ED +:10F22000FFFFFFFF512563FCC2CAB9F3849E17A7F5 +:10F23000ADFAE6BCFFFFFFFFFFFFFFFF000000008D +:10F24000FFFFFFFF0000000096C298D84539A1F4E7 +:10F25000A033EB2D817D0377F240A463E5E6BCF893 +:10F2600047422CE1F2D1176BF551BF376840B6CB5E +:10F27000CE5E316B5733CE2B169E0F7C4AEBE78E5A +:10F280009B7F1AFEE242E34FFFFFFFFF7F0000007B +:10F29000800000000000000000000000FFFFFFFFF2 +:10F2A0007F0000008000000000000000000000005F +:10F2B00080F30E00080000203C01000008440E000E +:10F2C000D4F30E0044010020E48600008E5D0E00A1 +:10F2D00069690E00A1690E0099DA0E0071DA0E005C +:10F2E000C0E40E000000000090F10E00D0000020ED +:10F2F000DCF00E0000000404F0F00E000000040436 +:10F3000000F10E000000040414F10E0000000404DB +:10F3100028F10E00000004043CF10E00000004047B +:10F3200050F10E000000040468F10E00000000001F +:10F330006CF10E000000000074F10E0000000000EF +:10F3400080F10E0000000404A0F10E00000004048F +:10F35000A4F10E0000000404800000207C000020C6 +:10F360007F0000206415002084000000E4000020DD +:10F37000DC000020E400002024260020180000000B +:10F38000011022241B20340401200A2D01185112DF +:10F39000200211400349E00F2AFF04021E031488D3 +:10F3A000F00E1A28041A80041A30041A40041A387D +:10F3B000041A48041A50041A58041A60041A6804FB +:10F3C0001A70041A7804117B90D0561BF16C10420D +:04F3D0001012100007 +:020000041000EA +:0810140000400E0000E00F0097 +:00000001FF diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..ada1855 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0xe4000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0xe4000; +define symbol __ICFEDIT_region_ROM_end__ = 0xfdfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000008; +define symbol __ICFEDIT_region_RAM_end__ = 0x2003ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x000FF000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x000FE000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/iar/secure_bootloader_uart_mbr_pca10056_debug.ewd b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/iar/secure_bootloader_uart_mbr_pca10056_debug.ewd new file mode 100644 index 0000000..1990865 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/iar/secure_bootloader_uart_mbr_pca10056_debug.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52840_xxaa_mbr + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/iar/secure_bootloader_uart_mbr_pca10056_debug.ewp b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/iar/secure_bootloader_uart_mbr_pca10056_debug.ewp new file mode 100644 index 0000000..f243836 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/iar/secure_bootloader_uart_mbr_pca10056_debug.ewp @@ -0,0 +1,1160 @@ + + + + + 2 + nrf52840_xxaa_mbr + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_uart.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + nRF_Crypto backend CC310_BL + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\slip\slip.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_Segger_RTT + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_IAR.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52840.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52840.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_Serial_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + nrf_cc310_bl + $PROJ_DIR$\..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\libnrf_cc310_bl_0.9.13.a + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/ses/flash_placement.xml new file mode 100644 index 0000000..5d3cbaf --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/ses/flash_placement.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/ses/secure_bootloader_uart_mbr_pca10056_debug.emProject b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/ses/secure_bootloader_uart_mbr_pca10056_debug.emProject new file mode 100644 index 0000000..12f8b37 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/ses/secure_bootloader_uart_mbr_pca10056_debug.emProject @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/ses/secure_bootloader_uart_mbr_pca10056_debug.emSession b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/ses/secure_bootloader_uart_mbr_pca10056_debug.emSession new file mode 100644 index 0000000..484249b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_uart_debug/ses/secure_bootloader_uart_mbr_pca10056_debug.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10056.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10056_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10056.uvoptx new file mode 100644 index 0000000..3feaacc --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10056.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52840_xxaa + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52840_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52840_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10056.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10056_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10056.uvprojx new file mode 100644 index 0000000..30ac5fe --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10056.uvprojx @@ -0,0 +1,1409 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52840_xxaa + 0x4 + ARM-ADS + + nRF52840_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x100000) IRAM(0x20000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52840.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52840_xxaa + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x40000 + + + 1 + 0x0 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0xf4000 + 0xa000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x3fff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DFLOAT_ABI_HARD,-DMBR_PRESENT,-DNRF52840_XXAA,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0 + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + UTF8/UTF16 converter + + utf.c + 1 + ..\..\..\..\..\external\utf_converter\utf.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend CC310_BL + + cc310_bl_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + cc310_bl_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + cc310_bl_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + cc310_bl_backend_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + cc310_bl_backend_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_clock.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_clock.c + nrf_drv_power.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_power.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_clock.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_clock.c + nrfx_power.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_power.c + nrfx_systick.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_systick.c + nrfx_usbd.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_usbd.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_usbd.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd.c + app_usbd_cdc_acm.c + 1 + ..\..\..\..\..\components\libraries\usbd\class\cdc\acm\app_usbd_cdc_acm.c + app_usbd_core.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_core.c + app_usbd_serial_num.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_serial_num.c + app_usbd_string_desc.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_string_desc.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_USB_DFU + + nrf_dfu_serial_usb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_usb.c + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + nrf_cc310_bl + + nrf_cc310_bl_0.9.13.lib + 4 + ..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\nrf_cc310_bl_0.9.13.lib + + + flash_mbr + 0x4 + ARM-ADS + + nRF52840_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x100000) IRAM(0x20000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52840.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\mbr\hex\ + mbr_nrf52_2.4.1_mbr.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x40000 + + + 1 + 0x0 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0xf4000 + 0xa000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x3fff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DFLOAT_ABI_HARD,-DMBR_PRESENT,-DNRF52840_XXAA,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0 + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + UTF8/UTF16 converter + + utf.c + 1 + ..\..\..\..\..\external\utf_converter\utf.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend CC310_BL + + cc310_bl_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + cc310_bl_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + cc310_bl_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + cc310_bl_backend_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + cc310_bl_backend_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_clock.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_clock.c + nrf_drv_power.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_power.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_clock.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_clock.c + nrfx_power.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_power.c + nrfx_systick.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_systick.c + nrfx_usbd.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_usbd.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_usbd.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd.c + app_usbd_cdc_acm.c + 1 + ..\..\..\..\..\components\libraries\usbd\class\cdc\acm\app_usbd_cdc_acm.c + app_usbd_core.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_core.c + app_usbd_serial_num.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_serial_num.c + app_usbd_string_desc.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_string_desc.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_USB_DFU + + nrf_dfu_serial_usb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_usb.c + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + nrf_cc310_bl + + nrf_cc310_bl_0.9.13.lib + 4 + ..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\nrf_cc310_bl_0.9.13.lib + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10056_usb/armgcc/Makefile new file mode 100644 index 0000000..794a567 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb/armgcc/Makefile @@ -0,0 +1,251 @@ +PROJECT_NAME := secure_bootloader_usb_mbr_pca10056 +TARGETS := nrf52840_xxaa +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52840_xxaa.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52840.S \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial_usb.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52840.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_init.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_shared.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd.c \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc/acm/app_usbd_cdc_acm.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_core.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_serial_num.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_string_desc.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/slip/slip.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_clock.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_power.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_nvic.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_soc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_clock.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_power.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_systick.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_usbd.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c \ + $(SDK_ROOT)/external/utf_converter/utf.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/external/utf_converter \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu \ + $(SDK_ROOT)/external/nrf_cc310_bl/include \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc \ + $(SDK_ROOT)/components/libraries/usbd \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/mbr/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/libraries/slip \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc/acm \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/external/nrf_cc310/include \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/mutex \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/nrf_cc310_bl/lib/cortex-m4/hard-float/libnrf_cc310_bl_0.9.13.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBOARD_PCA10056 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DMBR_PRESENT +CFLAGS += -DNRF52840_XXAA +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBOARD_PCA10056 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DMBR_PRESENT +ASMFLAGS += -DNRF52840_XXAA +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52840_xxaa: CFLAGS += -D__HEAP_SIZE=0 +nrf52840_xxaa: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52840_xxaa + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52840_xxaa + @echo flash_mbr + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_mbr erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52840_xxaa.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52840_xxaa.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_mbr: + @echo Flashing: mbr_nrf52_2.4.1_mbr.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/mbr/hex/mbr_nrf52_2.4.1_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10056_usb/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..aacd23e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,120 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0xf4000, LENGTH = 0xa000 + RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x3fff8 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x000FF000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x000FE000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10056_usb/config/sdk_config.h new file mode 100644 index 0000000..86aaa47 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb/config/sdk_config.h @@ -0,0 +1,5350 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <32=> 32 (P1.0) +// <33=> 33 (P1.1) +// <34=> 34 (P1.2) +// <35=> 35 (P1.3) +// <36=> 36 (P1.4) +// <37=> 37 (P1.5) +// <38=> 38 (P1.6) +// <39=> 39 (P1.7) +// <40=> 40 (P1.8) +// <41=> 41 (P1.9) +// <42=> 42 (P1.10) +// <43=> 43 (P1.11) +// <44=> 44 (P1.12) +// <45=> 45 (P1.13) +// <46=> 46 (P1.14) +// <47=> 47 (P1.15) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 0 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 0 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// NRFX_CLOCK_ENABLED - nrfx_clock - CLOCK peripheral driver +//========================================================== +#ifndef NRFX_CLOCK_ENABLED +#define NRFX_CLOCK_ENABLED 1 +#endif +// NRFX_CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef NRFX_CLOCK_CONFIG_LF_SRC +#define NRFX_CLOCK_CONFIG_LF_SRC 1 +#endif + +// NRFX_CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_CLOCK_CONFIG_IRQ_PRIORITY +#define NRFX_CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_CLOCK_CONFIG_LOG_ENABLED +#define NRFX_CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_CLOCK_CONFIG_LOG_LEVEL +#define NRFX_CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_INFO_COLOR +#define NRFX_CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_DEBUG_COLOR +#define NRFX_CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_POWER_ENABLED - nrfx_power - POWER peripheral driver +//========================================================== +#ifndef NRFX_POWER_ENABLED +#define NRFX_POWER_ENABLED 1 +#endif +// NRFX_POWER_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_POWER_CONFIG_IRQ_PRIORITY +#define NRFX_POWER_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_POWER_CONFIG_DEFAULT_DCDCEN - The default configuration of main DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef NRFX_POWER_CONFIG_DEFAULT_DCDCEN +#define NRFX_POWER_CONFIG_DEFAULT_DCDCEN 0 +#endif + +// NRFX_POWER_CONFIG_DEFAULT_DCDCENHV - The default configuration of High Voltage DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef NRFX_POWER_CONFIG_DEFAULT_DCDCENHV +#define NRFX_POWER_CONFIG_DEFAULT_DCDCENHV 0 +#endif + +// + +// NRFX_SYSTICK_ENABLED - nrfx_systick - ARM(R) SysTick driver + + +#ifndef NRFX_SYSTICK_ENABLED +#define NRFX_SYSTICK_ENABLED 1 +#endif + +// NRFX_USBD_ENABLED - nrfx_usbd - USBD peripheral driver +//========================================================== +#ifndef NRFX_USBD_ENABLED +#define NRFX_USBD_ENABLED 1 +#endif +// NRFX_USBD_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_USBD_CONFIG_IRQ_PRIORITY +#define NRFX_USBD_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_USBD_CONFIG_DMASCHEDULER_MODE - USBD DMA scheduler working scheme + +// <0=> Prioritized access +// <1=> Round Robin + +#ifndef NRFX_USBD_CONFIG_DMASCHEDULER_MODE +#define NRFX_USBD_CONFIG_DMASCHEDULER_MODE 0 +#endif + +// NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST - Give priority to isochronous transfers + + +// This option gives priority to isochronous transfers. +// Enabling it assures that isochronous transfers are always processed, +// even if multiple other transfers are pending. +// Isochronous endpoints are prioritized before the usbd_dma_scheduler_algorithm +// function is called, so the option is independent of the algorithm chosen. + +#ifndef NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST +#define NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST 1 +#endif + +// NRFX_USBD_CONFIG_ISO_IN_ZLP - Respond to an IN token on ISO IN endpoint with ZLP when no data is ready + + +// If set, ISO IN endpoint will respond to an IN token with ZLP when no data is ready to be sent. +// Else, there will be no response. + +#ifndef NRFX_USBD_CONFIG_ISO_IN_ZLP +#define NRFX_USBD_CONFIG_ISO_IN_ZLP 0 +#endif + +// NRFX_USBD_USE_WORKAROUND_FOR_ANOMALY_211 - Use workaround for anomaly 211 + + +// If set, workaround for anomaly 211 will be enabled. +// Anomaly 211 - Device remains in SUSPEND too long when host resumes +// bus activity (sending SOF packets) without a RESUME condition. + +#ifndef NRFX_USBD_USE_WORKAROUND_FOR_ANOMALY_211 +#define NRFX_USBD_USE_WORKAROUND_FOR_ANOMALY_211 0 +#endif + +// + +// NRF_CLOCK_ENABLED - nrf_drv_clock - CLOCK peripheral driver - legacy layer +//========================================================== +#ifndef NRF_CLOCK_ENABLED +#define NRF_CLOCK_ENABLED 1 +#endif +// CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef CLOCK_CONFIG_LF_SRC +#define CLOCK_CONFIG_LF_SRC 1 +#endif + +// CLOCK_CONFIG_LF_CAL_ENABLED - Calibration enable for LF Clock Source + + +#ifndef CLOCK_CONFIG_LF_CAL_ENABLED +#define CLOCK_CONFIG_LF_CAL_ENABLED 0 +#endif + +// CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef CLOCK_CONFIG_IRQ_PRIORITY +#define CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// POWER_ENABLED - nrf_drv_power - POWER peripheral driver - legacy layer +//========================================================== +#ifndef POWER_ENABLED +#define POWER_ENABLED 1 +#endif +// POWER_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef POWER_CONFIG_IRQ_PRIORITY +#define POWER_CONFIG_IRQ_PRIORITY 6 +#endif + +// POWER_CONFIG_DEFAULT_DCDCEN - The default configuration of main DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef POWER_CONFIG_DEFAULT_DCDCEN +#define POWER_CONFIG_DEFAULT_DCDCEN 0 +#endif + +// POWER_CONFIG_DEFAULT_DCDCENHV - The default configuration of High Voltage DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef POWER_CONFIG_DEFAULT_DCDCENHV +#define POWER_CONFIG_DEFAULT_DCDCENHV 0 +#endif + +// + +// SYSTICK_ENABLED - nrf_drv_systick - ARM(R) SysTick driver - legacy layer + + +#ifndef SYSTICK_ENABLED +#define SYSTICK_ENABLED 1 +#endif + +// USBD_ENABLED - nrf_drv_usbd - Software Component +//========================================================== +#ifndef USBD_ENABLED +#define USBD_ENABLED 1 +#endif +// USBD_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef USBD_CONFIG_IRQ_PRIORITY +#define USBD_CONFIG_IRQ_PRIORITY 6 +#endif + +// USBD_CONFIG_DMASCHEDULER_MODE - USBD SMA scheduler working scheme + +// <0=> Prioritized access +// <1=> Round Robin + +#ifndef USBD_CONFIG_DMASCHEDULER_MODE +#define USBD_CONFIG_DMASCHEDULER_MODE 0 +#endif + +// USBD_CONFIG_DMASCHEDULER_ISO_BOOST - Give priority to isochronous transfers + + +// This option gives priority to isochronous transfers. +// Enabling it assures that isochronous transfers are always processed, +// even if multiple other transfers are pending. +// Isochronous endpoints are prioritized before the usbd_dma_scheduler_algorithm +// function is called, so the option is independent of the algorithm chosen. + +#ifndef USBD_CONFIG_DMASCHEDULER_ISO_BOOST +#define USBD_CONFIG_DMASCHEDULER_ISO_BOOST 1 +#endif + +// USBD_CONFIG_ISO_IN_ZLP - Respond to an IN token on ISO IN endpoint with ZLP when no data is ready + + +// If set, ISO IN endpoint will respond to an IN token with ZLP when no data is ready to be sent. +// Else, there will be no response. +// NOTE: This option does not work on Engineering A chip. + +#ifndef USBD_CONFIG_ISO_IN_ZLP +#define USBD_CONFIG_ISO_IN_ZLP 0 +#endif + +// + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// APP_USBD_ENABLED - app_usbd - USB Device library +//========================================================== +#ifndef APP_USBD_ENABLED +#define APP_USBD_ENABLED 1 +#endif +// APP_USBD_VID - Vendor ID. + +// Note: This value is not editable in Configuration Wizard. +// Vendor ID ordered from USB IF: http://www.usb.org/developers/vendor/ +#ifndef APP_USBD_VID +#define APP_USBD_VID 0x1915 +#endif + +// APP_USBD_PID - Product ID. + +// Note: This value is not editable in Configuration Wizard. +// Selected Product ID +#ifndef APP_USBD_PID +#define APP_USBD_PID 0x521F +#endif + +// APP_USBD_DEVICE_VER_MAJOR - Major device version <0-99> + + +// Major device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_MAJOR +#define APP_USBD_DEVICE_VER_MAJOR 1 +#endif + +// APP_USBD_DEVICE_VER_MINOR - Minor device version <0-9> + + +// Minor device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_MINOR +#define APP_USBD_DEVICE_VER_MINOR 0 +#endif + +// APP_USBD_DEVICE_VER_SUB - Sub-minor device version <0-9> + + +// Sub-minor device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_SUB +#define APP_USBD_DEVICE_VER_SUB 0 +#endif + +// APP_USBD_CONFIG_SELF_POWERED - Self-powered device, as opposed to bus-powered. + + +#ifndef APP_USBD_CONFIG_SELF_POWERED +#define APP_USBD_CONFIG_SELF_POWERED 1 +#endif + +// APP_USBD_CONFIG_MAX_POWER - MaxPower field in configuration descriptor in milliamps. <0-500> + + +#ifndef APP_USBD_CONFIG_MAX_POWER +#define APP_USBD_CONFIG_MAX_POWER 100 +#endif + +// APP_USBD_CONFIG_POWER_EVENTS_PROCESS - Process power events. + + +// Enable processing power events in USB event handler. + +#ifndef APP_USBD_CONFIG_POWER_EVENTS_PROCESS +#define APP_USBD_CONFIG_POWER_EVENTS_PROCESS 1 +#endif + +// APP_USBD_CONFIG_EVENT_QUEUE_ENABLE - Enable event queue. + +// This is the default configuration when all the events are placed into internal queue. +// Disable it when an external queue is used like app_scheduler or if you wish to process all events inside interrupts. +// Processing all events from the interrupt level adds requirement not to call any functions that modifies the USBD library state from the context higher than USB interrupt context. +// Functions that modify USBD state are functions for sleep, wakeup, start, stop, enable, and disable. +//========================================================== +#ifndef APP_USBD_CONFIG_EVENT_QUEUE_ENABLE +#define APP_USBD_CONFIG_EVENT_QUEUE_ENABLE 0 +#endif +// APP_USBD_CONFIG_EVENT_QUEUE_SIZE - The size of the event queue. <16-64> + + +// The size of the queue for the events that would be processed in the main loop. + +#ifndef APP_USBD_CONFIG_EVENT_QUEUE_SIZE +#define APP_USBD_CONFIG_EVENT_QUEUE_SIZE 32 +#endif + +// APP_USBD_CONFIG_SOF_HANDLING_MODE - Change SOF events handling mode. + + +// Normal queue - SOF events are pushed normally into the event queue. +// Compress queue - SOF events are counted and binded with other events or executed when the queue is empty. +// This prevents the queue from filling up with SOF events. +// Interrupt - SOF events are processed in interrupt. +// <0=> Normal queue +// <1=> Compress queue +// <2=> Interrupt + +#ifndef APP_USBD_CONFIG_SOF_HANDLING_MODE +#define APP_USBD_CONFIG_SOF_HANDLING_MODE 1 +#endif + +// + +// APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE - Provide a function that generates timestamps for logs based on the current SOF. + + +// The function app_usbd_sof_timestamp_get is implemented if the logger is enabled. +// Use it when initializing the logger. +// SOF processing is always enabled when this configuration parameter is active. +// Note: This option is configured outside of APP_USBD_CONFIG_LOG_ENABLED. +// This means that it works even if the logging in this very module is disabled. + +#ifndef APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE +#define APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE 0 +#endif + +// APP_USBD_CONFIG_DESC_STRING_SIZE - Maximum size of the NULL-terminated string of the string descriptor. <31-254> + + +// 31 characters can be stored in the internal USB buffer used for transfers. +// Any value higher than 31 creates an additional buffer just for descriptor strings. + +#ifndef APP_USBD_CONFIG_DESC_STRING_SIZE +#define APP_USBD_CONFIG_DESC_STRING_SIZE 31 +#endif + +// APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED - Enable UTF8 conversion. + + +// Enable UTF8-encoded characters. In normal processing, only ASCII characters are available. + +#ifndef APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED +#define APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED 0 +#endif + +// APP_USBD_STRINGS_LANGIDS - Supported languages identifiers. + +// Note: This value is not editable in Configuration Wizard. +// Comma-separated list of supported languages. +#ifndef APP_USBD_STRINGS_LANGIDS +#define APP_USBD_STRINGS_LANGIDS APP_USBD_LANG_AND_SUBLANG(APP_USBD_LANG_ENGLISH, APP_USBD_SUBLANG_ENGLISH_US) +#endif + +// APP_USBD_STRING_ID_MANUFACTURER - Define manufacturer string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_MANUFACTURER +#define APP_USBD_STRING_ID_MANUFACTURER 1 +#endif +// APP_USBD_STRINGS_MANUFACTURER_EXTERN - Define whether @ref APP_USBD_STRINGS_MANUFACTURER is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRINGS_MANUFACTURER_EXTERN +#define APP_USBD_STRINGS_MANUFACTURER_EXTERN 0 +#endif + +// APP_USBD_STRINGS_MANUFACTURER - String descriptor for the manufacturer name. + +// Note: This value is not editable in Configuration Wizard. +// Comma-separated list of manufacturer names for each defined language. +// Use @ref APP_USBD_STRING_DESC macro to create string descriptor from a NULL-terminated string. +// Use @ref APP_USBD_STRING_RAW8_DESC macro to create string descriptor from comma-separated uint8_t values. +// Use @ref APP_USBD_STRING_RAW16_DESC macro to create string descriptor from comma-separated uint16_t values. +// Alternatively, configure the macro to point to any internal variable pointer that already contains the descriptor. +// Setting string to NULL disables that string. +// The order of manufacturer names must be the same like in @ref APP_USBD_STRINGS_LANGIDS. +#ifndef APP_USBD_STRINGS_MANUFACTURER +#define APP_USBD_STRINGS_MANUFACTURER APP_USBD_STRING_DESC("Nordic Semiconductor") +#endif + +// + +// APP_USBD_STRING_ID_PRODUCT - Define product string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_PRODUCT +#define APP_USBD_STRING_ID_PRODUCT 2 +#endif +// APP_USBD_STRINGS_PRODUCT_EXTERN - Define whether @ref APP_USBD_STRINGS_PRODUCT is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRINGS_PRODUCT_EXTERN +#define APP_USBD_STRINGS_PRODUCT_EXTERN 0 +#endif + +// APP_USBD_STRINGS_PRODUCT - String descriptor for the product name. + +// Note: This value is not editable in Configuration Wizard. +// List of product names that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRINGS_PRODUCT +#define APP_USBD_STRINGS_PRODUCT APP_USBD_STRING_DESC("Secure DFU Bootloader") +#endif + +// + +// APP_USBD_STRING_ID_SERIAL - Define serial number string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_SERIAL +#define APP_USBD_STRING_ID_SERIAL 3 +#endif +// APP_USBD_STRING_SERIAL_EXTERN - Define whether @ref APP_USBD_STRING_SERIAL is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRING_SERIAL_EXTERN +#define APP_USBD_STRING_SERIAL_EXTERN 1 +#endif + +// APP_USBD_STRING_SERIAL - String descriptor for the serial number. + +// Note: This value is not editable in Configuration Wizard. +// Serial number that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRING_SERIAL +#define APP_USBD_STRING_SERIAL g_extern_serial_number +#endif + +// + +// APP_USBD_STRING_ID_CONFIGURATION - Define configuration string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_CONFIGURATION +#define APP_USBD_STRING_ID_CONFIGURATION 4 +#endif +// APP_USBD_STRING_CONFIGURATION_EXTERN - Define whether @ref APP_USBD_STRINGS_CONFIGURATION is created by macro or declared as global variable. + + +#ifndef APP_USBD_STRING_CONFIGURATION_EXTERN +#define APP_USBD_STRING_CONFIGURATION_EXTERN 0 +#endif + +// APP_USBD_STRINGS_CONFIGURATION - String descriptor for the device configuration. + +// Note: This value is not editable in Configuration Wizard. +// Configuration string that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRINGS_CONFIGURATION +#define APP_USBD_STRINGS_CONFIGURATION APP_USBD_STRING_DESC("Default configuration") +#endif + +// + +// APP_USBD_STRINGS_USER - Default values for user strings. + +// Note: This value is not editable in Configuration Wizard. +// This value stores all application specific user strings with the default initialization. +// The setup is done by X-macros. +// Expected macro parameters: +// @code +// X(mnemonic, [=str_idx], ...) +// @endcode +// - @c mnemonic: Mnemonic of the string descriptor that would be added to +// @ref app_usbd_string_desc_idx_t enumerator. +// - @c str_idx : String index value, can be set or left empty. +// For example, WinUSB driver requires descriptor to be present on 0xEE index. +// Then use X(USBD_STRING_WINUSB, =0xEE, (APP_USBD_STRING_DESC(...))) +// - @c ... : List of string descriptors for each defined language. +#ifndef APP_USBD_STRINGS_USER +#define APP_USBD_STRINGS_USER X(APP_USER_1, , APP_USBD_STRING_DESC("User 1")) +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// SLIP_ENABLED - slip - SLIP encoding and decoding + + +#ifndef SLIP_ENABLED +#define SLIP_ENABLED 1 +#endif + +// app_usbd_cdc_acm - USB CDC ACM class + +//========================================================== +// APP_USBD_CDC_ACM_ENABLED - Enabling USBD CDC ACM Class library + + +#ifndef APP_USBD_CDC_ACM_ENABLED +#define APP_USBD_CDC_ACM_ENABLED 1 +#endif + +// APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE - Send ZLP on write with same size as endpoint + + +// If enabled, CDC ACM class will automatically send a zero length packet after transfer which has the same size as endpoint. +// This may limit throughput if a lot of binary data is sent, but in terminal mode operation it makes sure that the data is always displayed right after it is sent. + +#ifndef APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE +#define APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE 1 +#endif + +// +//========================================================== + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 0 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 0 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 0 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_USB_DFU + +//========================================================== +// NRF_DFU_SERIAL_USB_RX_BUFFERS - nrf_dfu_serial_usb - USB DFU transport +// Number of buffers depends on flash access vs. +// transport throughtput. If value is too low it may lead +// to received packets being dropped. + +#ifndef NRF_DFU_SERIAL_USB_RX_BUFFERS +#define NRF_DFU_SERIAL_USB_RX_BUFFERS 3 +#endif + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10056_usb/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..240743c --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0xf4000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0xf4000; +define symbol __ICFEDIT_region_ROM_end__ = 0xfdfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000008; +define symbol __ICFEDIT_region_RAM_end__ = 0x2003ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x000FF000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x000FE000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb/iar/secure_bootloader_usb_mbr_pca10056.ewd b/2.ble_app_dfu/secure_bootloader/pca10056_usb/iar/secure_bootloader_usb_mbr_pca10056.ewd new file mode 100644 index 0000000..ba2a3f2 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb/iar/secure_bootloader_usb_mbr_pca10056.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52840_xxaa + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb/iar/secure_bootloader_usb_mbr_pca10056.ewp b/2.ble_app_dfu/secure_bootloader/pca10056_usb/iar/secure_bootloader_usb_mbr_pca10056.ewp new file mode 100644 index 0000000..4242273 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb/iar/secure_bootloader_usb_mbr_pca10056.ewp @@ -0,0 +1,1167 @@ + + + + + 2 + nrf52840_xxaa + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_USB_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_usb.c + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + nRF_Crypto backend CC310_BL + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\class\cdc\acm\app_usbd_cdc_acm.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd_core.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd_serial_num.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd_string_desc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\slip\slip.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_clock.c + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_power.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_clock.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_power.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_systick.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_usbd.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52840.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52840.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_Serial_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + UTF8/UTF16 converter + $PROJ_DIR$\..\..\..\..\..\external\utf_converter\utf.c + nrf_cc310_bl + $PROJ_DIR$\..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\libnrf_cc310_bl_0.9.13.a + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10056_usb/ses/flash_placement.xml new file mode 100644 index 0000000..5d3cbaf --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb/ses/flash_placement.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb/ses/secure_bootloader_usb_mbr_pca10056.emProject b/2.ble_app_dfu/secure_bootloader/pca10056_usb/ses/secure_bootloader_usb_mbr_pca10056.emProject new file mode 100644 index 0000000..7a07ccd --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb/ses/secure_bootloader_usb_mbr_pca10056.emProject @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb/ses/secure_bootloader_usb_mbr_pca10056.emSession b/2.ble_app_dfu/secure_bootloader/pca10056_usb/ses/secure_bootloader_usb_mbr_pca10056.emSession new file mode 100644 index 0000000..ea7ee70 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb/ses/secure_bootloader_usb_mbr_pca10056.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10056_debug.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10056_debug.uvoptx new file mode 100644 index 0000000..78e347f --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10056_debug.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52840_xxaa_debug + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52840_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52840_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52840_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10056_debug.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10056_debug.uvprojx new file mode 100644 index 0000000..262661e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10056_debug.uvprojx @@ -0,0 +1,1481 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52840_xxaa_debug + 0x4 + ARM-ADS + + nRF52840_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x100000) IRAM(0x20000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52840.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52840_xxaa_debug + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x40000 + + + 1 + 0x0 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0xec000 + 0x12000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x3fff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DFLOAT_ABI_HARD,-DMBR_PRESENT,-DNRF52840_XXAA,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0 + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + UTF8/UTF16 converter + + utf.c + 1 + ..\..\..\..\..\external\utf_converter\utf.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend CC310_BL + + cc310_bl_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + cc310_bl_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + cc310_bl_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + cc310_bl_backend_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + cc310_bl_backend_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_clock.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_clock.c + nrf_drv_power.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_power.c + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_clock.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_clock.c + nrfx_power.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_power.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_systick.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_systick.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + nrfx_usbd.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_usbd.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_usbd.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd.c + app_usbd_cdc_acm.c + 1 + ..\..\..\..\..\components\libraries\usbd\class\cdc\acm\app_usbd_cdc_acm.c + app_usbd_core.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_core.c + app_usbd_serial_num.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_serial_num.c + app_usbd_string_desc.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_string_desc.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + nrf_log_backend_uart.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_uart.c + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_USB_DFU + + nrf_dfu_serial_usb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_usb.c + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + nrf_cc310_bl + + nrf_cc310_bl_0.9.13.lib + 4 + ..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\nrf_cc310_bl_0.9.13.lib + + + flash_mbr + 0x4 + ARM-ADS + + nRF52840_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x100000) IRAM(0x20000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52840.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\mbr\hex\ + mbr_nrf52_2.4.1_mbr.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x40000 + + + 1 + 0x0 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0xec000 + 0x12000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x3fff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DFLOAT_ABI_HARD,-DMBR_PRESENT,-DNRF52840_XXAA,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0 + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD MBR_PRESENT NRF52840_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\mutex;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_cc310\include;..\..\..\..\..\external\nrf_cc310_bl\include;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + UTF8/UTF16 converter + + utf.c + 1 + ..\..\..\..\..\external\utf_converter\utf.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend CC310_BL + + cc310_bl_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + cc310_bl_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + cc310_bl_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + cc310_bl_backend_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + cc310_bl_backend_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_clock.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_clock.c + nrf_drv_power.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_power.c + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_clock.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_clock.c + nrfx_power.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_power.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_systick.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_systick.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + nrfx_usbd.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_usbd.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_usbd.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd.c + app_usbd_cdc_acm.c + 1 + ..\..\..\..\..\components\libraries\usbd\class\cdc\acm\app_usbd_cdc_acm.c + app_usbd_core.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_core.c + app_usbd_serial_num.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_serial_num.c + app_usbd_string_desc.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_string_desc.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + nrf_log_backend_uart.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_uart.c + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_USB_DFU + + nrf_dfu_serial_usb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_usb.c + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + nrf_cc310_bl + + nrf_cc310_bl_0.9.13.lib + 4 + ..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\nrf_cc310_bl_0.9.13.lib + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/armgcc/Makefile new file mode 100644 index 0000000..2082589 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/armgcc/Makefile @@ -0,0 +1,267 @@ +PROJECT_NAME := secure_bootloader_usb_mbr_pca10056_debug +TARGETS := nrf52840_xxaa_debug +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52840_xxaa_debug.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52840.S \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial_usb.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_uart.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52840.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_init.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_shared.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd.c \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc/acm/app_usbd_cdc_acm.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_core.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_serial_num.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_string_desc.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/slip/slip.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_clock.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_power.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_uart.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_nvic.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_soc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_clock.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_power.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/prs/nrfx_prs.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_systick.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uart.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uarte.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_usbd.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c \ + $(SDK_ROOT)/external/utf_converter/utf.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/external/utf_converter \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu \ + $(SDK_ROOT)/external/nrf_cc310_bl/include \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc \ + $(SDK_ROOT)/components/libraries/usbd \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/mbr/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/libraries/slip \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc/acm \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/external/nrf_cc310/include \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/mutex \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/nrf_cc310_bl/lib/cortex-m4/hard-float/libnrf_cc310_bl_0.9.13.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBOARD_PCA10056 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DMBR_PRESENT +CFLAGS += -DNRF52840_XXAA +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBOARD_PCA10056 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DMBR_PRESENT +ASMFLAGS += -DNRF52840_XXAA +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52840_xxaa_debug: CFLAGS += -D__HEAP_SIZE=0 +nrf52840_xxaa_debug: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52840_xxaa_debug + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52840_xxaa_debug + @echo flash_mbr + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_mbr erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52840_xxaa_debug.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52840_xxaa_debug.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_mbr: + @echo Flashing: mbr_nrf52_2.4.1_mbr.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/mbr/hex/mbr_nrf52_2.4.1_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..5ab04b4 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,120 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0xec000, LENGTH = 0x12000 + RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x3fff8 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x000FF000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x000FE000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/config/sdk_config.h new file mode 100644 index 0000000..4e6938d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/config/sdk_config.h @@ -0,0 +1,5918 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <32=> 32 (P1.0) +// <33=> 33 (P1.1) +// <34=> 34 (P1.2) +// <35=> 35 (P1.3) +// <36=> 36 (P1.4) +// <37=> 37 (P1.5) +// <38=> 38 (P1.6) +// <39=> 39 (P1.7) +// <40=> 40 (P1.8) +// <41=> 41 (P1.9) +// <42=> 42 (P1.10) +// <43=> 43 (P1.11) +// <44=> 44 (P1.12) +// <45=> 45 (P1.13) +// <46=> 46 (P1.14) +// <47=> 47 (P1.15) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 0 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 0 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// NRFX_CLOCK_ENABLED - nrfx_clock - CLOCK peripheral driver +//========================================================== +#ifndef NRFX_CLOCK_ENABLED +#define NRFX_CLOCK_ENABLED 1 +#endif +// NRFX_CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef NRFX_CLOCK_CONFIG_LF_SRC +#define NRFX_CLOCK_CONFIG_LF_SRC 1 +#endif + +// NRFX_CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_CLOCK_CONFIG_IRQ_PRIORITY +#define NRFX_CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_CLOCK_CONFIG_LOG_ENABLED +#define NRFX_CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_CLOCK_CONFIG_LOG_LEVEL +#define NRFX_CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_INFO_COLOR +#define NRFX_CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_DEBUG_COLOR +#define NRFX_CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_POWER_ENABLED - nrfx_power - POWER peripheral driver +//========================================================== +#ifndef NRFX_POWER_ENABLED +#define NRFX_POWER_ENABLED 1 +#endif +// NRFX_POWER_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_POWER_CONFIG_IRQ_PRIORITY +#define NRFX_POWER_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_POWER_CONFIG_DEFAULT_DCDCEN - The default configuration of main DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef NRFX_POWER_CONFIG_DEFAULT_DCDCEN +#define NRFX_POWER_CONFIG_DEFAULT_DCDCEN 0 +#endif + +// NRFX_POWER_CONFIG_DEFAULT_DCDCENHV - The default configuration of High Voltage DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef NRFX_POWER_CONFIG_DEFAULT_DCDCENHV +#define NRFX_POWER_CONFIG_DEFAULT_DCDCENHV 0 +#endif + +// + +// NRFX_PRS_ENABLED - nrfx_prs - Peripheral Resource Sharing module +//========================================================== +#ifndef NRFX_PRS_ENABLED +#define NRFX_PRS_ENABLED 1 +#endif +// NRFX_PRS_BOX_0_ENABLED - Enables box 0 in the module. + + +#ifndef NRFX_PRS_BOX_0_ENABLED +#define NRFX_PRS_BOX_0_ENABLED 0 +#endif + +// NRFX_PRS_BOX_1_ENABLED - Enables box 1 in the module. + + +#ifndef NRFX_PRS_BOX_1_ENABLED +#define NRFX_PRS_BOX_1_ENABLED 0 +#endif + +// NRFX_PRS_BOX_2_ENABLED - Enables box 2 in the module. + + +#ifndef NRFX_PRS_BOX_2_ENABLED +#define NRFX_PRS_BOX_2_ENABLED 0 +#endif + +// NRFX_PRS_BOX_3_ENABLED - Enables box 3 in the module. + + +#ifndef NRFX_PRS_BOX_3_ENABLED +#define NRFX_PRS_BOX_3_ENABLED 0 +#endif + +// NRFX_PRS_BOX_4_ENABLED - Enables box 4 in the module. + + +#ifndef NRFX_PRS_BOX_4_ENABLED +#define NRFX_PRS_BOX_4_ENABLED 1 +#endif + +// NRFX_PRS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PRS_CONFIG_LOG_ENABLED +#define NRFX_PRS_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PRS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PRS_CONFIG_LOG_LEVEL +#define NRFX_PRS_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PRS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_INFO_COLOR +#define NRFX_PRS_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PRS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_DEBUG_COLOR +#define NRFX_PRS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_SYSTICK_ENABLED - nrfx_systick - ARM(R) SysTick driver + + +#ifndef NRFX_SYSTICK_ENABLED +#define NRFX_SYSTICK_ENABLED 1 +#endif + +// NRFX_UARTE_ENABLED - nrfx_uarte - UARTE peripheral driver +//========================================================== +#ifndef NRFX_UARTE_ENABLED +#define NRFX_UARTE_ENABLED 1 +#endif +// NRFX_UARTE0_ENABLED - Enable UARTE0 instance +#ifndef NRFX_UARTE0_ENABLED +#define NRFX_UARTE0_ENABLED 0 +#endif + +// NRFX_UARTE1_ENABLED - Enable UARTE1 instance +#ifndef NRFX_UARTE1_ENABLED +#define NRFX_UARTE1_ENABLED 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_HWFC +#define NRFX_UARTE_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_PARITY +#define NRFX_UARTE_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <8388608=> 31250 baud +// <10289152=> 38400 baud +// <15007744=> 56000 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UARTE_CONFIG_LOG_ENABLED +#define NRFX_UARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UARTE_CONFIG_LOG_LEVEL +#define NRFX_UARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_INFO_COLOR +#define NRFX_UARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_DEBUG_COLOR +#define NRFX_UARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UART_ENABLED - nrfx_uart - UART peripheral driver +//========================================================== +#ifndef NRFX_UART_ENABLED +#define NRFX_UART_ENABLED 1 +#endif +// NRFX_UART0_ENABLED - Enable UART0 instance +#ifndef NRFX_UART0_ENABLED +#define NRFX_UART0_ENABLED 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UART_DEFAULT_CONFIG_HWFC +#define NRFX_UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UART_DEFAULT_CONFIG_PARITY +#define NRFX_UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3866624=> 14400 baud +// <5152768=> 19200 baud +// <7729152=> 28800 baud +// <8388608=> 31250 baud +// <10309632=> 38400 baud +// <15007744=> 56000 baud +// <15462400=> 57600 baud +// <20615168=> 76800 baud +// <30924800=> 115200 baud +// <61845504=> 230400 baud +// <67108864=> 250000 baud +// <123695104=> 460800 baud +// <247386112=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UART_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UART_DEFAULT_CONFIG_BAUDRATE 30924800 +#endif + +// NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UART_CONFIG_LOG_ENABLED +#define NRFX_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UART_CONFIG_LOG_LEVEL +#define NRFX_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_INFO_COLOR +#define NRFX_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_DEBUG_COLOR +#define NRFX_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_USBD_ENABLED - nrfx_usbd - USBD peripheral driver +//========================================================== +#ifndef NRFX_USBD_ENABLED +#define NRFX_USBD_ENABLED 1 +#endif +// NRFX_USBD_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_USBD_CONFIG_IRQ_PRIORITY +#define NRFX_USBD_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_USBD_CONFIG_DMASCHEDULER_MODE - USBD DMA scheduler working scheme + +// <0=> Prioritized access +// <1=> Round Robin + +#ifndef NRFX_USBD_CONFIG_DMASCHEDULER_MODE +#define NRFX_USBD_CONFIG_DMASCHEDULER_MODE 0 +#endif + +// NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST - Give priority to isochronous transfers + + +// This option gives priority to isochronous transfers. +// Enabling it assures that isochronous transfers are always processed, +// even if multiple other transfers are pending. +// Isochronous endpoints are prioritized before the usbd_dma_scheduler_algorithm +// function is called, so the option is independent of the algorithm chosen. + +#ifndef NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST +#define NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST 1 +#endif + +// NRFX_USBD_CONFIG_ISO_IN_ZLP - Respond to an IN token on ISO IN endpoint with ZLP when no data is ready + + +// If set, ISO IN endpoint will respond to an IN token with ZLP when no data is ready to be sent. +// Else, there will be no response. + +#ifndef NRFX_USBD_CONFIG_ISO_IN_ZLP +#define NRFX_USBD_CONFIG_ISO_IN_ZLP 0 +#endif + +// NRFX_USBD_USE_WORKAROUND_FOR_ANOMALY_211 - Use workaround for anomaly 211 + + +// If set, workaround for anomaly 211 will be enabled. +// Anomaly 211 - Device remains in SUSPEND too long when host resumes +// bus activity (sending SOF packets) without a RESUME condition. + +#ifndef NRFX_USBD_USE_WORKAROUND_FOR_ANOMALY_211 +#define NRFX_USBD_USE_WORKAROUND_FOR_ANOMALY_211 0 +#endif + +// + +// NRF_CLOCK_ENABLED - nrf_drv_clock - CLOCK peripheral driver - legacy layer +//========================================================== +#ifndef NRF_CLOCK_ENABLED +#define NRF_CLOCK_ENABLED 1 +#endif +// CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef CLOCK_CONFIG_LF_SRC +#define CLOCK_CONFIG_LF_SRC 1 +#endif + +// CLOCK_CONFIG_LF_CAL_ENABLED - Calibration enable for LF Clock Source + + +#ifndef CLOCK_CONFIG_LF_CAL_ENABLED +#define CLOCK_CONFIG_LF_CAL_ENABLED 0 +#endif + +// CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef CLOCK_CONFIG_IRQ_PRIORITY +#define CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// POWER_ENABLED - nrf_drv_power - POWER peripheral driver - legacy layer +//========================================================== +#ifndef POWER_ENABLED +#define POWER_ENABLED 1 +#endif +// POWER_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef POWER_CONFIG_IRQ_PRIORITY +#define POWER_CONFIG_IRQ_PRIORITY 6 +#endif + +// POWER_CONFIG_DEFAULT_DCDCEN - The default configuration of main DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef POWER_CONFIG_DEFAULT_DCDCEN +#define POWER_CONFIG_DEFAULT_DCDCEN 0 +#endif + +// POWER_CONFIG_DEFAULT_DCDCENHV - The default configuration of High Voltage DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef POWER_CONFIG_DEFAULT_DCDCENHV +#define POWER_CONFIG_DEFAULT_DCDCENHV 0 +#endif + +// + +// SYSTICK_ENABLED - nrf_drv_systick - ARM(R) SysTick driver - legacy layer + + +#ifndef SYSTICK_ENABLED +#define SYSTICK_ENABLED 1 +#endif + +// UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver - legacy layer +//========================================================== +#ifndef UART_ENABLED +#define UART_ENABLED 1 +#endif +// UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef UART_DEFAULT_CONFIG_HWFC +#define UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef UART_DEFAULT_CONFIG_PARITY +#define UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef UART_DEFAULT_CONFIG_BAUDRATE +#define UART_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// UART_EASY_DMA_SUPPORT - Driver supporting EasyDMA + + +#ifndef UART_EASY_DMA_SUPPORT +#define UART_EASY_DMA_SUPPORT 1 +#endif + +// UART_LEGACY_SUPPORT - Driver supporting Legacy mode + + +#ifndef UART_LEGACY_SUPPORT +#define UART_LEGACY_SUPPORT 0 +#endif + +// UART0_ENABLED - Enable UART0 instance +//========================================================== +#ifndef UART0_ENABLED +#define UART0_ENABLED 1 +#endif +// UART0_CONFIG_USE_EASY_DMA - Default setting for using EasyDMA + + +#ifndef UART0_CONFIG_USE_EASY_DMA +#define UART0_CONFIG_USE_EASY_DMA 1 +#endif + +// + +// UART1_ENABLED - Enable UART1 instance +//========================================================== +#ifndef UART1_ENABLED +#define UART1_ENABLED 0 +#endif +// + +// + +// USBD_ENABLED - nrf_drv_usbd - Software Component +//========================================================== +#ifndef USBD_ENABLED +#define USBD_ENABLED 1 +#endif +// USBD_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef USBD_CONFIG_IRQ_PRIORITY +#define USBD_CONFIG_IRQ_PRIORITY 6 +#endif + +// USBD_CONFIG_DMASCHEDULER_MODE - USBD SMA scheduler working scheme + +// <0=> Prioritized access +// <1=> Round Robin + +#ifndef USBD_CONFIG_DMASCHEDULER_MODE +#define USBD_CONFIG_DMASCHEDULER_MODE 0 +#endif + +// USBD_CONFIG_DMASCHEDULER_ISO_BOOST - Give priority to isochronous transfers + + +// This option gives priority to isochronous transfers. +// Enabling it assures that isochronous transfers are always processed, +// even if multiple other transfers are pending. +// Isochronous endpoints are prioritized before the usbd_dma_scheduler_algorithm +// function is called, so the option is independent of the algorithm chosen. + +#ifndef USBD_CONFIG_DMASCHEDULER_ISO_BOOST +#define USBD_CONFIG_DMASCHEDULER_ISO_BOOST 1 +#endif + +// USBD_CONFIG_ISO_IN_ZLP - Respond to an IN token on ISO IN endpoint with ZLP when no data is ready + + +// If set, ISO IN endpoint will respond to an IN token with ZLP when no data is ready to be sent. +// Else, there will be no response. +// NOTE: This option does not work on Engineering A chip. + +#ifndef USBD_CONFIG_ISO_IN_ZLP +#define USBD_CONFIG_ISO_IN_ZLP 0 +#endif + +// + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// APP_USBD_ENABLED - app_usbd - USB Device library +//========================================================== +#ifndef APP_USBD_ENABLED +#define APP_USBD_ENABLED 1 +#endif +// APP_USBD_VID - Vendor ID. + +// Note: This value is not editable in Configuration Wizard. +// Vendor ID ordered from USB IF: http://www.usb.org/developers/vendor/ +#ifndef APP_USBD_VID +#define APP_USBD_VID 0x1915 +#endif + +// APP_USBD_PID - Product ID. + +// Note: This value is not editable in Configuration Wizard. +// Selected Product ID +#ifndef APP_USBD_PID +#define APP_USBD_PID 0x521F +#endif + +// APP_USBD_DEVICE_VER_MAJOR - Major device version <0-99> + + +// Major device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_MAJOR +#define APP_USBD_DEVICE_VER_MAJOR 1 +#endif + +// APP_USBD_DEVICE_VER_MINOR - Minor device version <0-9> + + +// Minor device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_MINOR +#define APP_USBD_DEVICE_VER_MINOR 0 +#endif + +// APP_USBD_DEVICE_VER_SUB - Sub-minor device version <0-9> + + +// Sub-minor device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_SUB +#define APP_USBD_DEVICE_VER_SUB 0 +#endif + +// APP_USBD_CONFIG_SELF_POWERED - Self-powered device, as opposed to bus-powered. + + +#ifndef APP_USBD_CONFIG_SELF_POWERED +#define APP_USBD_CONFIG_SELF_POWERED 1 +#endif + +// APP_USBD_CONFIG_MAX_POWER - MaxPower field in configuration descriptor in milliamps. <0-500> + + +#ifndef APP_USBD_CONFIG_MAX_POWER +#define APP_USBD_CONFIG_MAX_POWER 100 +#endif + +// APP_USBD_CONFIG_POWER_EVENTS_PROCESS - Process power events. + + +// Enable processing power events in USB event handler. + +#ifndef APP_USBD_CONFIG_POWER_EVENTS_PROCESS +#define APP_USBD_CONFIG_POWER_EVENTS_PROCESS 1 +#endif + +// APP_USBD_CONFIG_EVENT_QUEUE_ENABLE - Enable event queue. + +// This is the default configuration when all the events are placed into internal queue. +// Disable it when an external queue is used like app_scheduler or if you wish to process all events inside interrupts. +// Processing all events from the interrupt level adds requirement not to call any functions that modifies the USBD library state from the context higher than USB interrupt context. +// Functions that modify USBD state are functions for sleep, wakeup, start, stop, enable, and disable. +//========================================================== +#ifndef APP_USBD_CONFIG_EVENT_QUEUE_ENABLE +#define APP_USBD_CONFIG_EVENT_QUEUE_ENABLE 0 +#endif +// APP_USBD_CONFIG_EVENT_QUEUE_SIZE - The size of the event queue. <16-64> + + +// The size of the queue for the events that would be processed in the main loop. + +#ifndef APP_USBD_CONFIG_EVENT_QUEUE_SIZE +#define APP_USBD_CONFIG_EVENT_QUEUE_SIZE 32 +#endif + +// APP_USBD_CONFIG_SOF_HANDLING_MODE - Change SOF events handling mode. + + +// Normal queue - SOF events are pushed normally into the event queue. +// Compress queue - SOF events are counted and binded with other events or executed when the queue is empty. +// This prevents the queue from filling up with SOF events. +// Interrupt - SOF events are processed in interrupt. +// <0=> Normal queue +// <1=> Compress queue +// <2=> Interrupt + +#ifndef APP_USBD_CONFIG_SOF_HANDLING_MODE +#define APP_USBD_CONFIG_SOF_HANDLING_MODE 1 +#endif + +// + +// APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE - Provide a function that generates timestamps for logs based on the current SOF. + + +// The function app_usbd_sof_timestamp_get is implemented if the logger is enabled. +// Use it when initializing the logger. +// SOF processing is always enabled when this configuration parameter is active. +// Note: This option is configured outside of APP_USBD_CONFIG_LOG_ENABLED. +// This means that it works even if the logging in this very module is disabled. + +#ifndef APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE +#define APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE 0 +#endif + +// APP_USBD_CONFIG_DESC_STRING_SIZE - Maximum size of the NULL-terminated string of the string descriptor. <31-254> + + +// 31 characters can be stored in the internal USB buffer used for transfers. +// Any value higher than 31 creates an additional buffer just for descriptor strings. + +#ifndef APP_USBD_CONFIG_DESC_STRING_SIZE +#define APP_USBD_CONFIG_DESC_STRING_SIZE 31 +#endif + +// APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED - Enable UTF8 conversion. + + +// Enable UTF8-encoded characters. In normal processing, only ASCII characters are available. + +#ifndef APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED +#define APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED 0 +#endif + +// APP_USBD_STRINGS_LANGIDS - Supported languages identifiers. + +// Note: This value is not editable in Configuration Wizard. +// Comma-separated list of supported languages. +#ifndef APP_USBD_STRINGS_LANGIDS +#define APP_USBD_STRINGS_LANGIDS APP_USBD_LANG_AND_SUBLANG(APP_USBD_LANG_ENGLISH, APP_USBD_SUBLANG_ENGLISH_US) +#endif + +// APP_USBD_STRING_ID_MANUFACTURER - Define manufacturer string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_MANUFACTURER +#define APP_USBD_STRING_ID_MANUFACTURER 1 +#endif +// APP_USBD_STRINGS_MANUFACTURER_EXTERN - Define whether @ref APP_USBD_STRINGS_MANUFACTURER is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRINGS_MANUFACTURER_EXTERN +#define APP_USBD_STRINGS_MANUFACTURER_EXTERN 0 +#endif + +// APP_USBD_STRINGS_MANUFACTURER - String descriptor for the manufacturer name. + +// Note: This value is not editable in Configuration Wizard. +// Comma-separated list of manufacturer names for each defined language. +// Use @ref APP_USBD_STRING_DESC macro to create string descriptor from a NULL-terminated string. +// Use @ref APP_USBD_STRING_RAW8_DESC macro to create string descriptor from comma-separated uint8_t values. +// Use @ref APP_USBD_STRING_RAW16_DESC macro to create string descriptor from comma-separated uint16_t values. +// Alternatively, configure the macro to point to any internal variable pointer that already contains the descriptor. +// Setting string to NULL disables that string. +// The order of manufacturer names must be the same like in @ref APP_USBD_STRINGS_LANGIDS. +#ifndef APP_USBD_STRINGS_MANUFACTURER +#define APP_USBD_STRINGS_MANUFACTURER APP_USBD_STRING_DESC("Nordic Semiconductor") +#endif + +// + +// APP_USBD_STRING_ID_PRODUCT - Define product string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_PRODUCT +#define APP_USBD_STRING_ID_PRODUCT 2 +#endif +// APP_USBD_STRINGS_PRODUCT_EXTERN - Define whether @ref APP_USBD_STRINGS_PRODUCT is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRINGS_PRODUCT_EXTERN +#define APP_USBD_STRINGS_PRODUCT_EXTERN 0 +#endif + +// APP_USBD_STRINGS_PRODUCT - String descriptor for the product name. + +// Note: This value is not editable in Configuration Wizard. +// List of product names that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRINGS_PRODUCT +#define APP_USBD_STRINGS_PRODUCT APP_USBD_STRING_DESC("Secure DFU Bootloader") +#endif + +// + +// APP_USBD_STRING_ID_SERIAL - Define serial number string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_SERIAL +#define APP_USBD_STRING_ID_SERIAL 3 +#endif +// APP_USBD_STRING_SERIAL_EXTERN - Define whether @ref APP_USBD_STRING_SERIAL is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRING_SERIAL_EXTERN +#define APP_USBD_STRING_SERIAL_EXTERN 1 +#endif + +// APP_USBD_STRING_SERIAL - String descriptor for the serial number. + +// Note: This value is not editable in Configuration Wizard. +// Serial number that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRING_SERIAL +#define APP_USBD_STRING_SERIAL g_extern_serial_number +#endif + +// + +// APP_USBD_STRING_ID_CONFIGURATION - Define configuration string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_CONFIGURATION +#define APP_USBD_STRING_ID_CONFIGURATION 4 +#endif +// APP_USBD_STRING_CONFIGURATION_EXTERN - Define whether @ref APP_USBD_STRINGS_CONFIGURATION is created by macro or declared as global variable. + + +#ifndef APP_USBD_STRING_CONFIGURATION_EXTERN +#define APP_USBD_STRING_CONFIGURATION_EXTERN 0 +#endif + +// APP_USBD_STRINGS_CONFIGURATION - String descriptor for the device configuration. + +// Note: This value is not editable in Configuration Wizard. +// Configuration string that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRINGS_CONFIGURATION +#define APP_USBD_STRINGS_CONFIGURATION APP_USBD_STRING_DESC("Default configuration") +#endif + +// + +// APP_USBD_STRINGS_USER - Default values for user strings. + +// Note: This value is not editable in Configuration Wizard. +// This value stores all application specific user strings with the default initialization. +// The setup is done by X-macros. +// Expected macro parameters: +// @code +// X(mnemonic, [=str_idx], ...) +// @endcode +// - @c mnemonic: Mnemonic of the string descriptor that would be added to +// @ref app_usbd_string_desc_idx_t enumerator. +// - @c str_idx : String index value, can be set or left empty. +// For example, WinUSB driver requires descriptor to be present on 0xEE index. +// Then use X(USBD_STRING_WINUSB, =0xEE, (APP_USBD_STRING_DESC(...))) +// - @c ... : List of string descriptors for each defined language. +#ifndef APP_USBD_STRINGS_USER +#define APP_USBD_STRINGS_USER X(APP_USER_1, , APP_USBD_STRING_DESC("User 1")) +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// SLIP_ENABLED - slip - SLIP encoding and decoding + + +#ifndef SLIP_ENABLED +#define SLIP_ENABLED 1 +#endif + +// app_usbd_cdc_acm - USB CDC ACM class + +//========================================================== +// APP_USBD_CDC_ACM_ENABLED - Enabling USBD CDC ACM Class library + + +#ifndef APP_USBD_CDC_ACM_ENABLED +#define APP_USBD_CDC_ACM_ENABLED 1 +#endif + +// APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE - Send ZLP on write with same size as endpoint + + +// If enabled, CDC ACM class will automatically send a zero length packet after transfer which has the same size as endpoint. +// This may limit throughput if a lot of binary data is sent, but in terminal mode operation it makes sure that the data is always displayed right after it is sent. + +#ifndef APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE +#define APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE 1 +#endif + +// +//========================================================== + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_BACKEND_UART_ENABLED - nrf_log_backend_uart - Log UART backend +//========================================================== +#ifndef NRF_LOG_BACKEND_UART_ENABLED +#define NRF_LOG_BACKEND_UART_ENABLED 0 +#endif +// NRF_LOG_BACKEND_UART_TX_PIN - UART TX pin +#ifndef NRF_LOG_BACKEND_UART_TX_PIN +#define NRF_LOG_BACKEND_UART_TX_PIN 6 +#endif + +// NRF_LOG_BACKEND_UART_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRF_LOG_BACKEND_UART_BAUDRATE +#define NRF_LOG_BACKEND_UART_BAUDRATE 30801920 +#endif + +// NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE 64 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 16384 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 4 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 0 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 0 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 0 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 4096 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_USB_DFU + +//========================================================== +// NRF_DFU_SERIAL_USB_RX_BUFFERS - nrf_dfu_serial_usb - USB DFU transport +// Number of buffers depends on flash access vs. +// transport throughtput. If value is too low it may lead +// to received packets being dropped. + +#ifndef NRF_DFU_SERIAL_USB_RX_BUFFERS +#define NRF_DFU_SERIAL_USB_RX_BUFFERS 3 +#endif + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/hex/license.txt b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/hex/license.txt new file mode 100644 index 0000000..cd3f7e3 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/hex/license.txt @@ -0,0 +1,3 @@ +The provided HEX files were compiled using the projects located in the folders for the respective boards (pca10xxx). + +For license and copyright information, see the individual .c and .h files that are included in the projects. diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/hex/secure_bootloader_usb_mbr_pca10056_debug.hex b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/hex/secure_bootloader_usb_mbr_pca10056_debug.hex new file mode 100644 index 0000000..77b49cc --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/hex/secure_bootloader_usb_mbr_pca10056_debug.hex @@ -0,0 +1,4199 @@ +:020000040000FA +:1000000000040020810A000015070000610A0000BA +:100010001F07000029070000330700000000000050 +:10002000000000000000000000000000A50A000021 +:100030003D070000000000004707000051070000D6 +:100040005B070000650700006F07000079070000EC +:10005000830700008D07000097070000A10700003C +:10006000AB070000B5070000BF070000C90700008C +:10007000D3070000DD070000E7070000F1070000DC +:10008000FB070000050800000F0800001908000029 +:10009000230800002D080000370800004108000078 +:1000A0004B080000550800005F08000069080000C8 +:1000B000730800007D080000870800009108000018 +:1000C0009B080000A5080000AF080000B908000068 +:1000D000C3080000CD080000D7080000E1080000B8 +:1000E000EB080000F5080000FF0800000909000007 +:1000F000130900001D090000270900003109000054 +:100100003B0900001FB500F003F88DE80F001FBD8C +:1001100000F0ACBC40F6FC7108684FF01022401CA7 +:1001200008D00868401C09D00868401C04D0086842 +:1001300000F037BA9069F5E79069F9E7704770B554 +:100140000B46010B184400F6FF70040B4FF0805073 +:100150000022090303692403406943431D1B104621 +:1001600000F048FA29462046BDE8704000F042BA47 +:10017000F0B54FF6FF734FF4B4751A466E1E11E0DA +:10018000A94201D3344600E00C46091B30F8027B3B +:10019000641E3B441A44F9D19CB204EB134394B25D +:1001A00004EB12420029EBD198B200EB134002EBB2 +:1001B000124140EA0140F0BDF34992B00446D1E952 +:1001C0000001CDE91001FF224021684600F0F4FB58 +:1001D00094E80F008DE80F00684610A902E004C8FB +:1001E00041F8042D8842FAD110216846FFF7C0FF7C +:1001F0001090AA208DF8440000F099F9FFF78AFFCB +:1002000040F6FC7420684FF01025401C0FD0206889 +:1002100010226946803000F078F92068401C08D030 +:100220002068082210A900F070F900F061F9A869AF +:10023000EEE7A869F5E74FF080500369406940F6A2 +:10024000FC71434308684FF01022401C06D0086838 +:1002500000F58050834203D2092070479069F7E788 +:100260000868401C04D00868401C03D00020704778 +:100270009069F9E70420704770B504460068C34DE3 +:10028000072876D2DFE800F033041929631E250021 +:10029000D4E9026564682946304600F062F92A46CE +:1002A0002146304600F031F9AA002146304600F0E0 +:1002B00057FB002800D0032070BD00F009FC4FF46C +:1002C000805007E0201D00F040F90028F4D100F034 +:1002D000FFFB60682860002070BD241D94E80700C3 +:1002E000920000F03DFB0028F6D00E2070BDFFF715 +:1002F000A2FF0028FAD1D4E901034FF0805100EBAE +:10030000830208694D69684382420ED840F6F8704E +:1003100005684FF010226D1C09D0056805EB8305B8 +:100320000B6949694B439D4203D9092070BD55694A +:10033000F4E70168491C03D00068401C02D003E0C8 +:100340005069FAE70F2070BD2046FFF735FFFFF731 +:1003500072FF0028F7D1201D00F0F7F80028F2D135 +:1003600060680028F0D100F0E2F8FFF7D3FE00F05B +:10037000BFF8072070BD10B50C46182802D0012028 +:10038000086010BD2068FFF777FF206010BD41684E +:10039000054609B1012700E0002740F6F8742068FF +:1003A0004FF01026401C2BD02068AA68920000F065 +:1003B000D7FA38B3A86881002068401C27D020688D +:1003C000FFF7BDFED7B12068401C22D026684FF051 +:1003D0008050AC686D68016942695143A9420DD9EA +:1003E000016940694143A14208D92146304600F0E5 +:1003F000B8F822462946304600F087F800F078F831 +:100400007069D2E700F093F8FFF784FEF6E77069B1 +:10041000D6E77669DBE740F6FC7420684FF01026DB +:10042000401C23D02068401C0CD02068401C1FD0EA +:100430002568206805F18005401C1BD027683879A5 +:10044000AA2819D040F6F8700168491C42D001680A +:10045000491C45D00168491C3ED001680968491C07 +:100460003ED00168491C39D000683EE0B069DAE747 +:10047000B569DEE7B769E2E710212846FFF778FEA5 +:100480003968814222D12068401C05D0D4F8001080 +:1004900001F18002C03107E0B169F9E730B108CA63 +:1004A00051F8040D984201D1012000E000208A4259 +:1004B000F4D158B1286810B1042803D0FEE72846CB +:1004C000FFF765FF3149686808600EE0FFF722FE1C +:1004D00000F00EF87169BBE77169BFE7706904E06D +:1004E0004FF480500168491C01D000F0CBFAFEE7C0 +:1004F000BFF34F8F26480168264A01F4E06111439B +:100500000160BFF34F8F00BFFDE72DE9F0411746B3 +:100510000D460646002406E03046296800F054F8EF +:10052000641C2D1D361DBC42F6D3BDE8F08140F69B +:10053000FC700168491C04D0D0F800004FF48051D1 +:10054000FDE54FF010208069F8E74FF080510A690F +:10055000496900684A43824201D810207047002050 +:10056000704770B50C4605464FF4806608E0284693 +:1005700000F017F8B44205D3A4F5806405F5805562 +:10058000002CF4D170BD0000F40A0000000000202F +:100590000CED00E00400FA05144801680029FCD0C5 +:1005A0007047134A0221116010490B68002BFCD0E0 +:1005B0000F4B1B1D186008680028FCD0002010603D +:1005C00008680028FCD07047094B10B501221A605A +:1005D000064A1468002CFCD0016010680028FCD08A +:1005E0000020186010680028FCD010BD00E4014015 +:1005F00004E5014070B50C46054600F073F810B9EB +:1006000000F07EF828B121462846BDE8704000F091 +:1006100007B821462846BDE8704000F037B8000012 +:100620007FB5002200920192029203920A0B000B06 +:100630006946012302440AE0440900F01F0651F80C +:10064000245003FA06F6354341F82450401C8242F8 +:10065000F2D80D490868009A10430860081D016827 +:10066000019A1143016000F03DF800280AD00649C4 +:1006700010310868029A10430860091D0868039A3F +:10068000104308607FBD00000006004030B50F4CED +:10069000002200BF04EB0213D3F800582DB9D3F8A1 +:1006A000045815B9D3F808581DB1521C082AF1D3C3 +:1006B00030BD082AFCD204EB0212C2F80008C3F8CD +:1006C00004180220C3F8080830BD000000E0014013 +:1006D0004FF08050D0F83001082801D0002070473A +:1006E000012070474FF08050D0F83011062905D016 +:1006F000D0F83001401C01D0002070470120704725 +:100700004FF08050D0F830010A2801D00020704707 +:100710000120704708208F490968095808471020B0 +:100720008C4909680958084714208A4909680958FA +:100730000847182087490968095808473020854923 +:100740000968095808473820824909680958084744 +:100750003C20804909680958084740207D490968BC +:100760000958084744207B49096809580847482028 +:1007700078490968095808474C207649096809589A +:10078000084750207349096809580847542071499F +:1007900009680958084758206E49096809580847E8 +:1007A0005C206C4909680958084760206949096854 +:1007B00009580847642067490968095808476820AC +:1007C00064490968095808476C2062490968095852 +:1007D000084770205F4909680958084774205D4937 +:1007E00009680958084778205A490968095808478C +:1007F0007C205849096809580847802055490968EC +:10080000095808478420534909680958084788202F +:1008100050490968095808478C204E490968095809 +:10082000084790204B4909680958084794204949CE +:10083000096809580847982046490968095808472F +:100840009C204449096809580847A0204149096883 +:1008500009580847A4203F49096809580847A820B3 +:100860003C49096809580847AC203A4909680958C1 +:100870000847B0203749096809580847B420354966 +:10088000096809580847B8203249096809580847D3 +:10089000BC203049096809580847C0202D4909681B +:1008A00009580847C4202B49096809580847C82037 +:1008B0002849096809580847CC2026490968095879 +:1008C0000847D0202349096809580847D4202149FE +:1008D000096809580847D8201E4909680958084777 +:1008E000DC201C49096809580847E02019490968B3 +:1008F00009580847E4201749096809580847E820BB +:100900001449096809580847EC2012490968095830 +:100910000847F0200F49096809580847F4200D4995 +:10092000096809580847F8200A490968095808471A +:10093000FC2008490968095808475FF48070054998 +:10094000096809580847000003480449024A034B54 +:100950007047000000000020000B0000000B0000AA +:1009600040EA010310B59B070FD1042A0DD310C82C +:1009700008C9121F9C42F8D020BA19BA884201D97E +:10098000012010BD4FF0FF3010BD1AB1D30703D0C6 +:10099000521C07E0002010BD10F8013B11F8014B7C +:1009A0001B1B07D110F8013B11F8014B1B1B01D198 +:1009B000921EF1D1184610BD02F0FF0343EA032254 +:1009C00042EA024200F005B87047704770474FF0A6 +:1009D00000020429C0F0128010F0030C00F01B800C +:1009E000CCF1040CBCF1020F18BF00F8012BA8BF1A +:1009F00020F8022BA1EB0C0100F00DB85FEAC17CDE +:100A000024BF00F8012B00F8012B48BF00F8012B90 +:100A100070474FF0000200B51346944696462039C1 +:100A200022BFA0E80C50A0E80C50B1F12001BFF4A7 +:100A3000F7AF090728BFA0E80C5048BF0CC05DF80D +:100A400004EB890028BF40F8042B08BF704748BF5B +:100A500020F8022B11F0804F18BF00F8012B7047CF +:100A6000014B1B68DB6818470000002009480A4951 +:100A70007047FFF7FBFFFFF745FB00BD20BFFDE719 +:100A8000064B1847064A1060016881F308884068E1 +:100A900000470000000B0000000B000017040000DE +:100AA000000000201EF0040F0CBFEFF30881EFF3ED +:100AB0000981886902380078182803D100E0000015 +:100AC000074A1047074A12682C3212681047000084 +:100AD00000B5054B1B68054A9B58984700BD0000B0 +:100AE0007703000000000020F00A0000040000006E +:100AF000001000000000000000FFFFFF0090D00386 +:02000004000EEC +:10C0000008D30020DDC30E00E5C30E00E7C30E0019 +:10C01000E9C30E00EBC30E00EDC30E0000000000EC +:10C02000000000000000000000000000EFC30E0050 +:10C03000F1C30E0000000000F3C30E00F5C30E00B4 +:10C0400075DA0E00F7C30E0065DD0E00F7C30E00B3 +:10C05000F7C30E00F7C30E00F7C30E00F7C30E00C0 +:10C06000F7C30E00F7C30E00F7C30E00F7C30E00B0 +:10C07000F7C30E00F7C30E00F7C30E00F7C30E00A0 +:10C0800031DE0E00F7C30E00F7C30E00F7C30E003B +:10C09000F7C30E00F7C30E00F7C30E00F7C30E0080 +:10C0A000F7C30E00F7C30E00F7C30E00F7C30E0070 +:10C0B000F7C30E00F7C30E000000000000000000F0 +:10C0C000F7C30E00F7C30E00F7C30E00F7C30E0050 +:10C0D00085DA0E00F7C30E00F7C30E00B9DD0E00BF +:10C0E000F7C30E00F7C30E00C9C50E000000000024 +:10C0F00000000000F7C30E0000000000F7C30E00B0 +:10C10000000000000000000000000000000000002F +:10C11000000000000000000000000000000000001F +:10C12000000000000000000000000000000000000F +:10C1300000000000000000000000000000000000FF +:10C1400000000000000000000000000000000000EF +:10C1500000000000000000000000000000000000DF +:10C1600000000000000000000000000000000000CF +:10C1700000000000000000000000000000000000BF +:10C1800000000000000000000000000000000000AF +:10C19000000000000000000000000000000000009F +:10C1A000000000000000000000000000000000008F +:10C1B000000000000000000000000000000000007F +:10C1C000000000000000000000000000000000006F +:10C1D000000000000000000000000000000000005F +:10C1E000000000000000000000000000000000004F +:10C1F000000000000000000000000000000000003F +:10C20000DFF80CD000F092F900480047B11C0F0095 +:10C2100008D3002030B4044654E8000F0D4644E82B +:10C220000053002BF8D1156030BC704730B4044681 +:10C2300054E8000F40EA010544E80053002BF7D111 +:10C24000156030BC704730B4044654E8000F00EA73 +:10C25000010544E80053002BF7D1156030BC70474E +:10C2600030B4044654E8000F80EA010544E8005366 +:10C27000002BF7D1156030BC704730B4044654E849 +:10C28000000F00EB010544E80053002BF7D11560C7 +:10C2900030BC704730B4044654E8000FA0EB0105F1 +:10C2A00044E80053002BF7D1156030BC704770B4E0 +:10C2B00004464FF0000054E8006F0D68AE4207BF1F +:10C2C00044E80023012044E800630E60002B1CBFFB +:10C2D0000020F0E770BC704730B4044654E8000F0B +:10C2E00088422CBF451A054644E80053002BF5D17F +:10C2F000156030BC7047000030B4044654E8000FAD +:10C300000D4644E80053002BF8D1156030BC70474F +:10C3100030B4044654E8000F40EA010544E80053F5 +:10C32000002BF7D1156030BC704730B4044654E898 +:10C33000000F00EA010544E80053002BF7D1156017 +:10C3400030BC704730B4044654E8000F80EA010561 +:10C3500044E80053002BF7D1156030BC704730B46F +:10C36000044654E8000F00EB010544E80053002B9D +:10C37000F7D1156030BC704730B4044654E8000F64 +:10C38000A0EB010544E80053002BF7D1156030BC49 +:10C39000704770B404464FF0000054E8006F0D6819 +:10C3A000AE4207BF44E80023012044E800630E606A +:10C3B000002B1CBF0020F0E770BC704730B404466F +:10C3C00054E8000F88422CBF451A054644E8005344 +:10C3D000002BF5D1156030BC70470000064880473F +:10C3E00006480047FEE7FEE7FEE7FEE7FEE7FEE75A +:10C3F000FEE7FEE7FEE7FEE789DB0E0001C20E0066 +:10C40000202A04DB203A00FA02F100207047914014 +:10C41000C2F1200320FA03F3194390407047000053 +:10C4200000487047B4AB0F0010B5441A034694425D +:10C4300009D28418114403E011F8013D04F8013DCC +:10C44000521EF9D210BD40EA0104A40703D009E04E +:10C4500010C9121F10C3042AFAD203E011F8014BCD +:10C4600003F8014B521EF9D210BDD2B201E000F820 +:10C47000012B491EFBD270470022F6E710B5134688 +:10C480000A4604461946FFF7F0FF204610BD421C3D +:10C4900010F8011B0029FBD1801A704730B5044603 +:10C4A0000020034600E05B1C934203D2E05CCD5CBD +:10C4B000401BF8D030BD034611F8012B00F8012BCA +:10C4C000002AF9D1184670472DE9F05F0546002093 +:10C4D00092469B4688460646814640241BE02846F5 +:10C4E00041464746224600F033F853465A46C01AA2 +:10C4F000914110D3114618462246FFF781FF2D1AAD +:10C5000067EB01084F46224601200021FFF778FF24 +:10C5100017EB00094E41201EA4F10104DFDC484660 +:10C5200031462A464346BDE8F09F0000064C074DC1 +:10C5300006E0E06840F0010394E8070098471034F3 +:10C54000AC42F6D3FFF760FE98B90F00B8B90F0000 +:10C55000202A04DB203A21FA02F00021704721FA58 +:10C5600002F3D040C2F120029140084319467047BF +:10C5700070B58C1810F8015B15F0070301D110F8A5 +:10C58000013B2A1106D110F8012B03E010F8016BD2 +:10C5900001F8016B5B1EF9D12B0705D40023521E55 +:10C5A0000DD401F8013BFAE710F8013BCB1A921CBD +:10C5B00003E013F8015B01F8015B521EF9D5A142BB +:10C5C000D8D3002070BD0000054B4FF0FF321A6039 +:10C5D00053F8042C034B1A601A68034B1A60704717 +:10C5E00004BA02500093002008BA025001EB820204 +:10C5F00004388A4201D10020704752F8043D1BBA2A +:10C6000040F8043FF5E70000354B8EB019461A6834 +:10C610000092009AD207FAD5324B334A1A600A6860 +:10C620000192019AD007FAD5304A1A600A6802923C +:10C63000029AD207FAD52E4A1A600A680392039A20 +:10C64000D007FAD52B4A1A600A680492049AD207D6 +:10C65000FAD5294A1A600A680592059AD007FAD5D0 +:10C66000264A1A600A680692069AD207FAD5244A20 +:10C670001A600A680792079AD007FAD5214A1A6009 +:10C680000A680892089AD207FAD51F4A1A600A68FF +:10C690000992099AD007FAD51C4A1A600A680A92C8 +:10C6A0000A9AD207FAD51A4A1A6008680B900B98B2 +:10C6B000C007FAD51A600A680C920C9AD007FAD50E +:10C6C000144A1A600A680D920D9AD207FAD5124AD6 +:10C6D0001A600E210D230F2200200EB000F090BD35 +:10C6E000B0B0025080B0025080430129406339212C +:10C6F000807001298020542100D13490C0403490B2 +:10C70000C0302029C0530D9000413890832308C8C1 +:10C7100080E3102100413821CF4308C810B5504BA9 +:10C7200096B01C461A680192019AD207FAD54D4B71 +:10C730004D4A1A6022680292029AD207FAD54B4AF1 +:10C740001A604B4A42EA804022680392039AD20759 +:10C75000FAD5186022680492049AD007FAD5454A9F +:10C760001A60A2F5800242EA814122680592059A88 +:10C77000D207FAD5196022680692069AD007FAD530 +:10C780003D4A1A6022680792079AD107FAD53B4AB8 +:10C790001A6022680892089AD207FAD5384A1A60B5 +:10C7A00022680992099AD007FAD5364A1A60226897 +:10C7B0000A920A9AD107FAD5334A1A6022680B9274 +:10C7C0000B9AD207FAD5314A1A6022680C920C9A59 +:10C7D000D007FAD52E4A1A6022680D920D9AD10719 +:10C7E000FAD52C4A1A6022680E920E9AD207FAD510 +:10C7F000294A1A6022680F920F9AD007FAD5274A61 +:10C800001A60216810911099C907FAD51A60144B63 +:10C810001A46196811911199C807FAD5114B204988 +:10C820001960116812911299C907FAD51D4919604A +:10C83000116813911399CC07FAD50B491960116847 +:10C8400014911499C807FAD5174919601168159100 +:10C850001599C907FAD5154A1A6016B010BD00BF60 +:10C86000B0B0025080B002504004419000862929A7 +:10C87000D81001C84014419040142129401465216A +:10C880000034409000310C90C0400C90C030202902 +:10C8900040960D9000416090031645C80086112116 +:10C8A00000416021594644C84014459040142D90E1 +:10C8B0002DE9F041484B88B01C461D680195019D4B +:10C8C000EF07FAD5454BDFF820E1454F13449B00B5 +:10C8D0000A181B681E2A88BFC0F11E011F330A18E0 +:10C8E0005B095A43B2F5806F88BF4FF480614FF007 +:10C8F000000203F1010588BFB1FBF3F1944688BF44 +:10C90000091A25F001058000914233DC2268049267 +:10C91000049AD207FAD5334A12682168059105991D +:10C92000CF07FAD530482E490260002215469A42B8 +:10C9300046D15A1C2A4D194622F0010200268A428D +:10C9400041D8216806910699CE07FAD5274909688A +:10C9500025680795079DED07FAD50160002120485D +:10C960000C46994232D11E4900209A4231D808B073 +:10C97000BDE8F08126680296029EF607FAD500F11E +:10C98000A04606F52C363668D4F80080CDF80C8029 +:10C99000DDF80C8018F0010FF6D0CEF8006000260C +:10C9A0009E4205D11E46B54206D801320430ABE79F +:10C9B000C7F800C00136F3E7C7F800C00136F2E758 +:10C9C0000D600132B3E72E600131B8E70460013138 +:10C9D000C7E708600133C8E7B4B0025024AC0014C4 +:10C9E000D8B002507CB00250D4B0025078B002509F +:10C9F000F0B52A4D85B02C462E680096009EF707AC +:10CA0000FAD500F1A05000F52C40800005682068A0 +:10CA100001900198C607FAD5214E2248356002EBF5 +:10CA20008307BA422BD15A1C1E4822F0010200276C +:10CA30009A4229D823680293029BD807FAD51A4B49 +:10CA40000B449B0018681F30B2EB501F4FEA501385 +:10CA500013D2216803910399C907FAD5154400211F +:10CA60009B1A104A356008468B4210D85A1C0D4953 +:10CA700022F0010200209A420CD805B0F0BD52F815 +:10CA800004CBC0F800C0CCE707600133D0E71060EA +:10CA90000131E9E708600133EDE700BFB4B00250AF +:10CAA000D4B00250D8B0025024AC001410B5494B99 +:10CAB00094B019461A680092009AD207FAD5464BEC +:10CAC000464A1A600A680192019AD407FAD5444A84 +:10CAD0001A600A680292029AD007FAD54148186093 +:10CAE0000A680392039AD207FAD53F4A1A600A6885 +:10CAF0000492049AD407FAD53C4A1A600A6805924F +:10CB0000059AD207FAD53A4A1A600A680692069A36 +:10CB1000D407FAD5374A1A600A680792079AD207EB +:10CB2000FAD5354A1A600A680892089AD407FAD5E5 +:10CB3000324A1A600A680992099AD207FAD5304A2D +:10CB40001A600A680A920A9AD407FAD52D4A1A601E +:10CB50000A680B920B9AD207FAD52B4A1A600A6818 +:10CB60000C920C9AD407FAD5284A1A600A680D92DA +:10CB70000D9AD207FAD5264A1A600A680E920E9AC2 +:10CB8000D407FAD5234A1A600A680F920F9AD2077F +:10CB9000FAD5214A1A600F4B19461C681094109C54 +:10CBA000E407FAD50C4B1860086811901198C40777 +:10CBB000FAD51A600A681292129AD007FAD5174A63 +:10CBC0001A600A681392139AD207FAD5144A1A60A7 +:10CBD00014B010BDB0B0025080B0025080906521FA +:10CBE0000004099040966590808061218020082192 +:10CBF0008020649000816190004610210081112105 +:10CC00000041442180202029024610C800860921C5 +:10CC100080206021402128294096652140962529C1 +:10CC2000594614C810B5544B98B019461A68019269 +:10CC3000019AD207FAD5514B514A1A600A680292FA +:10CC4000029AD407FAD54F4A1A600A680392039AE7 +:10CC5000D007FAD54C4818600A680492049AD207A3 +:10CC6000FAD54A4A1A600A680592059AD407FAD595 +:10CC7000474A1A600A680692069AD207FAD5454AC8 +:10CC80001A600A680792079AD407FAD5424A1A60CE +:10CC90000A680892089AD207FAD5404A1A600A68C8 +:10CCA0000992099AD407FAD53D4A1A600A680A928D +:10CCB0000A9AD207FAD53B4A1A600A680B920B9A75 +:10CCC000D407FAD5384A1A600A680C920C9AD2072F +:10CCD000FAD5364A1A600A680D920D9AD407FAD529 +:10CCE000334A1A600A680E920E9AD207FAD5314A70 +:10CCF0001A600A680F920F9AD407FAD52E4A1A6062 +:10CD00000A681092109AD207FAD52C4A1A601A4B68 +:10CD100019461C681194119CE407FAD5174B18604A +:10CD2000086812901298C407FAD51A600A6813921C +:10CD3000139AD007FAD5124A1A600A681492149A04 +:10CD4000D207FAD51E4A1A600A681592159AD407B6 +:10CD5000FAD51C4A1A600A681692169AD007FAD5B4 +:10CD6000194A1A600A681792179AD207FAD5174A11 +:10CD70001A6018B010BD00BFB0B0025080B00250B1 +:10CD800000936521000431904096659000836121F5 +:10CD900000C3302100C364900081619000461021DF +:10CDA000008111210041442100C320290C4610C8F4 +:10CDB0000086312100C3602140C1282940966521A9 +:10CDC0000013319040962529594614C84004324931 +:10CDD0002DE9F041834B1D6898682033A0B01E46B2 +:10CDE0001A680192019AD207FAD57F4C7F4B2360D3 +:10CDF00033680293029BDF07FAD57D4B23607D4B9E +:10CE00001F461A680392039AD107FAD57A4B19681C +:10CE1000C1F3402132680492049AD207FAD5774AC6 +:10CE200022603A680592059AD207FAD51A68C2F3C9 +:10CE30004022002900F0D180002A00F0CE80326824 +:10CE40000692069AD107FAD56D4A22603A6807928F +:10CE5000079AD207FAD51A68C2F3402231680891BE +:10CE60000899C907FAD56749216039680991099974 +:10CE7000C907FAD51B68C3F34023002A00F0AF802E +:10CE8000002B00F0AC8033680A930A9BDA07FAD5CE +:10CE9000564B236033680B930B9BDB07FAD55A4A3A +:10CEA000226033680C930C9BDF07FAD5574B236045 +:10CEB00033680D930D9BD907FAD5554B2360336822 +:10CEC0000E930E9BDB07FAD5524B236033680F930A +:10CED0000F9BDF07FAD5504B2360504B1E46196855 +:10CEE00010911099C907FAD53F4C4D4B2360336818 +:10CEF0001193119BDB07FAD54A4B236033681293D9 +:10CF0000129BDF07FAD5484B23603A4B98461968C5 +:10CF100013911399C907FAD5324F386033681493C7 +:10CF2000149BDB07FAD5226033681593159BD8074D +:10CF3000FAD53E4B236033681693169BD907FAD572 +:10CF40003B4B236033681793179BDA07FAD5394BAD +:10CF5000236033681893189BDB07FAD5364B2360A0 +:10CF600033681993199BD807FAD5344B236033687B +:10CF70001A931A9BD907FAD5314B236033681B9358 +:10CF80001B9BDA07FAD52F4B236000F0D3F908BBBF +:10CF9000D8F800301C931C9BDB07F9D53D60336843 +:10CFA0001D931D9BD907FAD5274B236033681E9329 +:10CFB0001E9BDA07FAD5254B2360D8F800301F9363 +:10CFC0001F9BDB07F9D50C4B1B6813F4805F204BCC +:10CFD00008BF184620B0BDE8F0811E48FAE71E4899 +:10CFE000F8E700BF90B0025080B00250001002512C +:10CFF000C01F7229B4B0025088B00250C0CF0129BE +:10D00000C01F0E29C03F002940010249003184A8F9 +:10D0100000001649400108A180440888B0B00250C1 +:10D02000C044708880077A41C0077E4100006A4989 +:10D030008006164940006E4900020021008220212E +:10D04000408220218082242140A161A100C8615139 +:10D050000308F1000108F1000208F10008B540B131 +:10D06000202801464FF0070228BF20210020FFF7AB +:10D070001FFC024B00221A6008BD00BF1CB8025002 +:10D08000F0B51D6885B001F01F040DB91F2C25D126 +:10D09000154D2E462F680197019FFF07FAD500F125 +:10D0A000A05000F52C408000006835680395039D72 +:10D0B000ED07FAD50D4D00EB611028600C480068B3 +:10D0C00002901F2C18BFC94302980FBF106001F0D7 +:10D0D0001F0100FA01F1116000211960106843007E +:10D0E000C00F136005B0F0BDB4B00250E4B0025000 +:10D0F000DCB0025030B51F4B85B01A46196800915C +:10D100000099CC07FAD500F1A05000F52C40800022 +:10D11000016813680193019BD807FAD5164B174C89 +:10D120001B68174D13F11F0048BF03F13E0040116B +:10D130000138002810DA00230130400153B1A0F17A +:10D1400020014FF00042134204D1013888424FEAD7 +:10D150005202F8D105B030BD13680393039BDB077F +:10D16000FAD5431823602B680293029B002BE3D16E +:10D170000138DEE7B4B00250ACB00250E4B0025067 +:10D18000DCB002500A460021AFF3008038B5A0F1B0 +:10D190002003B3F5426F05462CD88F2826D800F11E +:10D1A000470300F16604DB064FEA541400D0013453 +:10D1B00064013F34A409013411B18C421AD80C46E1 +:10D1C000E3004FF48050B0FBF3F0202828BF20206C +:10D1D00002B11060084B01221A60214600F068F885 +:10D1E0002846214600F088F8002038BD00F11F04D1 +:10D1F0006409DDE70148F8E71CB802502221F0007D +:10D2000070B5264888B0054604680094009CE6077F +:10D21000FAD52348234C0460234C44EA83432C680A +:10D220000194019CE407FAD50360930143EA82422A +:10D2300042F0104444F4C0442B680293029BDE0782 +:10D24000FAD504602B680393039BDB07FAD5174BD1 +:10D2500003608B0143EA814141F0104343F4C04332 +:10D260002E680496049EF607FAD503602B68059392 +:10D27000059BDE07FAD5046041F058412B68069300 +:10D28000069BDC07FAD5016042F058422B680793F1 +:10D29000079BDB07FAD5026008B070BDB0B0025042 +:10D2A00080B00250C02102298071009880611890DE +:10D2B000002230B549001346023840F6FC75940050 +:10D2C00004F1A04404F52C34904202F10102CABFDB +:10D2D000236025605B181E2AF1D1044A13600B44B9 +:10D2E0005360034B034A1A6030BD00BF78B0025050 +:10D2F00084B0025020F80F000C4B18603F3020F033 +:10D300003F008901403058609960D96019615961C6 +:10D3100099610748D9611C3382B002680192019A71 +:10D32000D207FAD5196002B0704700BF90B0025022 +:10D33000B4B002502DE9F041012392B0CDE903339E +:10D34000624B1E461A680592059AD107FAD5604CC1 +:10D35000604B2360604B19461A680692069AD20702 +:10D36000FAD55E4B1A68D70400F1A880326807929C +:10D37000079AD507FAD55A4A22600A680892089A8D +:10D38000D007FAD51B68DA04C3F3003700F19880A0 +:10D390001220FFF7AFFE05461320FFF7ABFE8542D4 +:10D3A0008CBF12201320FFF7A5FE451EFFF72CF9B6 +:10D3B00003AB01AA29461220FFF762FE04AB8046A8 +:10D3C00002AA29461320FFF75BFE00EB4800022863 +:10D3D00032D003283ED0012874D133680993099BC9 +:10D3E000DB07FAD53F4B236033680A930A9BD807C3 +:10D3F000FAD53D4B236033680F930F9BD907FAD5BD +:10D400003A4B236033681093109BDA07FAD5384BF8 +:10D41000236033681193119BDB07FAD5354B2360EA +:10D42000013D25D51023192218210020FFF7E8FE21 +:10D43000384612B0BDE8F08133680B930B9BD907D7 +:10D44000FAD52D4B236033680C930C9BDA07FAD581 +:10D450002A4BCFE733680D930D9BDB07FAD5284B9A +:10D46000236033680E930E9BD807FAD5254BC1E78E +:10D4700003AB01AA29461220FFF702FE04AB0446C3 +:10D4800002AA29461320FFF7FBFD10EB440402D14A +:10D49000FFF7C8FBC4E7FFF709FB022C08D0032CF9 +:10D4A00009D0012C10D117211620FFF737F9B7E763 +:10D4B00015211420F9E70F210E20F6E7124FB7E7E8 +:10D4C000124FB5E7124FB3E7124FB1E7B0B00250B9 +:10D4D00080B0025000084A51B4B0025088B00250E7 +:10D4E00000084E5100065A4940065E490004424178 +:10D4F0000014424940042E4900065249400656494C +:10D5000000063A4940063E490608F1000708F100C6 +:10D510000408F1000508F100014B1860704700BFD6 +:10D5200008BA0250014B1860704700BF04BA02509D +:10D53000094BC2431A60043B82B01B680193074B3E +:10D54000019A024204D0064A1060186802B070477F +:10D5500020BF1A680192F3E704BA0250009300203A +:10D5600008BA0250FEF760BFFEF788BF0A460021E6 +:10D57000FEF784BF2DE9F74305460E461F461146C8 +:10D5800000F058FA0446002840F08280002E00F097 +:10D590008380002900F08280202F40F0818005F1F7 +:10D5A0004404082205F104092046FFF71FF805F19D +:10D5B0002408082231464846FFF718F806F12001F2 +:10D5C00008224046FFF712F801A94FF48070019736 +:10D5D000FFF7D8FD002865D1334A4FF480731360FC +:10D5E00001219360314A0823FFF702FA012108461E +:10D5F0002F4A0523FFF7FCF908234A4601211C2086 +:10D60000FFF7F6F90823424601210320FFF7F0F95E +:10D610002246082301210220FFF7EAF9254A0823C0 +:10D6200001211A20FFF7E4F9234A052301211B20D9 +:10D63000FFF7DEF9214A082301211420FFF7D8F96A +:10D640001F4A082301211520FFF7D2F9082305F10D +:10D65000640201211620FFF7CBF9082305F18402AB +:10D6600001211720FFF7C4F90823164A01210B20D6 +:10D67000FFF7BEF9FFF7ACFB04460198FFF7EEFC9D +:10D68000114B002C18BF1C46A4212846FFF76EFF43 +:10D69000204603B0BDE8F0830C4CF9E70C4CF7E7EB +:10D6A0000C4CF5E7084CEFE790B002500CB90F00B6 +:10D6B00084B90F00CCB80F0070B90F0030B90F005B +:10D6C00050B90F00ECB80F008408F0007608F000A5 +:10D6D0008008F0008108F00038B50D460446B0B16E +:10D6E000A02200210430FFF73FFF95B10822294610 +:10D6F00004F16400FEF77AFF082205F1200104F12D +:10D700008400FEF773FF044B2360002038BD0348FC +:10D71000FCE70348FAE700BFDD55AABB7108F0003B +:10D720008308F00037B50193069B00930446154625 +:10D73000FFF7D2FF40B9DDE900322946204603B0A9 +:10D74000BDE83040FFF716BF03B030BD2DE9FF4103 +:10D75000144B04460D460FCBE84688E80F002046E0 +:10D7600000F078F90746B0B9CDB1636A261D01967D +:10D770003BB90123226F636204F13001404600F09F +:10D7800081F83346043D243453F8042B12BAA342E3 +:10D7900045F8042FF8D1384604B0BDE8F081024FB7 +:10D7A000F9E700BF9CB80F000502F00013B504466E +:10D7B00070B1043070210190FFF7D8FE019805493F +:10D7C0002022FFF7CFFE044B2360002002B010BDE3 +:10D7D0000248FBE7ACB80F00DD55AABB0002F00021 +:10D7E0002DE9FF47254B04460F4615460FCBE8466B +:10D7F00088E80F0025B90026304604B0BDE8F08760 +:10D80000204600F027F906460028F5D1666A231D58 +:10D8100001938EBB206FC0B1C0F14009A94528BF5C +:10D82000A94604F1300A4A4639465044FFF79AFEA9 +:10D83000226F4A44402A4F442267A5EB090504D1D0 +:10D840005146404600F01EF8266705F03F0935F0C6 +:10D850003F0505D039462A46404600F013F82F44CC +:10D86000B9F1000FC7D04A46394604F13000FFF73E +:10D8700079FEC4F87090BFE7014EBDE79CB80F0079 +:10D880000C02F0002DE9F74F314B446805469146F4 +:10D890009A461A68002AFCD12E4B9B461A68002A29 +:10D8A000FCD14FF0FF300191FFF736FE8020FFF7EB +:10D8B00039FE294E294ADFF8B880294F0123072075 +:10D8C0003360A2F59E72C2F83C011360636AC8F827 +:10D8D0000030A36A3B602B6842F8043CAB682046EA +:10D8E00098470199DAF80030002BFBD1B9F1000F0D +:10D8F00020D11C4B04221A60DAF80030002BFBD137 +:10D90000DBF80090B9F1000FFAD1EB682046984798 +:10D91000D8F8003063623B68A362134BC3F80090F1 +:10D92000C3F84491DAF80030002BFBD1336003B028 +:10D93000BDE8F08F236A012B04BF0B4A13600B4B29 +:10D9400040201960C3F80490FFF7F2FDD4E700BF50 +:10D9500010B9025020BC025018B8025000B9025051 +:10D96000D0B70250C8B7025084B6025028BC02504B +:10D97000CCB70250084B1B681B0EF02B08D1074B8D +:10D980001A68074B9A4205D1064B00201860704771 +:10D99000052070470620704728B9025024BA02506B +:10D9A0000000E0200CBA02500C4B1B68C3610C4B0A +:10D9B0001B6883610B4B1B6843610B4B1B68036146 +:10D9C0000A4B1B68C3600A4B1B688360094B1B68CA +:10D9D0004360094B1B680360704700BF5CB6025090 +:10D9E00058B6025054B6025050B602504CB60250CF +:10D9F00048B6025044B6025040B602500C4BC269C1 +:10DA00001A60826943F8042C426943F8082C0269C1 +:10DA100043F80C2CC26843F8102C826843F8142C8D +:10DA2000426843F8182C026843F81C2C704700BF6A +:10DA30005CB6025030B10268034B04489A4208BFFA +:10DA40000020704702487047DD55AABB8208F000ED +:10DA50007108F00030B10268034B04489A4208BFD5 +:10DA60000020704702487047DD55AABB0202F00053 +:10DA70000002F00010B508F05DFABDE8104008F0B3 +:10DA8000C7B900002DE9F0411E4E4FF48271D6F85F +:10DA9000040130B11C48C268521CC260304607F015 +:10DAA000ABFE00254FF4A07707EB85018AB2304624 +:10DAB000B25812B389B207F09FFE1348103000EB42 +:10DAC000051420460BF0ECFE104811492246401A7E +:10DAD000C008042101EB00400EA107F043FC61687F +:10DAE00019B120460BF032FE07E0A16811B12046C3 +:10DAF0000BF02CFE206800B180476D1C022DD3D3A3 +:10DB0000BDE8F081004002401400002058BA0F0028 +:10DB1000D8B90F0074696D65725F666972652028F7 +:10DB2000307825782900000000F092B970B50E46D3 +:10DB3000144900EB400001EBC0051446E86A1835B3 +:10DB400020B101280FD0022805D113E0284600F0AB +:10DB5000B5F9A04201D2002411E022463146284600 +:10DB600000F0F9F90BE0284600F0A8F9A042F4D241 +:10DB70000446F2E73146284600F0C0F90446204644 +:10DB800070BD00004869002030B54FF0805200237E +:10DB9000D2E94C10082906D1CC06C4F80C31C4F8DF +:10DBA0001031624C2360082955D1614B1B68614CD0 +:10DBB00023605F4B1B1D1B68241D23605C4B0833D7 +:10DBC0001B68241D23605A4B0C331B68241D2360E3 +:10DBD000574B10331B68241D2360554B14331B68AF +:10DBE000241D2360524B18331B68524C2034236091 +:10DBF0004F4B1C331B68241D23604D4B20331B6887 +:10DC0000241D23604A4B24331B68241D2360484B8A +:10DC100028331B68241D2360454B2C331B68241DAF +:10DC20002360434B30331B68424C40342360404BED +:10DC300034331B68241D23603D4B38331B68241D7F +:10DC400023603B4B3C331B68241D2360384B40331F +:10DC50001B68241D2360082904D1030002D1374C1E +:10DC6000354B2360082904D1030002D1344CFB2337 +:10DC70002360082908D1030006D1324B92F858528C +:10DC80001C6865F303041C60082904D1030002D159 +:10DC90002D4C8B012360082906D12C480168C90747 +:10DCA00002D06FF0010101602948016841F4700160 +:10DCB0000160BFF34F8FBFF36F8FD2E94C104FF06D +:10DCC0001022082906D1032804D9D2F808021749DE +:10DCD00020310860D2F80002002803DBD2F80402E9 +:10DCE00000281FDA012009F005F91221C2F80012FC +:10DCF00018480368002BFCD0C2F804120168002900 +:10DD0000FCD0002009F0F6F8BFF34F8F10487C38A4 +:10DD10000168114A01F4E06111430160BFF34F8FC4 +:10DD200000BFFDE70E490D48086030BD38050040D2 +:10DD30000404001020C50040488103008C560040B8 +:10DD400018F50040E40E00404096024000040040F8 +:10DD500088ED00E000E401400400FA050090D003E3 +:10DD60008801002010B5054C206818B904A12B20AB +:10DD700001F036FF2068BDE8104000479C000020FD +:10DD80002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6D8E +:10DD90006F64756C65735C6E7266785C64726976CC +:10DDA0006572735C7372635C7072735C6E726678BA +:10DDB0005F7072732E6300002DE9F0411A48D0F8AD +:10DDC0000453002601240FE095FAA5F0B0FA80F77D +:10DDD000B80000F5807007F003FF10B104FA07F0F7 +:10DDE000064304FA07F08543002DEDD1C6F3C05772 +:10DDF00026F40005DFF834800AE000BF95FAA5F0AC +:10DE0000B0FA80F658F82600804704FA06F08543F9 +:10DE1000002DF3D10CF056F8002F03D0BDE8F041EF +:10DE200003F084BBBDE8F081007002405CA70F00E6 +:10DE3000064808B5002101600068009007F046FB25 +:10DE400007F01CF90028FBD108BD000000010140CB +:10DE500010B5124C02202061606111A0A06104F194 +:10DE60007800E0614FF4805020620020A062606280 +:10DE70000BA1A164E0620D49E1641021A065C4E931 +:10DE80001410E0650AA1E01DFEF715FB09A120466C +:10DE9000FEF711FB2020A07110BD00004869002092 +:10DEA0005465726D696E616C00000000C0790020DD +:10DEB0005254540053454747455200000269C16817 +:10DEC0008A4203D88068401A104400E0501A401E6D +:10DED00070470000C11700EBD161074B4A1153F89E +:10DEE000222021F01F01411A01208840024201D066 +:10DEF000012070470020704700E100E02DE9F04765 +:10DF0000C4681746894606464FF000083069A042AB +:10DF100001D9051B02E0B168201A0D1AB0686D1E08 +:10DF2000001BA84200D80546BD4200D33D4670689C +:10DF30002A4620444946FEF777FAB0687F1B2C44F6 +:10DF4000A844A944A04200D10024F460002FDDD1F0 +:10DF50004046BDE8F0872DE9F04104468846D4E903 +:10DF60000207C51BE168606816460844B54206D939 +:10DF70004146FEF759FAB819E060BDE8F0812A463B +:10DF80004146FEF751FA761B08EB05013246606800 +:10DF9000FEF74AFAE660F0E70FB41CB5024600202F +:10DFA00007AC00290BD0491ECDE90021054B6A467C +:10DFB0002146069800F018F8009A002111701CBC48 +:10DFC0005DF814FB4BE40E0002E008C8121F08C104 +:10DFD000002AFAD170477047002001E001C1121FEA +:10DFE000002AFBD1704700002DE9FF4F8DB00F468E +:10DFF0000546002606E025280BD0DDE90F129047E4 +:10E000006D1C761C28780028F5D111B03046BDE88B +:10E01000F08F0024A246A1460122EC4900E004430F +:10E0200015F8013F203B02FA03F00842F7D12878A7 +:10E030002A2810D06FF02F022878A0F1300109298A +:10E0400014D80AEB8A0102EB410144F0020400EB10 +:10E05000010A6D1CF0E701CF5FEA000A03D544F422 +:10E060000054CAF1000A44F002046D1C28782E28DE +:10E0700017D115F8010F44F004042A280ED06FF0D0 +:10E080002F022878A0F1300109290AD809EB89016B +:10E0900002EB410100EB01096D1CF2E757F8049B0C +:10E0A0006D1C28786C280FD006DC4C2817D0682807 +:10E0B0000DD06A2814D104E0742810D07A280FD12A +:10E0C0000DE044F400140AE044F4801401E044F448 +:10E0D00040146978814202D104F580146D1C6D1CD6 +:10E0E0002A786E2A1FD00CDC632A31D004DC002A87 +:10E0F0008BD0582A11D1A3E0642A68D0692A0CD1A8 +:10E1000065E0732A2ED004DC6F2A73D0702A04D104 +:10E110009BE0752A6FD0782A6ED01046DDE90F1289 +:10E120009047761C50E1C4F30250022806D0032821 +:10E1300009D0042801CF09D0066045E101CFF117CD +:10E14000C0E9006140E101CF06803DE106703BE19E +:10E1500017F8040B8DF8000000208DF80100EB4645 +:10E16000012003E057F804BB4FF0FF3061074FF088 +:10E17000000102D40DE008F10101884649450FDA9B +:10E180008045F8DB1BF808100029F4D108E008F1FD +:10E19000010188468142FADB1BF808100029F6D1FC +:10E1A000DDE90F23AAEB08008146214600F036F98D +:10E1B000304400EB080604E0DDE90F121BF8010B08 +:10E1C0009047B8F10108F7D221464846F7E00A2106 +:10E1D000C4F302534FF0000B0891022B04D001CF7F +:10E1E000C117032B09D00AE0FF1D27F00707F7E846 +:10E1F000020108E032E01FE020E000B2C117042B6A +:10E2000001D140B2C117031E71F1000307DA4FF0CC +:10E21000000CD0EB0C006CEB01012D2302E0230578 +:10E2200004D52B238DF82430012303E0E30701D02C +:10E230002023F7E7984658E00A2110E010210EE06D +:10E2400010204FF0000B08900CE010214FF0000B55 +:10E2500044F004044FF00809089103E008214FF04E +:10E26000000B0891C4F30253022B04D001CF00210C +:10E27000032B06D006E0FF1D27F00707F7E8020191 +:10E2800003E080B2042B00D1C0B24FF00008230796 +:10E290002BD5702A07D0DDF820C08CF0100C5CEA7A +:10E2A0000B0C05D00EE040238DF82430012308E04C +:10E2B00050EA010306D030238DF824308DF8252054 +:10E2C00002239846DDF820C08CF0080C5CEA0B0CA9 +:10E2D0000BD150EA010301D1630706D530238DF835 +:10E2E00024304FF00108A9F10109582A04D038A2BE +:10E2F0000B9208AA0A920BE03AA2F9E75B46089A49 +:10E30000FEF7E2F80B9B9B5C0A9A521E0A9213706E +:10E3100050EA0102F2D10A98ADEB000000F1200BA7 +:10E32000600702D524F4803401E04FF00109D9459B +:10E3300002DDA9EB0B0000E0002000EB0B014144E3 +:10E340000890AAEB010AE00306D4DDE90F23214679 +:10E35000504600F063F806444FF0000908E009A9B0 +:10E3600011F80900DDE90F12904709F10109761C47 +:10E37000C145F4DBE0030CD5DDE90F23214650460F +:10E3800000F04CF8064404E0DDE90F12302090471D +:10E39000761C0899481E08900029F5DC08E00A98C8 +:10E3A0000A990078491C0A91DDE90F129047761C02 +:10E3B000BBF10001ABF1010BF1DC21465046DDE978 +:10E3C0000F2300F019F806446D1C1BE60928010014 +:10E3D00030313233343536373839616263646566DB +:10E3E000000000003031323334353637383941429D +:10E3F00043444546000000002DE9F0410446002555 +:10E400001E461746880404D405E039462020B0474C +:10E410006D1C641EF9D52846BDE8F0812DE9F04158 +:10E42000044600251E469046C80301D5302700E06B +:10E430002027880404D505E041463846B0476D1CC6 +:10E44000641EF9D52846BDE8F0814A68002A06D046 +:10E450000A68531C0B6010704868401E4860704783 +:10E46000800701D000207047012070474068006895 +:10E47000401E084201D10120704700207047C36848 +:10E480008B4206D811440069491E814201D80120FF +:10E4900070470020704700002DE9F05FDFF89CB066 +:10E4A0005C46DBF84890DBF8246004F0CDFB216B80 +:10E4B0004718751A22482349401AC108042000EB66 +:10E4C0000140804620A106F049FF216B4944B94232 +:10E4D00000D1002508232A46384603F08FF90700AB +:10E4E000184817494FF0010AA1EB00004FEAD0018C +:10E4F0000AEB014404D020461AA106F02FFF19E0D0 +:10E5000004F0A2FB0022314602F0F6FBDBF82820E3 +:10E510000546D946AA4208D1404619A106F01EFF79 +:10E52000C9E9075AC9F8186004E020462B461A4981 +:10E5300006F01FFF3846BDE8F09F0000C01C002019 +:10E5400058BA0F00D8B90F00456E746572206E720C +:10E55000665F6466755F6170705F636F6E74696E2D +:10E56000756500004661696C656420746F20636F97 +:10E570007079206669726D776172652E0000000007 +:10E5800053657474696E67206170702061732076C2 +:10E59000616C696400000000A4AC0F0008B513466C +:10E5A000024600930648074BC01AC008012303EB3C +:10E5B00000400B4604A106F0E4FE09F0DDF800007F +:10E5C00058BA0F00D8B90F00526563656976656463 +:10E5D0002061206661756C74212069643A2030786E +:10E5E000253038782C2070633A2030782530387800 +:10E5F0002C20696E666F3A2030782530387800001C +:10E60000024606480649401AC008012101EB0040B5 +:10E6100004A106F0A7FE09F0AFF8000058BA0F00F9 +:10E62000D8B90F00526563656976656420616E2014 +:10E630006572726F723A2030782530387821000088 +:10E640002DE9F04107461E4E1E481F49326A401A06 +:10E65000C508012A04D0032000EB05401BA12BE0D4 +:10E660004FF44050184B174C4168E31A234A0220DC +:10E67000DB0800EB0344914206D1C1023B4620482F +:10E68000726B01F069FB90B104F0DEFA01461C48A0 +:10E690003B464130B26901F05FFB58B1042000EB0A +:10E6A000054018A106F05AFE0120BDE8F081204681 +:10E6B00018A101E0204626A106F050FE0020F4E754 +:10E6C000C01C002058BA0F00D8B90F00426F6F74F9 +:10E6D0002076616C69646174696F6E206661696C33 +:10E6E00065642E204E6F2076616C696420617070C5 +:10E6F00020746F20626F6F742E000000DBE5B15153 +:10E70000201F00204170702069732076616C69645D +:10E7100000000000426F6F742076616C6964617460 +:10E72000696F6E206661696C65642E20536F667434 +:10E730004465766963652069732070726573656EE0 +:10E74000742062757420696E76616C69642E0000B5 +:10E75000426F6F742076616C69646174696F6E20BA +:10E760006661696C65642E20417070206973206950 +:10E770006E76616C69642E002DE9F047244C814669 +:10E78000924660880E4681423FD84FF6FF770020C0 +:10E7900001F0B8F922786078A188884201DA401C3B +:10E7A00000E00020C0B2904203D1002001F0D8F96F +:10E7B00029E065784FF000086078884201DA401C53 +:10E7C00000E000206070002001F0CAF9BD421AD0BC +:10E7D000A068B9F1000F40F835A00DD066B161888E +:10E7E000E068324605FB01004946FDF71DFEA068C2 +:10E7F00000EBC500868003E000EBC500A0F80480B4 +:10E800000020BDE8F0870420FBE70920F9E70000BD +:10E81000B400002010B50E4C03E0401C00E00020C6 +:10E82000207020786178814210D022786188E06879 +:10E83000A36802FB010003EBC20153F83220898870 +:10E8400090472078A1888842E9DAE6E710BD000009 +:10E85000B400002030B5CB0008339DB293074FF0D1 +:10E86000000401D0072030BD044B9A602A44DA60CE +:10E870005C701C7058809980002030BDB40000206E +:10E8800070B505460648446807E02946204602F070 +:10E89000BFF9204600F0AEFA0446002CF5D170BD59 +:10E8A000C400002070B50A4845680EE02E7A0024A6 +:10E8B00005E02146284600F0C7FE641CE4B2B442DD +:10E8C000F7D3284600F096FA0546002DEED170BD2C +:10E8D000C40000202DE9F0410E4840F2447745681D +:10E8E00014E02E7A00240BE000222146284600F096 +:10E8F0000DFF18B108A1384601F072F9641CE4B2AA +:10E90000B442F1D3284600F075FA0546002DE8D14F +:10E91000BDE8F081C40000202E2E5C2E2E5C2E2E31 +:10E920005C2E2E5C2E2E5C636F6D706F6E656E7448 +:10E93000735C6C69627261726965735C7573626441 +:10E940005C6170705F757362642E630070B506461B +:10E950000948062544680AE03146204602F058F985 +:10E960000546062805D1204600F044FA0446002C4E +:10E97000F2D1284670BD0000C40000202DE9FC4102 +:10E9800015460E00074604D1294940F2B13001F086 +:10E9900027F9384601F092FC0446007DC0070DD0EF +:10E9A000002001F0AFF8A06950B1206AD8B311245B +:10E9B000002001F0D5F82046BDE8FC810820FBE7E7 +:10E9C000E06EA8420DD32A463046A16EFDF72CFD1D +:10E9D000E06E401BE066A06E65672844A0660024D8 +:10E9E000E6E7C4E90665384602F001FA0546114833 +:10E9F0000069CDE90004E26E6AB1A16EA069FDF77D +:10EA000013FDE169E06E091AE161A1690144A161A8 +:10EA100020670020E0666946284600F021FC0400DB +:10EA2000C6D19224C4E7FFE7C4E90865F9E700000E +:10EA300030B20F004CA80F00FEB515460E46044636 +:10EA400001F03CFC007D10F0010F0CD0204602F0DC +:10EA5000C5F9A90609D000210096CDE90151694602 +:10EA600000F048FCFEBD0820FEBD0149896AF3E7BD +:10EA70004CA80F00F8B5040004D138A140F244506E +:10EA800001F0AEF8606820B934A140F2455001F0C1 +:10EA9000A7F86068006820B930A140F2465001F044 +:10EAA0009FF82068006820B12CA140F2475001F087 +:10EAB00097F808F04FF810B908F056F820B927A1D8 +:10EAC00040F24B5001F08CF800250FE0002705E0E4 +:10EAD000007800F0D9FB08B11120F8BD3946781C48 +:10EAE000C7B2304600F0BEF80028F1D12946681CB4 +:10EAF000C5B2204600F01AF90600E7D100250DE066 +:10EB0000002703E00078214600F0C4FB3946781C5A +:10EB1000C7B2304600F0A6F80028F3D12946681C99 +:10EB2000C5B2204600F002F90600E9D1184D40F2C6 +:10EB3000715607E0A04203D108A1304601F050F819 +:10EB40002868056828680028F4D112482C606946B6 +:10EB500080690090204602F05BF8F8BD2E2E5C2EF6 +:10EB60002E5C2E2E5C2E2E5C2E2E5C636F6D706FD5 +:10EB70006E656E74735C6C69627261726965735CF8 +:10EB8000757362645C6170705F757362642E63009C +:10EB9000C8000020F8A70F002DE9F04F87B04FF014 +:10EBA00000081D46934689460446DDF840A04646C7 +:10EBB000CDF80C8000E0761C6068012300224768D5 +:10EBC000214603A8B8470028F5D140468DF80080BB +:10EBD0000027B84601903BE0606801236A46D0F800 +:10EBE00004C0214601A8E0476068012305AAD0F8C7 +:10EBF00004C0214601A8E0479DF8141049451AD1E8 +:10EC0000D84514D19DF80000CAF8000005F8010BA2 +:10EC10006A1C85F8009060689DF8003021464568C0 +:10EC200001A89B1EA847002007B0BDE8F08F08F19F +:10EC3000010000F0FF0860689DF800300022D0F865 +:10EC400004C0214601A89B1EE0479DF80000074430 +:10EC5000B742C1D30520E7E701484068704700008C +:10EC6000C400002070B50D46040004D106A140F296 +:10EC70001D1000F0B5FF6078A84201D8002070BDDB +:10EC8000A0782044284470BD2E2E5C2E2E5C2E2EA3 +:10EC90005C2E2E5C2E2E5C636F6D706F6E656E74D5 +:10ECA000735C6C69627261726965735C75736264CE +:10ECB0005C6170705F757362645F636C6173735FD6 +:10ECC000626173652E68000070B50D46040004D1C2 +:10ECD00006A140F21D1000F083FF6078A84201D821 +:10ECE000002070BDA0782044284470BD2E2E5C2EDC +:10ECF0002E5C2E2E5C2E2E5C2E2E5C636F6D706F44 +:10ED00006E656E74735C6C69627261726965735C66 +:10ED1000757362645C6170705F757362645F636C6D +:10ED20006173735F626173652E68000070B50D4694 +:10ED3000040003D106A1EA2000F052FF207AA84285 +:10ED400001D8002070BD05EB45000934204470BD9A +:10ED50002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C63B8 +:10ED60006F6D706F6E656E74735C6C6962726172E8 +:10ED70006965735C757362645C6170705F75736202 +:10ED8000645F636C6173735F626173652E6800001A +:10ED900070B50D46040003D106A1EA2000F020FF63 +:10EDA000207AA84201D8002070BD05EB4500093447 +:10EDB000204470BD2E2E5C2E2E5C2E2E5C2E2E5CE2 +:10EDC0002E2E5C636F6D706F6E656E74735C6C6914 +:10EDD000627261726965735C757362645C617070A4 +:10EDE0005F757362645F636C6173735F62617365A7 +:10EDF0002E68000010B5040004D1044940F21D2023 +:10EE000000F0EEFE2068006810BD0000B8F50E00AE +:10EE100010B5040004D104A140F21D2000F0E0FE72 +:10EE20002068006810BD00002E2E5C2E2E5C2E2E59 +:10EE30005C2E2E5C2E2E5C636F6D706F6E656E7433 +:10EE4000735C6C69627261726965735C757362642C +:10EE50005C6170705F757362642E68000248407870 +:10EE6000002800D001207047C400002010B5002009 +:10EE700000F0E2F9BDE81040802000F0DDB910B5E7 +:10EE8000002000F0DBF9BDE81040802000F0D6B98A +:10EE900070B5444E0D4602460978062430780B2999 +:10EEA00033D007DC07296ED2DFE801F06D0D0F11BA +:10EEB0006D2A52000C2930D00D2937D00E293ED0B2 +:10EEC000852960D116E0032017E000245BE0354877 +:10EED000001D02F0CEFF30B1334801210160BFF3C5 +:10EEE0006F8FBFF34F8F30780028EED12FA140F203 +:10EEF0001C400FE0032846D104200AF0C7FE42E080 +:10EF0000104600F08DF804463DE00028DDD027A132 +:10EF10004FF4866000F064FED7E7012804D023A1F7 +:10EF200040F2364000F05CFE002005E02E4800680C +:10EF300010F0010F0AD002200AF0A8FEC5E702284F +:10EF400004D21AA140F24A4000F04AFE0120F3E741 +:10EF5000E878032817D0A87830B1802804D013A10E +:10EF60004FF48B6000F03CFE0E49E87808310A68E7 +:10EF700032B100230B6049689047040005D000E0DF +:10EF80000E2407F039FE204670BD0AF0D5FD28B1E9 +:10EF9000A8780028F7D107F004FEF4E707F0FEFD9B +:10EFA000F1E70000E80000205C7002402E2E5C2E8D +:10EFB0002E5C2E2E5C2E2E5C2E2E5C636F6D706F81 +:10EFC0006E656E74735C6C69627261726965735CA4 +:10EFD000757362645C6170705F757362645F636FA8 +:10EFE00072652E630000000038040040024A0146AA +:10EFF000D2E9000210470000C826002070B50C4678 +:10F00000054607F0C5FDA84201D0102070BD034899 +:10F01000D4E90012C0E90212002070BDE80000200F +:10F020007FB5054605208DF8000006240DF101008E +:10F0300007F0BAFD0AF080FD2949002008609DF81C +:10F04000010010F01F0006D001280FD0022826D0A2 +:10F05000032833D106E06946284609F05DFF0446DF +:10F0600006282AD16846FFF771FC25E09DF80500C7 +:10F0700003A900F027FB050008D06A469DF80C1094 +:10F0800000F0DEFA0446062802D016E0102415E04F +:10F090006A469DF80C1028460AF090F80CE09DF89E +:10F0A0000500010705D0694600F07EF804460628F1 +:10F0B00003D1684609F0D2FF044624B107F09CFD55 +:10F0C00004B0204670BD0AF037FD30B107F060FD96 +:10F0D0000028F5D107F065FDF2E707F05FFDEFE7E7 +:10F0E000F0000020FEB5C08814460E46A04201D2B2 +:10F0F000054600E01546844207D2802007F0DCF97F +:10F10000B4FBF0F100FB114068B100200096CDE99E +:10F110000150002000F0F6FC6946802000F0EAF87B +:10F12000040002D006E00120F0E705498020FFF747 +:10F1300065FF0446002000F013FD2046FEBD0000E0 +:10F1400088A80F0008B14021016001487047000005 +:10F150001C27002010B507F00FFD20B104A140F2DC +:10F16000AB3000F03DFDBDE8104007F005B80000F1 +:10F170002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6394 +:10F180006F6D706F6E656E74735C6C6962726172C4 +:10F190006965735C757362645C6170705F757362DE +:10F1A000642E630007F024B810B50C46010600F089 +:10F1B0000F02092A08D200F009F8006820B12146A0 +:10F1C000BDE8104001F024BD102010BD10B50106AF +:10F1D00000F00F0408D5092C04D309A14FF4B9702D +:10F1E00000F0FEFC134808E0092C04D304A14FF4FE +:10F1F000BC7000F0F5FC0F48483000EBC40010BDB7 +:10F200002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6303 +:10F210006F6D706F6E656E74735C6C696272617233 +:10F220006965735C757362645C6170705F7573624D +:10F23000642E63008026002007F03CB810B5044619 +:10F2400000F00F00082805D2204607F063F820469A +:10F2500007F0B4F92046BDE8104007F07FB8000081 +:10F2600070B50C46054607F0C9F818B10548007896 +:10F27000022801D0082070BD21462846BDE8704014 +:10F2800007F0C4B8C400002010B5FFF79FFF006866 +:10F2900010BD000070B50D460646FFF797FF044607 +:10F2A000056015B16868006808E00EB1802E04D1D1 +:10F2B00003A14FF4CE7000F093FC0020606070BD9D +:10F2C0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6343 +:10F2D0006F6D706F6E656E74735C6C696272617273 +:10F2E0006965735C757362645C6170705F7573628D +:10F2F000642E630070B50C46054607F07FF818B120 +:10F3000005480078022801D0082070BD2146284613 +:10F31000BDE8704007F0E2B9C4000020017805297B +:10F320000BD107490968064AC9B2121F126812F0C8 +:10F33000FF0F02D1052900D1024803490968084797 +:10F340008474024016A80F001027002070B58A4C64 +:10F350000546606820B989A140F2FF3000F040FC0A +:10F3600001F024FD062804D284A140F2064000F0FA +:10F3700037FC2878092877D008DC092818D2DFE87C +:10F3800000F07493C29CAFCBD017F30082282DD02D +:10F3900008DC0A28EFD00F28EDD0802841D0812842 +:10F3A00006D10CE0832847D084284ED085287AD017 +:10F3B000BDE8704071A14FF4A06000F011BC7C4822 +:10F3C000FFF714FE7A48FFF75BFA0D200AF0F2FF10 +:10F3D000FFF768FAFFF74AFDA06810B97548007A90 +:10F3E00000B1012007F00CFC012088E0FFF75AFA79 +:10F3F00007F050FC00200AF07DF96D48401CFFF733 +:10F400003FFA6B48401CFFF7F1FD0E200AF0D2FFD7 +:10F41000207800F05DFB002844D0BDE8704005F086 +:10F4200013B92078052803D0062803D0072839D13E +:10F43000022064E0082062E02078032832D107F03F +:10F4400073FC00282ED0042059E02078032805D131 +:10F4500007F06AFC10B104200AF04CF907F020FD17 +:10F4600000281FD006204AE07FE02078032801D042 +:10F47000082803D14E48801CFFF768FF00200AF0DF +:10F4800099FFA46840F239260AE02946204601F097 +:10F49000BFFB1CB948A1304600F0A2FB20684468BD +:10F4A000002CF2D170BD37E0FFF7FCF9FFF7E7FC65 +:10F4B00002200AF01FF9012006E02078082809D070 +:10F4C00005200AF017F903200AF074FF2846FFF719 +:10F4D0008DFD4CE002200AF00DF907F0D5FAF2E7B5 +:10F4E00003200AF067FF3248C01CFFF77FFD304859 +:10F4F000C01CFFF7C5F92078062899D10720BDE880 +:10F5000070400AF0F7B803200AF0F4F802200AF07D +:10F5100051FF2846FFF7B4F92846BDE87040FFF7D1 +:10F5200065BDA878FFF752FE0446006820B913A114 +:10F5300040F2DC4000F054FB606820B90FA140F2BB +:10F54000DD4000F04DFBD4E9000229469047002839 +:10F55000A8D0A8780107A5D000F00F010829A1D2F2 +:10F56000BDE8704006F0F8BF08200AF023FF2846E7 +:10F57000BDE87040FFF784B9C40000202E2E5C2E39 +:10F580002E5C2E2E5C2E2E5C2E2E5C636F6D706FAB +:10F590006E656E74735C6C69627261726965735CCE +:10F5A000757362645C6170705F757362642E630072 +:10F5B00009A80F00102700202E2E5C2E2E5C2E2E68 +:10F5C0005C2E2E5C2E2E5C636F6D706F6E656E749C +:10F5D000735C6C69627261726965735C7573626495 +:10F5E0005C6170705F757362642E6800FFF796BE91 +:10F5F00010B520B104A140F2552000F0F1FABDE8A9 +:10F6000010400E48FFF78ABE2E2E5C2E2E5C2E2E4A +:10F610005C2E2E5C2E2E5C636F6D706F6E656E744B +:10F62000735C6C69627261726965735C7573626444 +:10F630005C6170705F757362642E6300F8A70F00E1 +:10F64000114601F0E5BA000070B5044640680D4669 +:10F65000C2680AB120469047207AA84204D20CA181 +:10F6600040F2F22000F0BCFA29462046FFF75EFB8C +:10F6700005464678002408E021462846FFF7F2FABE +:10F68000007806F017FE641CE4B2B442F4D370BDF7 +:10F690002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C636F +:10F6A0006F6D706F6E656E74735C6C69627261729F +:10F6B0006965735C757362645C6170705F757362B9 +:10F6C000642E63002DE9F04180460F480E464568E0 +:10F6D00016E02F7A00240DE021462846FFF726FB8E +:10F6E0000178414504D106B134702846BDE8F08167 +:10F6F000641CE4B2BC42EFD32846FFF77BFB05460F +:10F70000002DE6D10020F1E7C400002070B50446CA +:10F71000406815460E4683681BB120469847062868 +:10F7200009D1207AB04204D20E4940F2D32000F031 +:10F7300057FA0DB1072070BD31462046FFF7F6FAA3 +:10F7400005464678002408E021462846FFF78AFA55 +:10F750000078FFF773FD641CE4B2B442F4D30020D8 +:10F7600070BD000090F60E00034600205A68126932 +:10F77000002A01D018461047704700002DE9F843D1 +:10F78000044605F00FF820B92DA140F20B3000F02F +:10F7900027FA384807F07EF900284DD1364908701D +:10F7A0004860886048213548FCF766FE33484821A8 +:10F7B0004830FCF761FE3148314D80304CB194E85F +:10F7C0000E00103080E80E002C489030016821B106 +:10F7D00005E005F134010EC9F3E72A490160002074 +:10F7E00004F0E6FF18B1852801D0FEF709FF264E88 +:10F7F00000240DE0002703E000783146FFF74AFDC2 +:10F800003946781CC7B24046FFF72CFA0028F3D1DE +:10F810002146641CE4B23046FFF788FA5FEA00082C +:10F82000E8D1686800906946304601F0F1F90400BB +:10F8300004D007F00BFB2046BDE8F8830020FBE76F +:10F840002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C63BD +:10F850006F6D706F6E656E74735C6C6962726172ED +:10F860006965735C757362645C6170705F75736207 +:10F87000642E6300EDF50E00C400002080260020F9 +:10F88000F8A70F004DF30E00C8A80F0040B10128E3 +:10F8900008D0022809D007A14FF40F7000F0A0B9DA +:10F8A000114804E01048001D01E00F480830FFF740 +:10F8B00035BD00002E2E5C2E2E5C2E2E5C2E2E5C76 +:10F8C0002E2E5C636F6D706F6E656E74735C6C6909 +:10F8D000627261726965735C757362645C61707099 +:10F8E0005F757362642E63001AA80F0010B507F0ED +:10F8F0003BF910B107F02EF908B1082010BD0448FB +:10F9000004F06AFF08B1FEF77BFE002010BD000086 +:10F9100028A80F002DE9F0410D46164901EB80079C +:10F9200057F82500017849B10020FFF70BFC57F884 +:10F93000255006460024287848B911E0801CBDE80F +:10F94000F0811F2C03D30CA1D62000F049F9641CD0 +:10F95000E4B215F8010B26F8140028780028F0D13D +:10F96000022000EB4400C0B240F4407030803046CA +:10F97000E5E70000F80000202E2E5C2E2E5C2E2ED7 +:10F980005C2E2E5C2E2E5C636F6D706F6E656E74D8 +:10F99000735C6C69627261726965735C75736264D1 +:10F9A0005C6170705F757362645F737472696E67B7 +:10F9B0005F646573632E630070B54FF0805086B04E +:10F9C000D0F8A810D0F8A40089B241F440430090C8 +:10F9D00009A20D2101A8FEF7DFFA01AD0024094EAE +:10F9E00002E0285D3055641C2846FCF750FDA0421B +:10F9F000F7D806B070BD000025303458253038588F +:10FA0000000000008027002010B507F0A3F820B9FF +:10FA100009A140F2B23000F0E3F814480168C1F3E4 +:10FA2000400121B1BDE810401148FFF777BC0168E3 +:10FA300011F0010FF2D110BD2E2E5C2E2E5C2E2E59 +:10FA40005C2E2E5C2E2E5C636F6D706F6E656E7417 +:10FA5000735C6C69627261726965735C7573626410 +:10FA60005C6170705F757362642E630038040040DF +:10FA7000FDA70F00034808B5806800906846FFF7AF +:10FA80004DFC08BDF8A70F0030B44FF0000180B165 +:10FA90000D4B002213F8124084420ED103EB4200BA +:10FAA000407870B1094A02EB800252F8212042B13D +:10FAB00000E0002030BCFFF72DBF521CD2B2062A56 +:10FAC000E8D330BC0020704726A90F00F8000020C2 +:10FAD000092808D2DFE800F0070705070705050534 +:10FAE00005000120704700207047092808D2DFE890 +:10FAF00000F0070705070707070705000120704703 +:10FB00000020704710B508F025FD012803D004A19E +:10FB10001D2000F065F8BDE8104000F04FB800006F +:10FB20002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C63DA +:10FB30006F6D706F6E656E74735C6C69627261720A +:10FB40006965735C7574696C5C6170705F7574690C +:10FB50006C5F706C6174666F726D2E6300000000E4 +:10FB600010B508F0F7FC012803D004A12B2000F009 +:10FB700037F8BDE8104000F029B800002E2E5C2EAA +:10FB80002E5C2E2E5C2E2E5C2E2E5C636F6D706FA5 +:10FB90006E656E74735C6C69627261726965735CC8 +:10FBA0007574696C5C6170705F7574696C5F706CA2 +:10FBB0006174666F726D2E630000000072B60248B9 +:10FBC0000168491C01607047100100200349086862 +:10FBD000401E086000D162B670470000100100208E +:10FBE0001CB56A46CDE90001002144F20200FEF78F +:10FBF000D5FC1CBD102802D31038C0B2704740F0AD +:10FC000080007047F8B521480146456AC06A8C6C8F +:10FC1000AC2801D024B106E0486B04442D1A02E060 +:10FC200003F026F804461A481A492346401AC70822 +:10FC3000042000EB07400646174A18A1009505F07E +:10FC4000A0FB2A4621461448FCF728FCD0B13046D8 +:10FC50002B4622461FA105F08CFB00BF05F00EFAD3 +:10FC60000028FBD102F054FD2946204603F0E2FBB8 +:10FC7000040005D0012000EB074022A105F06EFB37 +:10FC80002046F8BD0024304625A1F7E7C01C00201F +:10FC900058BA0F00D8B90F0000C00E00566572693F +:10FCA0006679696E6720424C3A20416464723A205A +:10FCB0003078253038782C205372633A20307825FC +:10FCC0003038782C204C656E3A20307825303878E2 +:10FCD00000000000436F7079696E6720626F6F7477 +:10FCE0006C6F616465723A205372633A20307825F4 +:10FCF0003038782C204C656E3A20307825303878B2 +:10FD0000000000005265717565737420746F206384 +:10FD10006F707920424C206661696C656400000058 +:10FD20004E6F20626F6F746C6F6164657220636FD9 +:10FD30007079206E65656465642C20626F6F746CE9 +:10FD40006F616465722075706461746520636F6DA6 +:10FD5000706C6574652E000013B90378012B01D017 +:10FD600004F062B8012070470022C32100F518702A +:10FD700000F0C2BF2DE9F043A3B00446DDE92A96A6 +:10FD800020200F462190984615467C2102A8FCF7BA +:10FD900073FB41212046FCF76FFBB7F8940005EB9D +:10FDA000051107EB8101A84201D991F896602670F0 +:10FDB000320033D0012A0DD01B481C4D0123401BBB +:10FDC000C00803EB0045022A0CD0032A20D02846A5 +:10FDD00017A117E000224946404600F08DFFC4F805 +:10FDE00001001BE021A9601CCDE900014B46424601 +:10FDF000184902A802F0F8FD80B105F01FFD024687 +:10FE0000284615A105F0AEFA002023B0BDE8F08326 +:10FE1000B1F89820601C9A31FCF706FB4A4641462F +:10FE2000204604F001F8F0E7F8B90F00D8B90F0048 +:10FE3000496E76616C696420626F6F742076616CC4 +:10FE400069646174696F6E20747970653A20256405 +:10FE50000000000004A50F006E72665F6372797087 +:10FE6000746F5F686173685F63616C63756C617404 +:10FE7000652829206661696C65642077697468204B +:10FE80006572726F722025730000000010B5044681 +:10FE90000A480B49401AC008042101EB004009A19F +:10FEA00005F05CFA4FF0000034B10C490870BDE871 +:10FEB00010400B4803F02EBD01F0E2F958BA0F00D4 +:10FEC000D8B90F00526573657474696E6720626FEC +:10FED0006F746C6F616465722E0000000800002072 +:10FEE00081120F002DE9FC410646C0074FF00005C6 +:10FEF0000ED0104F00240122385D009500231146DA +:10FF0000019504F045FF641C042CF4D300F064F860 +:10FF1000B0070DD5074E0024361D0022305D0323A7 +:10FF200000951146019504F033FF641C042CF4D3B2 +:10FF3000BDE8FC81E6A40F0010B50446042803D3F5 +:10FF400005A12120FFF74CFE0E480121005DBDE810 +:10FF5000104004F0B3BF00002E2E5C2E2E5C2E2E1F +:10FF60005C2E2E5C2E2E5C636F6D706F6E656E74F2 +:10FF7000735C626F617264735C626F617264732E32 +:10FF800063000000E6A40F0010B50446042803D364 +:10FF900005A11B20FFF724FE0E480021005DBDE8EF +:10FFA000104004F08BBF00002E2E5C2E2E5C2E2EF7 +:10FFB0005C2E2E5C2E2E5C636F6D706F6E656E74A2 +:10FFC000735C626F617264735C626F617264732EE2 +:10FFD00063000000E6A40F0010B500242046FFF7E0 +:10FFE000ABFF641C042CF9D310BD00002DE9F047D1 +:10FFF0000546861C91460F464FF0010A0020FFF788 +:02000004000FEB +:1000000081FD1C4C60683860D4E901011A4F401A28 +:100010003968081A44F21C0104EB01080EE00121C2 +:10002000404601F02FFF01F0CBFD0146404601F0B4 +:1000300029FFD4E90101401A3968081A401C864298 +:10004000EDD8B9F1000F03D0052065F3891002E067 +:10005000062065F39F5061683A68114004EB810106 +:10006000C8606068304460600020FFF779FD50464A +:10007000BDE8F087282900202401002010B543683E +:100080009C18446021B905E013F8010B01F8010B3D +:10009000521EF9D2012010BD70B50D4604460A2942 +:1000A00002D10D21FFF7F8FFA0682268411CA16072 +:1000B0001554D4E90101814204D32046BDE87040C3 +:1000C00004F0DABB70BD00000448816840688142DA +:1000D00001D101207047002070470000282900202E +:1000E00010B50548012101F0E3FEBFF35F8F08B1B1 +:1000F000002010BD012010BD4800002010B5064CA6 +:100100002068012803D005A16D20FFF769FDBFF32A +:100110005F8F0020206010BD480000202E2E5C2E36 +:100120002E5C2E2E5C2E2E5C2E2E5C636F6D706FFF +:100130006E656E74735C6C69627261726965735C22 +:100140006D757465785C6E72665F6D74782E68008C +:1001500006490020086006494FF48060C1F880011C +:10016000BFF34F8FBFF36F8F7047000000A50250A1 +:1001700004E000E003490120086003498002C1F85F +:100180000001704700A5025004E000E070B500F1E6 +:100190000805106814460E46202802D248F2145072 +:1001A00070BDFFF79DFF90B1FFF7E4FF3146284691 +:1001B000FDF7CCFA0546FFF7CBFFFFF79FFF284678 +:1001C00001F0F8FA0028EBD12021216070BD48F23F +:1001D000045070BD10B50830FDF7E8FABDE81040D6 +:1001E00001F0E8BA2DE9F04700F108090E4614467F +:1001F000FFF776FFB8B1FFF7BDFF4FF480584546D3 +:10020000AC4200D825462A4631460E48FCF70CF988 +:100210002A460C494846FDF7E3FA0700A4EB05041B +:100220002E4404D005E048F20450BDE8F087002CCD +:10023000E5D1FFF78DFFFFF761FF3846BDE8F047D6 +:1002400001F0B8BAC005002070B50B480024046066 +:10025000BFF35F8F094D01202860FDF78BFB010084 +:100260002C604FF0030004D0052901D148F203505F +:1002700070BD002070BD00004800002000A50250A5 +:10028000014900200860704700A502504360CA6918 +:100290009A420DD38A690260886918448861086FA0 +:1002A00018440867C869C01AC86100D001207047A7 +:1002B00001F12802026000208B67704710B504002E +:1002C00003D106493920FFF78BFC206818B9034990 +:1002D0003A20FFF785FC20680C3010BD30B20F00CB +:1002E00070B50C46060004D1254940F2B720FFF74F +:1002F00077FC24B922494FF42E70FFF771FC207867 +:1003000000250F2838D2DFE800F038083838370CDD +:1003100011373732373838383800304600F0A9FB0B +:100320002BE02146304608F0E3FE0FE0304600F0B7 +:10033000D9FC0146A078002581421ED00106E17853 +:100340004FF0030004D531B901210CE0054614E05B +:1003500021B1012911D00329F8D10EE0304600F077 +:1003600099FB0546002130460AF016F805E0032106 +:1003700030460AF011F8D0E70625284670BD000087 +:1003800030B20F002DE9FF5F05460198DFF8FC93BE +:100390001F46017A89F800101646019800F048FBC4 +:1003A000804625B9FA4940F2EA20FFF719FC28688F +:1003B0004FF0000A54464FF0020BB0F5487F72D060 +:1003C0004ADC40F20232A0F2023190426CD027DCCB +:1003D00040F2F221A0F2F22288426ED013DC40F209 +:1003E000EF22A0F2EF23904268D007DCF0B3A0F533 +:1003F0000070ED3876D0012863D182E0012B6ED0F9 +:10040000022B5ED1A1E0092A6AD004DC012A68D05F +:10041000022A56D1C0E00A2A70D00F2A51D1E6E054 +:100420000E296CD00EDC072969D006DC012967D0C3 +:10043000052971D0062944D120E10C296DD00D2960 +:100440003FD142E1153909293BD2DFE801F0FC3AFE +:100450003A3A3AFBFAF9F80040F23331A0F233327B +:10046000884271D00FDCA0F2233000E02FE010288A +:1004700027D2DFE800F0F4F3F2F1F02626EFEEEDFC +:10048000EC2626EBEAE9242A0CD00EDC162A73D0DF +:1004900004DC012A71D0152A13D12DE21A2A6DD05D +:1004A0001F2A0ED158E265E1ACE0312A67D006DCA4 +:1004B0002B2A70D02C2A04D175E251E02EE0362A86 +:1004C000F4D00020C5F800A004B0BDE8F09F0820DB +:1004D0002871002F06D840F2ED200DE002E028E060 +:1004E00068E04DE00EB1287930700B2001242871AE +:1004F000012F06D840F2EE2028602FE065E0C9E029 +:100500008DE00EB12879305598F81400641C2871DC +:10051000BC4203D32A6021E0A5E0CBE00EB12879EC +:100520003055641C85F804B0BC4202D34FF43C70D3 +:10053000E2E70EB128793055641C85F804B0BC425E +:1005400003D340F2F120D7E7ABE10EB12879305563 +:10055000641C85F804B0BC4202D329600120B3E7D3 +:100560000EB12879305598F81900641C2871BC42E6 +:1005700006D340F2F320BFE7C9E19EE1DAE126E2CB +:100580000EB128793055641C85F804A0BC4203D311 +:100590004FF43D70B0E7FBE10EB12879305589F892 +:1005A00001A0641C37E209202871BC4202D340F24A +:1005B000FB20A1E70EB1287930550420641C287176 +:1005C000BC4202D34FF43F7096E70EB12879305504 +:1005D00099F80110641C0198FEF7DAFBC9F80400D1 +:1005E00000782871BC4202D340F2013084E70EB19A +:1005F00028793055641C85F804A0BC4202D340F22F +:10060000023079E70EB128793055D9F80400641C1E +:10061000BC424078287102D340F203306CE70EB13F +:1006200028793055D9F8040098F81410641C007823 +:10063000814234D185F804B0BC4214D310E08EE07E +:1006400082E076E06AE057E01FE113E107E1FBE0BA +:10065000EFE0E3E0D7E0CBE0BDE0B1E0A5E099E07A +:1006600040F2073048E70EB128793055641C85F810 +:1006700004B0BC4202D34FF442703DE70EB128797A +:10068000305598F81900641C2871BC4202D340F21E +:10069000093031E70EB128793055641C25E098F80F +:1006A000161081421CD10A202871BC4202D340F2AC +:1006B0000E3021E70EB128793055641C85F804A06E +:1006C000BC4202D340F20F3016E70EB12879305504 +:1006D000641C85F804A0BC42DCD34FF444700BE7E3 +:1006E0002B494FF44570FFF77BFA85F804A0BC4214 +:1006F00002D340F21730FFE60EB128793055D9F811 +:10070000040098F81410641C007881426FD1052011 +:100710002871BC4202D34FF44770EDE60EB1287940 +:1007200030552420641C2871BC4202D340F21D3095 +:10073000E2E60EB128793055641C85F804A0BC426D +:1007400002D340F21E30D7E60EB128793055102082 +:10075000641C2871BC4202D340F21F30CCE60EB1BB +:10076000287930550120641C2871BC4202D34FF413 +:100770004870C1E60EB1287930550520641C2871F7 +:10078000BC4207D340F22330B6E60000DC00002074 +:1007900030B20F000EB1287930552420641C287126 +:1007A000BC4202D34FF44970A6E60EB12879305509 +:1007B0000120641C2871BC4202D340F225309BE624 +:1007C0000EB1287930550320641C2871BC4202D335 +:1007D00040F2263090E60EB12879305598F8160090 +:1007E000641C2871BC4203D340F2273084E669E0E0 +:1007F0000EB1287930550420641C2871BC4202D304 +:1008000040F22A3078E60EB1287930552420641C55 +:100810002871BC4202D340F22B306DE60EB128792C +:100820003055641C85F804B0BC4202D34FF44B70C1 +:1008300062E60EB128793055641C85F804B0BC42DC +:1008400002D340F22D3057E60EB1287930550520FD +:10085000641C2871BC4202D34FF44C704CE60EB1BC +:10086000287930552420641C2871BC4202D340F200 +:10087000313041E60EB1287930550620641C2871CC +:10088000BC4202D340F2323036E60EB12879305500 +:1008900098F81400641C2871BC4202D340F2333033 +:1008A0002AE60EB12879305598F81600641C287194 +:1008B000BC4202D34FF44D701EE60EB1287930557C +:1008C000641C08E098F81610814204D0574940F2A1 +:1008D0003D30FFF785F9D9F804104846497889F882 +:1008E0000210514689F803A08CE007202871BC4211 +:1008F00002D34FF45270FFE50EB128793055052030 +:10090000641C2871BC4202D340F24930F4E50EB1B8 +:100910002879305599F80310641CD9F80400FEF7C3 +:10092000D3F9C9F8080000782871BC4202D340F21C +:100930004D30E1E50EB128793055D9F8040098F82A +:100940001410641C007881420BD103202871BC4232 +:1009500002D340F25230CFE50EB128793055641CF5 +:100960000FE098F81610814206D185F804B0BC4219 +:10097000F2D340F25730BFE52C4940F25B30FFF72D +:100980002FF940202871BC4202D340F25E30B3E51B +:100990000EB128793055641C85F804A0BC4202D3FE +:1009A00040F25F30A8E50EB128793055D9F804003F +:1009B00098F81410641C007881420DD1D8F82000FA +:1009C000BC420078287102D34FF4597094E50EB1FF +:1009D00028793055641C0FE098F81610814206D132 +:1009E00085F804A0BC42F2D340F2693084E50F4997 +:1009F00040F26D30FFF7F4F899F803104846491CAF +:100A000089F803108278C9B29142FFF46EAF417841 +:100A1000491C89F8011099F8011099F800008142E9 +:100A2000FFF4C1AD4FF45D7066E5000030B20F0019 +:100A300010B5040003D103492C20FFF7D1F820465C +:100A400010BD000030B20F0010B508B1032010BD7A +:100A50000846FFF733FC0178202901D0062010BD9D +:100A6000D0F80210C160C1880182017A817400202F +:100A700010BD10B5FFF7DCFFFFF720FC00218182DD +:100A800081610162C16601674167816700F12801E8 +:100A9000816610BD2DE9FC478146FFF7C9FFFFF7CE +:100AA0000DFC0446484600F0A2F907462F480026F0 +:100AB0008068CDE90004E069B0B1D4F8788045469B +:100AC000404500D205462A4604F12801A069FBF7FB +:100AD000ABFC206F2844C4E91C60A8EB0500E0666D +:100AE00060192830A06627E0206F60672667E666F9 +:100AF000216A304621B1626AA161C4E907202CE075 +:100B0000A06130E004F11802616A82E84300E26EFD +:100B10001AB38A4215D3A36E0A461946FBF784FC22 +:100B2000E16EE069091AE166A16E0144A1666067A1 +:100B30000021484609F030FC206A0028E2D1A66175 +:100B400011E0A16EFBF770FCE06E2067E169091A05 +:100B5000E161A1690818A06105D069463846FEF731 +:100B60007FFBBDE8FC870020FBE700004CA80F00DE +:100B70004360CA699A4204D38A6902600B67CB61F9 +:100B800003E001F1280202608B670020704700003B +:100B900010B599B102291ED101220F490F48FDF766 +:100BA000EDFE02460E480F49BDE81040401AC0084D +:100BB000022101EB00400CA104F0D4BB0649012244 +:100BC000A1F1590006F096FE012203490348FDF702 +:100BD000D5FE0028F2D010BDBD920020DCAA0F0087 +:100BE00068BA0F00D8B90F00436F756C64206E6F40 +:100BF0007420726561642066726F6D204344432ED9 +:100C0000204572726F723A20307825782E000000ED +:100C100070B50D46040003D10BA1E920FEF7E0FFFB +:100C2000606818B908A1EA20FEF7DAFF606800687A +:100C300018B905A1EB20FEF7D3FF606829460268CA +:100C40002046BDE8704010472E2E5C2E2E5C2E2EC6 +:100C50005C2E2E5C2E2E5C636F6D706F6E656E74F5 +:100C6000735C6C69627261726965735C75736264EE +:100C70005C6170705F757362642E630070B5084CC0 +:100C8000050009D010342168002907D008682060C9 +:100C9000496828468847F6E70834F4E770BD000045 +:100CA00034240020054A012120B1012805D191708A +:100CB000FFF7E4BF51700020FAE7704734240020AA +:100CC00010B5040003D10549CA20FEF789FF044886 +:100CD000C16B6160006CA06010BD000000AE0F0031 +:100CE000C01C002010B50021FEF752F80021FDF7CE +:100CF000EBFF007810BD0000F0B54FF0FF3622B1D9 +:100D00001268D24300230A4D0DE03246FAE7C45C74 +:100D100062400824D70700D037462F4087EA5202A6 +:100D2000641EF7D15B1C8B42F1D3D043F0BD0000B1 +:100D30002083B8ED10B504460068401C07D020465B +:100D400007F04EFF2168814201D1012010BD002033 +:100D500010BD000010B5104C90B06078002818D17C +:100D600001F0A6FE18B10D49B520FEF739FF20228B +:100D70000B49684601F0BCFE40236A4609490A480F +:100D800001F0C8FD18B10549BF20FEF729FF012079 +:100D9000607010B010BD00006C0000209CB10F000E +:100DA000A0A40F006C230020F8A40F00EFF305802F +:100DB000C005C00D10D0103840B2002804DB00F18F +:100DC000E02090F8000405E000F00F0000F1E020C2 +:100DD00090F8140D400970470F20704710B501219D +:100DE000FDF7D6FF0021FDF76FFF007810BD10B5AD +:100DF0000121FDF7CDFF0121FDF766FF007810BD51 +:100E0000F0B5146906468DB020681546271DE0B17F +:100E1000022920D00A2000906B4609AA304607F02C +:100E2000ADFB00280FD009A901A8009A07F03CF9F2 +:100E300001AE96E80F0005AE86E80F0023686968EA +:100E40003A4605A898470DB0F0BD0DB03046BDE854 +:100E5000F04007F09DB96946304607F02FF90028A9 +:100E6000F1D0236869683A46684698470028EAD076 +:100E700002980028F5D1019870600120E3E75368DB +:100E80009B7813F0C00303D0402B03D000207047A1 +:100E900000F002B8FFF7B4BF2DE9FF410B465168DF +:100EA000064614468878334D00F00F0210F03000EB +:100EB00055F8225006D0102806D0202808D0302817 +:100EC00056D13EE022694DE061690120087047E09B +:100ED000022B28D1042A26D84FF001086946304653 +:100EE000676907F0EBF800281AD009E00B8922693E +:100EF00003FB00226846A84770B13888401C388040 +:100F0000029820B1616838884A899042EED30198EE +:100F10007060029860BB02E04FF00008F7E74046BF +:100F200004B0BDE8F081D4E904300F890288498912 +:100F300007FB02338A421BD2521C02801A466168A8 +:100F400010E008886169072A088009D16068018972 +:100F50002069FBF791FA60682169C06807F0C9F859 +:100F60002269616804B03046AC46BDE8F041604794 +:100F70000020D5E70CAB0F0038B51E4901200A68E8 +:100F8000D20301D5000408E01B490A6802F0F90207 +:100F9000A92A04D1086800F0560008600020FDF777 +:100FA0004FFB1649164A891AC908042202EB01446C +:100FB000A0B119200090684603F042FFD0F8100558 +:100FC0000099C84010F0010F0BD00B48001F0068BB +:100FD00000F0F900B12807D0002038BD204609A153 +:100FE00004E0204610A101E0204617A104F0B6F964 +:100FF000012038BD000400402005004058BA0F0011 +:10100000D8B90F00444655206D6F64652062656352 +:101010006175736520617070206973206E6F742034 +:1010200076616C69642E0000444655206D6F6465DE +:1010300020726571756573746564207669612062DC +:101040007574746F6E2E0000444655206D6F646594 +:1010500020726571756573746564207669612047D7 +:10106000505245475245542E00000000FEB5194924 +:101070000446086808B1401E08601748174AD4E9BA +:101080000153801AC008042202EB004022789DB16F +:101090000E6821690296CDE900312B46012A16D04F +:1010A0000FA211A104F080F96169002911D0E06854 +:1010B00003B0BDE8F040084709680091012A04D058 +:1010C00007A218A104F05DF9EEE720A2F9E71FA23C +:1010D000E7E7FEBD50000020E0B90F00D8B90F00CF +:1010E0006572617365000000466C6173682025734A +:1010F000206661696C6564202830782578293A205B +:10110000616464723D25702C206C656E3D307825DD +:10111000782062797465732C2070656E64696E67DF +:1011200020256400466C6173682025732073756305 +:10113000636573733A20616464723D25702C20707E +:10114000656E64696E6720256400000077726974BB +:101150006500000010B508281BD2DFE800F004127B +:101160001A1A1A041A040120FEF7BCFE0020FEF72A +:101170000BFF0120FEF708FFBDE810400220FEF73C +:10118000DBBE0120FEF7D8FEBDE810400220FEF7CE +:10119000FBBE10BD10B50446801E062810D2DFE845 +:1011A00000F00D03030F09090A494FF4701001F014 +:1011B0009DF805E00120FEF769FE01E002F036FC33 +:1011C00005484168002903D02046BDE81040084783 +:1011D00010BD000071190F000800002010B5044672 +:1011E000062801D0072C02D1002002F05FFD044840 +:1011F0000168002903D02046BDE81040084710BD13 +:101200004C00002070B5427805460C46012A09D0F2 +:101210000F481049401AC008022101EB00400EA1FE +:1012200004F0A0F8287808280BD16088401E81B20D +:101230006180208800280AD0002908D1608003201E +:10124000287029462046BDE8704007F0C9B970BD36 +:1012500060BA0F00D8B90F00444655207265717509 +:1012600065737420636F6D706C6574656420776955 +:10127000746820726573756C743A20307825780034 +:1012800004F024F903F0FAFE0028FBD1BFF34F8FDE +:1012900005480168054A01F4E06111430160BFF3AC +:1012A0004F8F00BFFDE700000CED00E00400FA05E1 +:1012B00010B50021024800F0FBFD80F3100010BDC6 +:1012C0004469002010B50446010600F00F0009280B +:1012D00004D3064940F28F20FEF782FC6FEA0460D7 +:1012E000C10F204661F31F1010BD00004CA00F007D +:1012F00070B50546000605F00F0402D5092C09D388 +:1013000001E0092C08D307A14FF41F70FEF768FC19 +:10131000280601D5104801E00F48903800EB041072 +:1013200070BD00002E2E5C2E2E5C2E2E5C2E2E5CB0 +:101330002E2E5C6D6F64756C65735C6E7266785C86 +:10134000647269766572735C7372635C6E726678E0 +:101350005F757362642E6300D824002010B50446C4 +:10136000010600F00F00092804D3034940F25F2072 +:10137000FEF736FC204610BD4CA00F002DE9FC41C5 +:1013800080461F4615460E4600240D4800F077FDA6 +:1013900038B11120BDE8FC8106EB043004F0BEF941 +:1013A000641CAC42F8D1064800F060FDCDE900575E +:1013B000334600220221404600F086F90020E9E78A +:1013C0001401002004F044BA812004F0B9BA82204C +:1013D00004F0B6BA832004F0B3BA842004F0B0BAA3 +:1013E000852004F0ADBA862004F0AABA872004F064 +:1013F000A7BA882004F0F0BA38B508F055FD0020EF +:10140000FFF776FF817B0124032906D0006870B1C5 +:10141000BDE838404C2004F005BC0020FFF752FF27 +:101420008440E143BDE83840094804F017BC00207F +:10143000FFF748FF8440E143054804F00FFC0548EE +:101440000349C0680C39009049686846884738BD30 +:10145000B000002028A70F00012004F02BBB0220C1 +:1014600004F028BB032004F025BB042004F022BBB9 +:10147000052004F01FBB062004F01CBB072004F06D +:1014800019BB000038B5082408F00EFD2046FFF710 +:101490002FFF817B032915D00068002812D1204638 +:1014A000FFF710FF01218140C943074804F0D6FB34 +:1014B00006480549406900900C398DF8024049689A +:1014C0006846884738BD0000B000002028A70F00FC +:1014D00070B50E4804680460BFF36F8FBFF34F8F81 +:1014E00001260CE094FAA4F0B0FA80F52846FEF745 +:1014F00081FB06FA05F18C43294608F0B1FE002C69 +:10150000F0D1BDE8704008F0DDBC00006C74024012 +:1015100010B5054CA078FFF7D5FE0146A078BDE8D0 +:10152000104008F09DBE0000A4000020F8B51A4845 +:1015300000681A4DC6B2A878FFF7C4FE012404FA69 +:1015400000F12889EA68C04380B21043014202D00A +:10155000A87808F0DFFD06F08000A8700020FFF7F3 +:10156000B1FE04FA00F68020FFF7ACFE04FA00F0AA +:1015700006430A48F1430C3004F070FB8020FFF76B +:10158000A1FE8440A86804430548AC60006A00904E +:10159000696868468847F8BD80740240A40000204E +:1015A00028A70F0038B5002000900E480068ADF85D +:1015B00002008820FFF786FE012505FA00F40820C6 +:1015C00004F04CFA401C04D00820FFF77BFE854055 +:1015D0002C430549886820438860496868468847E5 +:1015E00038BD000020750240A400002070470000B4 +:1015F000F8B51C480568284604F002FBBFF36F8F5E +:10160000BFF34F8F184E194CE80506D501206070C6 +:10161000706A0090616868468847A8054FF0000727 +:1016200005D56770B06A00906168684688476805AC +:1016300016D56078002813D004F0ECFA20B10CA184 +:1016400040F2CF40FEF7CCFA6770164901200860DF +:10165000582004F0E7FAF06A00906168684688470D +:10166000F8BD00000074024028A70F00A40000206D +:101670002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6D65 +:101680006F64756C65735C6E7266785C64726976A3 +:101690006572735C7372635C6E7266785F75736299 +:1016A000642E630008750240054908B500204870A3 +:1016B000887004484068009049686846884708BDBB +:1016C000A400002028A70F002DE9F04387B00446AE +:1016D000DDE90E8980681D4616460F4600280BD0AE +:1016E00018216846FAF7C8FE02A88DF8007080E855 +:1016F0006003A1686846884707B0BDE8F0830B28FF +:1017000003D30B38C0B200F009B870470249002279 +:1017100008780A70704700005400002001490870E2 +:101720000B207047540000200149012008707047C9 +:101730000800002001490120087070474400002083 +:1017400070B515460E46040004D1074940F28A20C0 +:10175000FEF746FA2A46314604F17200BDE87040B1 +:10176000012302F0B3BB00009CB10F0010B50400D0 +:1017700003D10E49B520FEF733FA207818B90B498A +:10178000B620FEF72DFA94F85500094938B1012822 +:1017900005D06068C968884205D9012010BD60681D +:1017A00089688842F9D24FF0000010BDE4B10F0003 +:1017B000C01C002010B50F4C48F20351031B48F227 +:1017C0001652A04211D007DC00280AD00A4BC018DC +:1017D00008D0012804D10BE00A2B01D00D2B07D033 +:1017E000104610BD48F2015010BD48F2025010BD25 +:1017F000084610BD0202F00000FE0FFF2DE9FC5F5D +:10180000164607463A4A3B481D46101A04224FEA3C +:10181000D00902EB09408B468246B94205D136A178 +:1018200003F09CFD0020BDE8FC9F04D236494FF038 +:101830002900FEF7D5F91DB933492A20FEF7D0F962 +:101840002EB1380503D030492D20FEF7C9F9ABEB96 +:101850000700040B03D12C493120FEF7C1F9002009 +:10186000009006F6FF704FEA103800F065FFA542C1 +:1018700039D22C4637E0A04503D83546CDF8048050 +:1018800001E02503019400223846019901F07EFC15 +:101890000028C8D150463B465A461CA1009503F08B +:1018A00070FD681E00F003002A1A002359463846CE +:1018B000D21C01F003FD0028B5D101991C48A8EB0A +:1018C0000108761B016B2F4429440163AB440020BF +:1018D00002F094F9009030B1012101EB094015A10B +:1018E00003F03CFD01E0002EC5D100989BE700000D +:1018F00058BA0F00D8B90F004E6F20636F7079206F +:101900006E6565646564000054AC0F00436F7079C8 +:10191000696E67203078257820746F2030782578BC +:101920002C2073697A653A20307825780000000011 +:10193000C01C00204661696C656420746F2077725A +:1019400069746520696D61676520636F7079696E80 +:10195000672070726F677265737320746F20736590 +:101960007474696E677320706167652E00000000F3 +:101970000748084910B5401AC008032101EB004090 +:1019800005A103F0EBFCBDE810400120FEF77EBA94 +:1019900058BA0F00D8B90F00496E6163746976694F +:1019A00074792074696D656F75742E00014941600A +:1019B0000020704744A90F002DE9FC5F0E0083460C +:1019C000DDE90C47C6F1000098469246814600D4F6 +:1019D0000846012503E000BF90FBFAF06D1C50455E +:1019E000FADAA84500D9454624B1002E01DB780774 +:1019F00000D5641EB80702D5B8F1000F0AD0F80769 +:101A000008D13CB1A54205D220215846641EFEF7FC +:101A100043FBF6E7002E02DA4E462D2102E078075E +:101A200003D52B215846FEF737FB07F003000228A9 +:101A30000BD1B8F1000F08D13CB1A54205D230213D +:101A40005846641EFEF728FBF6E7CDE900474346FB +:101A500052463146584607F05BFFBDE8FC9F024600 +:101A600000201268530713D502F00300012802D0AA +:101A700002280CD105E0C2F383100B68801C1844C7 +:101A800004E00223086803EB92521044086001202E +:101A90007047000002480068002800D0012070470D +:101AA0001401002038B54FF440521B49536800F52B +:101AB00000508B4204D044688C4201D1012400E0E4 +:101AC00000248B4226D143688B4223D111781429FC +:101AD00001D9526900E000221049B2FBF1F302780B +:101AE000142A01D9406900E00020B0FBF1F08342E4 +:101AF00003D001240AA2009002E000240AA2009070 +:101B00000B480C49401AC008032101EB00400AA110 +:101B100003F037FC204638BDDBE5B15140420F00F1 +:101B20006D616A6F720000006D696E6F7200000077 +:101B3000F8B90F00D8B90F00536F66744465766921 +:101B40006365207570646174652069732061202568 +:101B5000732076657273696F6E2075706461746549 +:101B60002E2043757272656E743A2025642E204EC5 +:101B700065773A2025642E000268134602E08A4207 +:101B800004D01268002AFAD10B600160704770B56A +:101B9000054608680C464A6886682846314606F0BD +:101BA000C9F96068286104F10C006861B07802210D +:101BB000B1EB901F01D1241D2C6170BD7047000056 +:101BC0002DE9FF410026274800F056F92548001F5F +:101BD000074600F051F9244C2449A06800900D6894 +:101BE00000E000986946284004EB80000C30FFF7C5 +:101BF00036FF0028F5D101AA009901EA050304EB9C +:101C00008303491CDB6842F82030401C0091022805 +:101C1000F2D3019800F0030001281AD002280ED058 +:101C200013A14FF4AF70FDF7DBFF384600F021F948 +:101C300008B10098A06004B03046BDE8F08101987A +:101C4000032101EB90500099BDF80A6001EB900070 +:101C500005E00198BDF80A60C0F3831008440090C5 +:101C6000E3E700004069002028290020240100202B +:101C70002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6369 +:101C80006F6D706F6E656E74735C6C696272617299 +:101C90006965735C6C6F675C7372635C6E72665FC0 +:101CA0006C6F675F66726F6E74656E642E630000A2 +:101CB00000F016FD4FF48051002000F037FBC8B94A +:101CC0001548C0F57E2100F031FB98B9002113487A +:101CD00003F0D0FB03F0BCF911481249401AC408C4 +:101CE000032000EB044010A103F038FB114800F082 +:101CF00023FC08B1FCF784FC03F0C0F90028FBD1F9 +:101D0000012000EB04400CA103F028FB03F0B6F91E +:101D10000028FBD1EEE7000000C00E0015230F00E5 +:101D200058BA0F00D8B90F00496E73696465206D09 +:101D300061696E0055110F004166746572206D6116 +:101D4000696E2C2073686F756C64206E65766572A1 +:101D500020626520726561636865642E0000000082 +:101D60002DE9F05F1E46DDF828B091468A46040052 +:101D700003D124A19020FDF733FFB4F806806079E9 +:101D800008FB00F8A8F10408464503D31DA19E20D6 +:101D9000FDF726FFE788301DB0FBF7F1B0FBF7F247 +:101DA00007FB1200D9F80050AA19424501D9A8EB47 +:101DB0000605C9F8005001E02468491E0029FBD13E +:101DC0003E1A8846AE4215D817E000BF2044001DD9 +:101DD0000AEB0803BBF1000F324602D00146184659 +:101DE00000E01946FAF720FB00202468AD1BB04440 +:101DF000AF4201D92E4600E03E46002DE6D1BDE8B7 +:101E0000F09F00002E2E5C2E2E5C2E2E5C2E2E5C63 +:101E10002E2E5C636F6D706F6E656E74735C6C6993 +:101E2000627261726965735C6D656D6F626A5C6E2A +:101E300072665F6D656D6F626A2E630030B5024633 +:101E400051B103F02BFB0021074C08E034F821309E +:101E50001568AB4202D11160002030BD491C81429F +:101E6000F4D3052030BD000000000000002100F088 +:101E70000FB8002100F012B8012100F01EB80121B6 +:101E800000F011B808B56A46FAF769FA009808BD7B +:101E900008B56A46FAF749FA009808BD08B56A46D7 +:101EA000FAF743FA08BD08B56A46FAF731FA08BDF1 +:101EB00008B56A46FAF720FA08BD08B56A46FAF787 +:101EC00027FA009808BD08B56A46FAF755FA00984F +:101ED00008BD000070B5040003D113A1FE20FDF77A +:101EE0007FFE00252846FDF70DFE20686268016828 +:101EF000914214D9491E01600D781CB918A1C22065 +:101F0000FDF76EFE208AE16805FB00152068217A46 +:101F10000278891A0279C9B28A4200D2017100207E +:101F2000FDF71EFE284670BD2E2E5C2E2E5C2E2E3A +:101F30005C2E2E5C2E2E5C636F6D706F6E656E7402 +:101F4000735C6C69627261726965735C62616C6C0E +:101F50006F635C6E72665F62616C6C6F632E6300B0 +:101F60002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6376 +:101F70006F6D706F6E656E74735C6C6962726172A6 +:101F80006965735C62616C6C6F635C6E72665F62E4 +:101F9000616C6C6F632E630070B50C46050004D154 +:101FA00010A140F22110FDF71BFE24B90DA14FF442 +:101FB0009170FDF715FE0020FDF7A4FD1DB917492E +:101FC000CF20FDF70DFEE8682A68211A288AB1FBA8 +:101FD000F0F11068431C13600170BDE870400020F0 +:101FE000FDF7BEBD2E2E5C2E2E5C2E2E5C2E2E5CA2 +:101FF0002E2E5C636F6D706F6E656E74735C6C69B2 +:10200000627261726965735C62616C6C6F635C6E55 +:1020100072665F62616C6C6F632E6300601F0F00FD +:1020200010B5040002D0206830B901E00E2010BDC8 +:1020300017A1D920FDF7D4FD606818B914A1DA20E2 +:10204000FDF7CEFDA06818B911A1DB20FDF7C8FD92 +:10205000E06818B90EA1DC20FDF7C2FD208A18B98E +:102060000BA1DD20FDF7BCFD207A61682268401AD3 +:10207000C0B2116004E0226811684B1C1360087044 +:10208000401EC0B2F7D221680020087110BD0000C8 +:102090002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6345 +:1020A0006F6D706F6E656E74735C6C696272617275 +:1020B0006965735C62616C6C6F635C6E72665F62B3 +:1020C000616C6C6F632E63002DE9F041164817496F +:1020D0004FF48052401AC708042000EB0740154611 +:1020E000044613A103F03EF94FF0E026D6F8802114 +:1020F00020461DA106F5C07603F034F97017306054 +:10210000C6F8000101F0A2F928B1012000EB074058 +:1021100020A103F023F902F0B1FF0028FBD12846EB +:10212000BDE8F04100F052B858BA0F00D8B90F001E +:1021300052756E6E696E67206E72665F626F6F7445 +:102140006C6F616465725F6170705F7374617274EB +:10215000207769746820616464726573733A203013 +:10216000782530387800000044697361626C696ECC +:102170006720696E74657272757074732E204E5686 +:1021800049432D3E494345525B305D3A2030782526 +:10219000780000004661696C65642072756E6E6936 +:1021A0006E67206E72665F6466755F6D62725F69EE +:1021B00072715F666F72776172645F616464726589 +:1021C00073735F73657428290000000070B50646BC +:1021D0002648C0F5801100F0A9F8040024482549DC +:1021E000A0EB01004FEAD0004FF0010101EB0045E8 +:1021F00007D02846224620A103F0B4F82046FCF779 +:10220000FFF900F021FD014629488069421EC2F312 +:102210000B02801A0144002001F6FF7100F086F8DD +:10222000040004D02846224622A103F09BF8201E79 +:1022300001D0FCF7E5F9EFF30580C105D6E90045CB +:10224000C90D4FF0000080F3148880F3108880F3EC +:10225000118880F3138803D023493220FDF7C0FC96 +:1022600084F30888AC46BDE87040604700C00E00AB +:1022700058BA0F00D8B90F00436F756C64206E6FA9 +:10228000742070726F7465637420626F6F746C6F0A +:102290006164657220616E642073657474696E6731 +:1022A000732070616765732C20307825782E0000CC +:1022B000C01C0020436F756C64206E6F74207072B8 +:1022C0006F7465637420536F6674446576696365E3 +:1022D00020616E64206170706C69636174696F6EF7 +:1022E0002C20307825782E00B8AB0F0070B5084D43 +:1022F00004460E46686807F0D3FA002C06D0324632 +:1023000021466868BDE8704007F0BCBA70BD0000A7 +:10231000140000200348D0F804050349097B00EBB2 +:1023200001607047004002401400002030B50A05EB +:1023300002D1B0F57F2F01D9072030BD094C2268AA +:10234000082A01D3042030BD074B03EB0213C3F866 +:102350000008C3F804180220C3F80808521C002023 +:10236000226030BD1000002000E001402DE9F04166 +:102370003A483B49384E401AC508042000EB054056 +:102380000027044637A102F0E9FFB06801280ED00B +:10239000A52813D0AA2818D0AC281ED0032000EB03 +:1023A000054039A102F0DAFF0020BDE8F0812046A7 +:1023B0003CA102F0D3FFFCF76FF80CE020463CA1F3 +:1023C00002F0CCFF06F002FA0DE020463BA102F03D +:1023D000C5FFFDF717FC024607E020463AA102F0D0 +:1023E000BDFF06F0C1FA024601271D491B4B012023 +:1023F000591AC90800EB014522B1284636A1B36835 +:1024000002F0B7FF304600F043FCDFF80081002106 +:1024100088F800103E4801F0F1FB064698F80000ED +:1024200020B93C4940F27F10FDF7DAFB2EB1284677 +:1024300039A102F093FF0320B7E70120002FB4D0A9 +:1024400005492439096A0129AFD12046394902F0EA +:1024500085FF0220A9E70000E41C002058BA0F0005 +:10246000D8B90F00456E746572206E72665F626F38 +:102470006F746C6F616465725F66775F61637469C6 +:1024800076617465000000004E6F206669726D779A +:1024900061726520746F2061637469766174652E62 +:1024A0000000000056616C696420417070000000FB +:1024B00056616C69642053440000000056616C69E9 +:1024C0006420424C0000000056616C696420534453 +:1024D000202B20424C0000004163746976617469CE +:1024E0006F6E206661696C65642077697468206529 +:1024F00072726F72202564202862616E6B20636F98 +:1025000064653A20307825782900000044000020D6 +:1025100035170F0054AC0F00436F756C64206E6F5D +:10252000742077726974652073657474696E67735B +:102530002E000000ECAC0F002DE9F84304464248A1 +:102540004249401AC108042000EB0140054640A161 +:1025500002F004FF444F19207C600090684602F0AE +:102560006FFC009A414900EB82004FF00008C0F870 +:102570000017404601F0D4F900284ED1FFF7F6FECF +:10258000324A314B01219A1AD20801EB024420B1A0 +:1025900001281BD0022840D105E04FF47016FEF749 +:1025A000EBFC10B936E04FF4A02600F0C5F8304A35 +:1025B00020211820FCF74EF908B1FCF721F82D482E +:1025C000016801F0F901B12904D007E00120FDF70D +:1025D0005DFC33E0016801F04E01016000F00AFF8C +:1025E000D8B925493046FFF781FE244800F0B6FEF1 +:1025F00098B9284622A102F0B1FE00BF00F088F889 +:10260000FCF708F902F03AFD0028F7D120BF40BFDF +:1026100020BFF3E701F05EF910B10320BDE8F883B5 +:1026200087F800801A4801F075F9387820B919A1A7 +:102630004FF4F070FDF7D4FAFFF746FD204625A1D0 +:1026400002F08CFEE9E7000058BA0F00D8B90F007D +:10265000496E206E72665F626F6F746C6F61646545 +:10266000725F696E69740000080000200C000300AE +:10267000A00100201C05004071190F0095110F00EA +:10268000456E746572206D61696E206C6F6F7000AD +:1026900029170F002E2E5C2E2E5C2E2E5C2E2E5C0B +:1026A0002E2E5C636F6D706F6E656E74735C6C69FB +:1026B000627261726965735C626F6F746C6F616482 +:1026C00065725C6E72665F626F6F746C6F61646579 +:1026D000722E6300556E726561636861626C65009D +:1026E00010B540F6F8700168491C02D1074903F0A3 +:1026F0002DF840F6FC700168491C05D1BDE810407A +:102700004FF47E2103F022B810BD000000C00E007F +:1027100010B503F093FA002803D0BDE8104007F08D +:1027200061BE10BD034A93680A4601469860184688 +:1027300007F0A8B8140000202DE9F0411A4E3078B7 +:1027400000282ED103F07AFA1849194A0127891A6C +:10275000C908032202EB014500281DD01548046872 +:102760002846224614A102F0FDFDA4F54864962CEB +:1027700000DA962407F036FE2846224615A102F01C +:10278000F1FD21492046FFF7CDFF4FF0E0214FF446 +:102790008030C1F8000103E028461CA102F0DEFDF4 +:1027A0003770BDE8F081000045000020D8B90F0067 +:1027B000D8B90F000405014057445420656E61628A +:1027C0006C6564204352563A2564207469636B73C8 +:1027D000000000005374617274696E672061207498 +:1027E000696D657220282564207469636B732920E4 +:1027F000666F722066656564696E672077617463D1 +:1028000068646F672E00000021A40F005744542015 +:102810006973206E6F7420656E61626C6564000080 +:1028200000F180400068002800D00120704708B502 +:1028300000F18040002101600068009008BD70B583 +:1028400004460D4620220830F9F7EEFD202205F15E +:10285000200104F12800F9F7E7FD002070BD000019 +:102860002DE9F8430C461B49DDF820900160054630 +:102870001F46904618480121FFF71AFBBFF35F8FF0 +:10288000002618B148F20450BDE8F883FDF772FC49 +:1028900043464A4604F1080128460097FAF742FFEA +:1028A0000446FDF755FC0C4D2868012803D00BA108 +:1028B0006D20FDF795F9BFF35F8F2E6044B114488A +:1028C000C44202D148F24250DEE748F21650DBE73C +:1028D0000020D9E7DD55AABB480000202E2E5C2E33 +:1028E0002E5C2E2E5C2E2E5C2E2E5C636F6D706F18 +:1028F0006E656E74735C6C69627261726965735C3B +:102900006D757465785C6E72665F6D74782E6800A4 +:102910007CF70FFF70B516460C46054600F00CF923 +:1029200000280ED1AA791946304600F012F9002885 +:1029300007D131462046FFF782FF002801D1014927 +:10294000216070BD7052464D2DE9F8430C46DDE91B +:1029500008580746994616461249204600F0E0F806 +:10296000002811D16068414640794200284600F0B5 +:10297000F0F8002808D14EB15FB14B4632462146EF +:1029800038460095FFF76CFFBDE8F88348F2105019 +:10299000FAE705A14FF4C770FDF722F948F2155088 +:1029A000F2E700007052464D2E2E5C2E2E5C2E2E2D +:1029B0005C2E2E5C2E2E5C636F6D706F6E656E7478 +:1029C000735C6C69627261726965735C6372797061 +:1029D000746F5C6E72665F63727970746F5F65634B +:1029E0006473612E630000002DE9F0411D46DDE9AE +:1029F00006871646044600F02DF800280DD12A4619 +:102A00003146204600F03CF8002806D13A464146BF +:102A10002046BDE8F04100F002B8BDE8F08170B595 +:102A200015460E46044607F0CDFC002807D13EB1FE +:102A300060682968C268914205D248F2145070BD9E +:102A400048F2135070BD83682A4631462046BDE8DF +:102A50007040184710B550B161B141600968044633 +:102A60008847002802D105482060002010BD48F2A8 +:102A7000015010BD48F2105010BD00006E52464883 +:102A800070B515460E46044607F09CFC00280BD195 +:102A900046B155B160682A46314643682046BDE8D4 +:102AA0007040184748F2105070BD002070BD000003 +:102AB0002DE9F0410B480C4D0C4F401BC60801207E +:102AC0003870002406E000BF55F834008047002825 +:102AD00005D1641CB442F7D3022038700020BDE851 +:102AE000F0810000C0B90F00B8B90F004600002007 +:102AF00070B514460D46064600F036F8291930190F +:102B00002246BDE8704000F02FB870B50C4605466F +:102B100000F064F828192146BDE8704000F05EB866 +:102B200028B10068884205D048F24050704748F20A +:102B3000105070470020704728B139B10022C1E918 +:102B400000201046704748F21050704748F213506A +:102B5000704720B1914205D048F21150704748F2B9 +:102B6000105070470020704770B516460C4605009F +:102B700003D10AA11F20FDF733F81CB907A12020BB +:102B8000FDF72EF8A919491E04E000BF14F8010B47 +:102B900001F80109A942F9D270BD00002E2E5C2E69 +:102BA0002E5C2E2E5C2E2E5C2E2E5C636F6D706F55 +:102BB0006E656E74735C6C69627261726965735C78 +:102BC00063727970746F5C6E72665F637279707431 +:102BD0006F5F7368617265642E63000070B50D46A7 +:102BE000040003D107A10D20FCF7FAFF6019401E75 +:102BF00005E02178027804F8012B00F80119A042C1 +:102C0000F7D270BD2E2E5C2E2E5C2E2E5C2E2E5CEE +:102C10002E2E5C636F6D706F6E656E74735C6C6985 +:102C2000627261726965735C63727970746F5C6EF5 +:102C300072665F63727970746F5F736861726564E6 +:102C40002E630000AFF300804FF44050074A416804 +:102C5000914207D18068411EC1F30B01401A00F672 +:102C6000FF7070474FF4805070470000DBE5B151B2 +:102C700000B5FFF7E9FF054989690A18401E0844B5 +:102C8000C0F30B00101A00F6FF7000BDC01C00203E +:102C900000210160416081600148016370470000CC +:102CA000C01C00202DE9FF4F8B466E486E4981B055 +:102CB000401AC108042000EB014400916BA120469A +:102CC00002F04CFB204671A1019A02F04BFBBBF1D4 +:102CD000000F01D073A200E074A2204675A102F09B +:102CE00041FB039808B16FA200E070A2204676A1D4 +:102CF00002F038FB049808B16AA200E06BA22046FB +:102D000075A102F02FFB4FF4405041687848814292 +:102D100001D164A200E065A2204676A102F022FB68 +:102D2000204678A102F01AFB7A4D20467AA1AB69C1 +:102D30002A6A02F01EFB20467FA16B6AEA6A02F053 +:102D400018FB4FF00009DFF810A20CE0012650B18B +:102D5000012812D0B9F1020F1ED080498620FCF75D +:102D60003FFF00201AE0FFF783FF8046039888B1F9 +:102D70006848006A01280BD00CE0FFF765FF804629 +:102D8000049828B94FF4405041685948814201D015 +:102D9000012604E0002602E04FF480508046D04532 +:102DA00003D96E498B20FCF71BFF6D480199A0EBFE +:102DB0000800A0F54050884201D2012700E000271A +:102DC00047EA0B0520464A4666A102F0CBFA2046A8 +:102DD000424667A102F0C6FA0FB132A200E033A268 +:102DE000204669A102F0BEFA0EB12EA200E02FA289 +:102DF00020466BA102F0B6FA0DB12AA200E02BA288 +:102E000020466CA102F0AEFAB54308D0B9F1020F2A +:102E100005D209F10100C0B28146022896D957B106 +:102E20000098022101EB004067A102F097FA04200C +:102E300005B0BDE8F08FB9F1020F06D320466DA1B1 +:102E400002F08CFA00F0EAFE02E0B9F1000F07D0C0 +:102E500020466FA102F082FA2E481830FFF718FFC3 +:102E60000020E5E758BA0F00D8B90F00456E746529 +:102E700072206E72665F6466755F63616368655F2A +:102E80007072657061726528290000007265717545 +:102E9000697265645F73697A653A20307825782EA7 +:102EA00000000000747275650000000066616C73BC +:102EB0006500000073696E676C655F62616E6B3AF6 +:102EC0002025732E000000006B6565705F617070D7 +:102ED0003A2025732E0000006B6565705F736F6686 +:102EE000746465766963653A2025732E00000000DE +:102EF000DBE5B15153445F50524553454E543A209F +:102F000025732E0042616E6B20636F6E74656E7464 +:102F1000733A0000C01C002042616E6B20302063B9 +:102F20006F64653A203078253032783A2053697AD8 +:102F3000653A20307825780042616E6B203120633D +:102F40006F64653A203078253032783A2053697AB8 +:102F5000653A20307825780000900E00A0AF0F0071 +:102F600000C00E00706173733A2025642E000000CB +:102F700063616368655F616464726573733A20308E +:102F80007825782E0000000063616368655F746FC8 +:102F90006F5F736D616C6C3A2025732E000000002A +:102FA0006B6565705F6669726D776172653A202541 +:102FB000732E000064656C6574655F6D6F72653AB1 +:102FC0002025732E0000000041626F7274696E67E5 +:102FD0002E2043616E6E6F7420666974206E657773 +:102FE000206669726D77617265206F6E2064657608 +:102FF00069636500496E76616C69646174696E67C6 +:1030000020536F66744465766963652E0000000086 +:10301000496E76616C69646174696E672061707075 +:103020002E00000070B50C46050004D121494FF474 +:103030009970FCF7D5FD24B91E4940F23310FCF716 +:10304000CFFD1D481D4B2978C01A0422C00802EB91 +:103050000040092927D2DFE801F02605260B1526B6 +:103060001B260F0021462846BDE8704003F04EBFE6 +:1030700013A102F073F911E021462846BDE8704023 +:1030800003F0E6BF21462846BDE8704003F07EBF4E +:1030900014A102F063F94FF40070E0602046BDE82F +:1030A0007040FDF70DBEBDE8704002494FF4A970B5 +:1030B000FCF796BD00AE0F00E8B90F00D8B90F00BD +:1030C00048616E646C65204E52465F4446555F4FC2 +:1030D000505F4352435F4745542028636F6D6D61D5 +:1030E0006E64290048616E646C65204E52465F44F0 +:1030F00046555F4F505F4F424A4543545F53454CDE +:103100004543542028636F6D6D616E642900000093 +:1031100070B50E46040004D11B4940F24F20FCF765 +:103120005FFD26B918494FF41470FCF759FD20785B +:103130000125092820D2DFE800F01F051F0F141F0A +:103140001A1F0A003146204604F012F819E03146F1 +:10315000204604F063FA14E03146204603F0CAFF2B +:103160000FE03146204604F00DF9054609E03146EE +:10317000204604F007FA04E0034940F27120FCF70E +:103180002FFD284670BD000000AE0F002DE9F8436A +:10319000134C07460D46206800901248124990468D +:1031A000401AC608042000EB06402B463A460FA101 +:1031B00002F0E7F843462A4639461C4801F0B0FCC5 +:1031C000050009D0022000EB06402A4618A102F0B3 +:1031D000C9F82846BDE8F8832068401C2060F8E75D +:1031E00050000020E0B90F00D8B90F006E72665F82 +:1031F0006673746F726167655F657261736528617C +:103200006464723D307825702C206C656E3D2564B9 +:10321000207061676573292C20717565756520754F +:10322000736167653A202564000000008C0100206E +:103230006E72665F6673746F726167655F657261F7 +:1032400073652829206661696C65642077697468F4 +:10325000206572726F7220307825782E0000000091 +:103260000848094910B5401AC008042101EB004084 +:1032700006A102F073F8BDE810400E4900220E4886 +:1032800001F0AEBCE0B90F00D8B90F00496E697407 +:1032900069616C697A696E67206E72665F667374C5 +:1032A0006F726167655F6E766D63206261636B65E7 +:1032B0006E642E0050A90F008C0100202DE9FC4700 +:1032C000154C80460F4620681549CDE9002013486B +:1032D0009946401AC6081546042000EB06403B46B6 +:1032E0004246104902F056F82B463A4641460E48EF +:1032F000CDF8009001F0D0FC050009D0022000EBD1 +:1033000006402A4609A102F02DF82846BDE8FC87B0 +:103310002068401C2060F8E750000020E0B90F0052 +:10332000D8B90F0048AD0F008C0100206E72665FA7 +:103330006673746F726167655F7772697465282957 +:10334000206661696C6564207769746820657272B3 +:103350006F7220307825782E0000000070B511497A +:10336000086011481149401AC508032000EB0540C8 +:103370000FA101F0F3FF0020FDF730FF114800F02E +:10338000F3FC040008D0012000EB054022460EA10A +:1033900001F0E8FF204670BDBDE87040094800F02C +:1033A000ABB800004C00002058BA0F00D8B90F008D +:1033B000456E746572696E6720444655206D6F6472 +:1033C000652E0000DD110F00436F756C64206E6F79 +:1033D0007420696E6974616C697A65204446552071 +:1033E0007472616E73706F72743A20307825303861 +:1033F000780000000648074910B5401AC0080421AB +:1034000001EB004004A101F0A9FF002010BD000065 +:1034100058BA0F00D8B90F00696E207765616B202C +:103420006E72665F6466755F696E69745F757365F9 +:10343000720000001FB58908002201AB009283E8EA +:103440000700684618DF04B010BD00001FB5094A28 +:103450004FF480541069D2E90612CDE90004CDE999 +:103460000212684618DF072802D1600404600020B9 +:1034700004B010BDD0A60F0070B50E460178134CF5 +:10348000062901D0012901D1017C21702178012573 +:10349000012911D0022913D00D480E49401AC00845 +:1034A000012101EB00400CA101F058FF0020207029 +:1034B00005207070284670BD3146FFF7B3FDF9E76F +:1034C0003146FFF725FE0546F4E7000058000020CE +:1034D000E8B90F00D8B90F00496E76616C696420B5 +:1034E0006F626A656374207479706520696E2072FA +:1034F0006571756573742E0010B5040011D000203D +:10350000FFF7AEFE00280BD100F09CFD00F07CFE22 +:1035100048B10949081F00F005FE012803D0032027 +:1035200010BD072010BD04480838C4600020FEF715 +:10353000F5F8002010BD00006000002010B5816883 +:1035400089B10A4A1821FBF717F9040009D0084885 +:103550000849401AC008022101EB004006A101F011 +:10356000FDFE204610BD072010BD000095350F0060 +:10357000E8B90F00D8B90F005363686564756C65CE +:10358000722072616E206F7574206F662073706197 +:1035900063652100AFF3008070B50546806886B092 +:1035A00020B9414940F2A920FCF71AFB18223F49F3 +:1035B0006846F8F739FF28788DF800003C483D4B05 +:1035C0002A78181A0421C0083B4E01EB00440D2A4A +:1035D0004ED2DFE802F007463946464D46314629CD +:1035E0000D243E00204635A101F0B8FE012020E068 +:1035F00020463BA101F0B2FE4FF08050D0F8001100 +:103600000191D0F804110291D0F80C1189020491B3 +:10361000D0F81011890203910069059031E06946E4 +:10362000284604F0D1F82CE0204636A101F096FEA1 +:10363000287C8DF8040024E0204638A101F08EFE9D +:10364000288AADF804001CE020463BA101F086FE6C +:1036500017E0204641A101F081FEF168072088476C +:103660000FE069462846FFF707FF50B906B070BD66 +:10367000032101EB00403FA101F074FE02208DF810 +:1036800001009DF80120204642A101F06BFED5E922 +:103690000112684690479DF801000128E6D0F168C4 +:1036A00005208847E2E7000000AE0F0008A70F00E2 +:1036B000D8B90F00E8B90F005800002048616E64C7 +:1036C0006C65204E52465F4446555F4F505F5052E6 +:1036D0004F544F434F4C5F56455253494F4E000095 +:1036E00048616E646C65204E52465F4446555F4F9C +:1036F000505F48415244574152455F5645525349E5 +:103700004F4E000048616E646C65204E52465F4427 +:1037100046555F4F505F50494E47000048616E6408 +:103720006C65204E52465F4446555F4F505F4D5486 +:10373000555F47455400000048616E646C65204E3B +:1037400052465F4446555F4F505F5245434549508E +:10375000545F4E4F5449465F5345540048616E6470 +:103760006C65204E52465F4446555F4F505F414264 +:103770004F525400496E76616C6964206F70636FBC +:1037800064652072656365697665643A20307825E2 +:10379000782E0000526571756573742068616E64DF +:1037A0006C696E6720636F6D706C6574652E205256 +:1037B0006573756C743A203078257800F0B5521E28 +:1037C00087B00F4605464C1C96B218222B49684616 +:1037D000F8F72AFE2A482B4A3978801AC0080422B2 +:1037E0008DF8001002EB004001950C2933D2DFE880 +:1037F00001F032150A323232122C2640320620787D +:103800008DF8100027E02A881FA101F0ABFD208869 +:10381000288068801FE0207804901CE02888688059 +:10382000207804902179D4F8010061F31F6005909D +:10383000049801280FD1686900F038FA0BE004946D +:10384000ADF81460A868039008E017A101F086FDA8 +:10385000A889ADF81000A968204688476846FFF798 +:103860006DFE002803D01549EA20FCF7B9F907B02E +:10387000F0BD227812A101F075FDC0E7C4AA0F00C7 +:1038800060BA0F00D8B90F00536574207265636584 +:10389000697074206E6F74696620746172676574F4 +:1038A0003A2025640000000052656365697665640E +:1038B0002073657269616C206D747500ECB60F0041 +:1038C00052656365697665642070696E672025645A +:1038D000000000000648074910B5401AC008022140 +:1038E00001EB004004A101F039FD002010BD0000F3 +:1038F000F0B90F00D8B90F004E6F2061646469748D +:10390000696F6E616C2064617461206572617365BA +:1039100064000000014905F0F7B8000000F00F0056 +:1039200070B5054612481349401AC408042000EB3C +:10393000044011A101F012FD2846FFF791FC02009E +:103940004FF0010000EB044402D0204613A108E030 +:1039500000F06CF8002000F051F9020005D020467C +:1039600019A101F0FFFC032070BD002070BD000014 +:10397000F0B90F00D8B90F0043616C6C696E672015 +:103980006E72665F6466755F73657474696E677383 +:103990005F696E697428292E2E2E00006E72665F94 +:1039A0006466755F666C6173685F696E6974282907 +:1039B000206661696C65642077697468206572723D +:1039C0006F723A20257800006E72665F6466755FDC +:1039D00073657474696E67735F77726974655F612C +:1039E0006E645F6261636B75702829206661696C23 +:1039F00065642077697468206572726F723A202559 +:103A00007800000010B5FF224FF400710648F8F767 +:103A10002CFD054820212438F8F72EFD024900200E +:103A20005C39086310BD00001C1D00202DE9F05F0B +:103A30004048FDF77FF9404E074634682046FDF7C1 +:103A400079F94FF0000A58B16068012806D0204685 +:103A5000FCF78AF9D4F85C12884201D1012400E015 +:103A6000002436483649DFF8DC80401AC0080321BC +:103A70004FF002094FF4607B01EB0045F7B10421E0 +:103A800001EB0040074630A101F068FC5A46294985 +:103A90004046F8F7C9FCDCB1384631A101F05EFCC4 +:103AA000366844465422311D201DF8F7BDFC40F213 +:103AB000C72206F15C0104F15C0007E06CB3284604 +:103AC000324901F04BFC5A461E483168F8F7ACFC0D +:103AD000D8F80400444601281DD128462CA101F045 +:103AE0003DFC3649402201F2C710F8F79DFC3349EE +:103AF0001C22403101F2C710F8F796FC84F860A24E +:103B0000012184F8A1122E4884F8E2A2E169C0F8EC +:103B10002210C4F80490BDE8F09F4C4609EB004029 +:103B2000284901F01BFC59460648F8F7A5FCC8F8DF +:103B30000440F0E700F00F0068000020F0B90F002B +:103B4000D8B90F00C01C00205573696E67207365DB +:103B50007474696E677320706167652E00000000E1 +:103B6000436F7079696E6720666F7262696464651D +:103B70006E2070617274732066726F6D2062616373 +:103B80006B757020706167652E000000B0AE0F008D +:103B90004F6C642073657474696E6773207061671D +:103BA000652064657465637465642E205570677262 +:103BB0006164696E6720696E666F2E001C1E0020AE +:103BC000401F00204CAE0F0070B50546094805F0B7 +:103BD00007F8084C20602046FCF7C6F8C4F85C02E1 +:103BE000A4F5E0632A462146BDE87040024804F08F +:103BF000FDBF0000C01C002000F00F0070B505469E +:103C00000020FFF7E1FF040003D10349284604F038 +:103C10007BFF204670BD0000C01C002010B54FF493 +:103C200040541249606888421ED100230422104982 +:103C3000201DFFF743FB58B10E480F49BDE8104067 +:103C4000401AC008012101EB00400CA101F086BB25 +:103C50001348016A012901D1002101628169A2682A +:103C60001144A1F58051816110BD0000DBE5B15127 +:103C700020A70F0058BA0F00D8B90F00436F756C1A +:103C800064206E6F7420696E76616C69646174651E +:103C900020536F66744465766963652E00000000EA +:103CA000C01C00204FF48050704700002DE9F04701 +:103CB0001449DFF854808146A1EB0800C708134877 +:103CC00013490026401AC108042000EB01400546B4 +:103CD0003A4610A101F046FB00240EE008EBC400B8 +:103CE000416848468847060006D0284633462246A3 +:103CF00012A101F03EFB02E0641CBC42EED3304650 +:103D0000BDE8F087C8B90F00C0B90F0058BA0F005E +:103D1000D8B90F005368757474696E6720646F7743 +:103D20006E207472616E73706F7274732028666F88 +:103D3000756E643A20256429000000004661696CB4 +:103D4000656420746F2073687574646F776E207477 +:103D500072616E73706F72742025642C20657272AC +:103D60006F722025640000002DE9F0471449DFF848 +:103D700054808146A1EB0800C70813481349002668 +:103D8000401AC108042000EB014005463A4610A144 +:103D900001F0E8FA00240DE058F83410484688474E +:103DA000060006D028463346224612A101F0E1FA69 +:103DB00002E0641CBC42EFD33046BDE8F08700004F +:103DC000C8B90F00C0B90F0058BA0F00D8B90F001A +:103DD000496E697469616C697A696E672074726191 +:103DE0006E73706F7274732028666F756E643A20FC +:103DF000256429004661696C656420746F20696ED2 +:103E0000697469616C697A65207472616E73706F30 +:103E100072742025642C206572726F7220256400F4 +:103E2000012204F001BA000038B5144602780B46AE +:103E3000FAB1012A09D0022A1DD0032A23D017493A +:103E400040F2B330FBF7CCFE25E0D0F80150002261 +:103E500021461846FCF750FFA8420AD010481149E5 +:103E60000122401AC008042101EB00400EA101F01C +:103E700079FA012038BD01B02246BDE83040002368 +:103E8000401C00F023B8411C40220020009400F0A8 +:103E900017FA0128EED0002038BD00009CB10F00B9 +:103EA000F8B90F00D8B90F00435243206368656327 +:103EB0006B206F6620617070206661696C65642E8E +:103EC0002052657475726E20256400002DE9F04360 +:103ED000ABB007462020894629901C469046012514 +:103EE0007C2102A8F8F7C8FAFCF734FF2CB1202295 +:103EF000394621A8FEF738FE21AF2448244943461D +:103F0000401AC608042000EB064004464A4621A198 +:103F100001F02FFA29A92C48CDE9000143464A4671 +:103F20002A4902A8FEF760FD020006D0012000EB3E +:103F3000064027A101F016FA22E020223946224845 +:103F4000F8F7ACFAE8B1022000EB06402DA101F031 +:103F500005FA204632A101F001FA20462022394616 +:103F600001F0A6F9204633A101F0F8F920462022FD +:103F7000154901F09DF900BF01F080F80028FBD140 +:103F800000252BB02846BDE8F0830000F8B90F00EB +:103F9000D8B90F00486173682076657269666963F5 +:103FA0006174696F6E2E2073746172742061646431 +:103FB000726573733A20307825782C2073697A659E +:103FC0003A203078257800001424002004A50F0042 +:103FD000436F756C64206E6F742072756E2068611B +:103FE000736820766572696669636174696F6E20B3 +:103FF000286572725F636F64652030782578292E9A +:104000000000000048617368207665726966696324 +:104010006174696F6E206661696C65642E000000D2 +:1040200045787065637465642046572068617368DD +:104030003A00000041637475616C20465720686146 +:1040400073683A0010B50648064C806B20B105F045 +:104050008FFA08B1012000E00020207010BD0000A0 +:10406000C01C00206C0000202DE9F041144C0746D4 +:104070000D46E06BA26B0126411991420BD9114804 +:104080001149401AC008012101EB00400FA101F0C5 +:1040900065F9032610E00A492A465C31084439468E +:1040A000F8F7C2F9E06B064A2844E063403229463B +:1040B0003846FCF721FE20643046BDE8F081000060 +:1040C000C01C0020F8B90F00D8B90F00496E697400 +:1040D00020636F6D6D616E64206C61726765722024 +:1040E0007468616E2065787065637465642E000085 +:1040F00070B504004FF0010504D0B4F5007F03D97A +:10410000042508E0032506E0044900200870FFF7B5 +:1041100079FC03488463284670BD00006C000020D1 +:10412000C01C00202DE9F041064624480F46254BCF +:10413000D0E90E1222484FF00108C01AC00808EB5F +:1041400000448A4205D020461FA101F007F9082447 +:1041500030E0244D287840B1FEF78AFD30603946C2 +:10416000E86805F075FC044624E005F001FAE0B1CA +:1041700000F050F80446002030603860012C0ED169 +:104180003946E86805F064FC0446012807D1324648 +:104190003968E86805F016FC0446012802D0FFF7EC +:1041A00031FC07E085F8008004E020460EA101F014 +:1041B000D5F805242046BDE8F0810000C01C002091 +:1041C000F8B90F00D8B90F0045786563757465209C +:1041D00077697468206661756C7479206F666673A0 +:1041E000657400006C0000204661696C6564207491 +:1041F0006F206465636F646520696E697420706107 +:10420000636B65740000000001480078704700008F +:104210006C000020F8B51C48041D002690F86C3195 +:10422000314632463BB190F8D862B0F8DA2200F558 +:10423000B87400F53771154DA868009030466B686A +:1042400000F03EF80646012805D1201D00F044F993 +:104250000646012816D00E480E49401AC40802200E +:1042600000EB04400CA101F079F8042000EB0444B9 +:104270000FA1204601F072F82889696882B22046B1 +:1042800001F016F83046F8BD402000206C000020F8 +:10429000F8B90F00D8B90F0050726576616C696487 +:1042A0006174696F6E206661696C65642E00000040 +:1042B000496E697420636F6D6D616E643A00000031 +:1042C0002DE9F047CCB080462020DDF850910F4614 +:1042D0004A909A4616467C212BA8F8F7CDF8A421DF +:1042E00002A8F8F7C9F8FCF735FD40484049401AE4 +:1042F000C508032000EB054004463EA101F02EF85E +:1043000057B1B8F1000F20460ED044A101F026F8B5 +:1043100016204CB0BDE8F087022000EB054045A117 +:1043200001F01CF81320F4E74A4647A101F01AF8FF +:104330004AA94C48CDE900014B4652464A492BA8B0 +:10434000FEF752FB08B9402E01D00A20E1E74548AC +:10435000324639464038F8F767F8204643A100F066 +:10436000FDFF404820214038FEF7CFFB3D4840216B +:104370004038CDE90001A0F148013A4A02A84A9B21 +:10438000FEF7E2FA02002BD0012000EB05403CA131 +:1043900000F0E8FF042000EB054442A1204600F0B5 +:1043A000DDFF304920464022403900F081FF2046A1 +:1043B0003FA100F0D3FF4A982A4982B2204600F07C +:1043C00077FF20463CA100F0C9FF204640223D492E +:1043D00000F06EFF00F052FE0028FBD1052098E7A8 +:1043E000204639A100F0BAFF012092E7F8B90F008A +:1043F000D8B90F005369676E617475726520726574 +:104400007175697265642E20436865636B696E67B8 +:10441000207369676E61747572652E00496E7661EE +:104420006C6964207369676E617475726520747954 +:10443000706500004E6F207369676E6174757265F8 +:1044400020666F756E642E0043616C63756C6174D9 +:10445000696E67206861736820286C656E3A202554 +:1044600064290000F423002004A50F00566572693A +:104470006679207369676E6174757265000000006B +:104480005369676E6174757265206661696C6564F5 +:1044900020286572725F636F64653A2030782578F2 +:1044A000290000005369676E61747572653A0000F7 +:1044B000486173683A0000005075626C6963204B74 +:1044C00065793A00A0A40F00496D616765207665A3 +:1044D00072696669656400002DE9F04104004FF0DF +:1044E000010603D133499E20FBF77AFB3248334A59 +:1044F00094F85410801AC008012202EB004541B123 +:1045000094F8550040B1012806D0022804D00328B1 +:1045100002D028462AA147E01CB926497D20FBF796 +:104520005FFB94F86E00032805D028462AA100F00E +:1045300015FF14263BE094F8920018B194F893000C +:10454000002834D1207A78B11C4A1B4B02209A1AD9 +:10455000D208E16800EB0247342908D0384623A18D +:1045600000F0FCFE112622E0284625A11CE0204692 +:1045700004F068FA30B1207880B12046FDF7F6F8F3 +:1045800030B114E0384622A100F0E8FE12260EE019 +:10459000384623A100F0E2FE102608E094F855000A +:1045A000012804D0284623A100F0D8FE0F2630466B +:1045B000BDE8F081E4B10F0000BA0F00D8B90F00D8 +:1045C000496E76616C6964206669726D77617265A7 +:1045D00020747970652E0000496E76616C696420E4 +:1045E0006861736820747970652E00004661756C8F +:1045F00074792048572076657273696F6E2E0000BB +:104600004E6F2048572076657273696F6E2E0000DA +:10461000534420726571206E6F74206D65742E0096 +:1046200046572076657273696F6E20746F6F206CC9 +:104630006F772E0046572076657273696F6E206D16 +:10464000697373696E672E0010B5104C207820B91D +:104650000FA14FF49770FBF7C3FA606820B90CA163 +:1046600040F22F10FBF7BCFA0020FBF74BFA606812 +:10467000401E6060606818B901F058FB002060704F +:10468000BDE810400020FBF76BBA00003424002086 +:104690002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6919 +:1046A0006E746567726174696F6E5C6E7266785C59 +:1046B0006C65676163795C6E72665F6472765F6376 +:1046C0006C6F636B2E63000070B5184C0546207844 +:1046D00020B917A140F20D10FBF782FA607838B1CB +:1046E00015B16968002088470020FBF70BFA0CE041 +:1046F0000020FBF707FA25B10C4829460830FDF7E2 +:104700003BFA606808B901F0E1FA6068401C60603B +:104710000020FBF725FA6068002806D1BDE870404C +:1047200003A140F22910FBF75BBA70BD34240020CE +:104730002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6978 +:104740006E746567726174696F6E5C6E7266785CB8 +:104750006C65676163795C6E72665F6472765F63D5 +:104760006C6F636B2E63000070B50C4C01252078D4 +:1047700008B185260BE00020A06060602061E06049 +:10478000074801F013FB064601F06EFA257001F0B0 +:104790005DFA00B1A570304670BD000034240020E1 +:1047A000A50C0F0001480078704700003424002059 +:1047B00010B5074C217809B1852010BD00B9054816 +:1047C00001F07AFB0028F8D10121217010BD000012 +:1047D0007C00002024A70F0010B5044600F007F865 +:1047E000204601F041FC01F038FC002010BD10B55E +:1047F00001F02CFCBDE8104001F064BC0FB438B5EA +:10480000040003D110A11C20FBF7EAF9606918B974 +:104810000DA11D20FBF7E4F9206818B90AA11E209C +:10482000FBF7DEF9606818B907A11F20FBF7D8F97C +:104830000599002905D006A800906A46204600F098 +:1048400045F838BC5DF814FB2E2E5C2E2E5C2E2E07 +:104850005C2E2E5C2E2E5C65787465726E616C5CCD +:10486000667072696E74665C6E72665F667072699D +:104870006E74662E6300000010B5040003D107A11A +:104880000B20FBF7ADF9A268002A05D0D4E9040398 +:10489000216898470020A06010BD00002E2E5C2EDD +:1048A0002E5C2E2E5C2E2E5C2E2E5C65787465722E +:1048B0006E616C5C667072696E74665C6E72665F67 +:1048C000667072696E74662E630000002DE9FC4705 +:1048D00091460C465FEA000804D183A140F25220C1 +:1048E000FBF77EF9D8F8140020B97FA14FF41570BA +:1048F000FBF776F9D8F8000020B97BA140F25520EB +:10490000FBF76EF9D8F8040020B977A140F25620E1 +:10491000FBF766F9002C76D014F8011B39B1252974 +:104920000ED04046FBF7B8FB20780028F4D198F869 +:104930000C00002867D04046BDE8FC47FFF79CBF4D +:104940000020012221782B291BD02D2902D03029CB +:1049500008D102E040F0010001E040F00200641CD8 +:10496000002AEFD100252A290ED02178A1F13002AA +:104970000A2A11D205EB850201EB4205641C303D89 +:10498000F1E740F00400EAE7D9F800100B1DC9F880 +:1049900000300968641C0D44217800232E290BD1B6 +:1049A00014F8011FA1F130020A2A05D203EB830299 +:1049B00001EB4203303BF3E76C290DD068290BD0A3 +:1049C000692921D00BDC252918D0582931D0632939 +:1049D0000ED0642915D117E014F8011FECE77029F7 +:1049E00069D0732932D075291BD0782909D120E0EC +:1049F000D9F80000011DC9F8001001784046FBF706 +:104A00004BFB641C90E76CE0D9F800100A1DC9F854 +:104A100000200968CDE900500A224046FCF7CCFF8F +:104A2000EFE7D9F800100A1DC9F8002009680A222A +:104A300006E0D9F800100A1DC9F800200968102204 +:104A4000CDE90050404604F063FFDAE7D9F80010E2 +:104A500000270A1DC9F800200E68C00705D112E022 +:104A60004046761C7F1CFBF717FB31780029F7D1F5 +:104A700004E0202140466D1EFBF70EFBBD42C0D96D +:104A8000002DF6D1BDE74EB13046F7F700FD0746E1 +:104A900004E0202140466D1EFBF7FEFABD4206D918 +:104AA000002DF6D103E04046761CFBF7F5FA31788D +:104AB0000029F8D1A5E7D9F80000011DC9F80010B8 +:104AC000056830214046FBF7E7FA78214046FBF7BE +:104AD000E3FA08200021CDE900010346102229460F +:104AE000B0E7BDE8FC8700002E2E5C2E2E5C2E2E3B +:104AF0005C2E2E5C2E2E5C65787465726E616C5C2B +:104B0000667072696E74665C6E72665F66707269FA +:104B10006E74665F666F726D61742E6300000000D4 +:104B20002DE9F0411E4615460F46040003D11DA194 +:104B30007820FBF755F8206818B91AA17920FBF7FF +:104B40004FF81DB917A17A20FBF74AF839462046DD +:104B5000F9F78CFC40B939462046F9F787FC18B9BB +:104B600010A17D20FBF73CF86068394602682046BA +:104B70006A43F9F784FC58B96068394602682046F0 +:104B80006A43F9F77CFC18B906A17F20FBF728F8E7 +:104B9000206833462A46D0F810C039462046BDE882 +:104BA000F04160472E2E5C2E2E5C2E2E5C2E2E5C4D +:104BB0002E2E5C636F6D706F6E656E74735C6C69C6 +:104BC000627261726965735C6673746F7261676546 +:104BD0005C6E72665F6673746F726167652E6300E8 +:104BE00070B516460C46050003D108A12F20FAF730 +:104BF000F7FF1CB905A13020FAF7F2FF2C6031460F +:104C000028462268BDE87040104700002E2E5C2E1A +:104C10002E5C2E2E5C2E2E5C2E2E5C636F6D706FC4 +:104C20006E656E74735C6C69627261726965735CE7 +:104C30006673746F726167655C6E72665F667374CB +:104C40006F726167652E63002DE9F04128B101683C +:104C500019B1C969BDE8F04108470D4D0D48002460 +:104C6000461B14270DE000BF04EB840005EB800019 +:104C7000016829B1C969884710B10120BDE8F081F8 +:104C8000641CB6FBF7F0A042EED80020F6E7000067 +:104C90008C010020A00100202DE9F8431D46089F4B +:104CA00016468846040003D12AA16220FAF798FF2D +:104CB0001EB928A16320FAF793FF206818B925A12F +:104CC0006420FAF78DFF1DB922A16520FAF788FF4D +:104CD00060684068B5FBF0F100FB115141B1B5FBD4 +:104CE000F0F100FB115018B11AA16820FAF778FF13 +:104CF0004046F9F7B5FB38B94046F9F7B1FB18B9AA +:104D000014A16B20FAF76CFF3046F9F7A9FB38B90C +:104D10003046F9F7A5FB18B90EA16C20FAF760FF31 +:104D20002A4641462046F9F7AAFB48B92A46414699 +:104D30002046F9F7A4FB18B906A16D20FAF750FF39 +:104D4000009720682B463246C76841462046B84740 +:104D5000BDE8F8832E2E5C2E2E5C2E2E5C2E2E5C53 +:104D60002E2E5C636F6D706F6E656E74735C6C6914 +:104D7000627261726965735C6673746F7261676594 +:104D80005C6E72665F6673746F726167652E630036 +:104D90002DE9FF411C46DDE90A7815460E466846B6 +:104DA00000F010F846EA450141EA840141EA072291 +:104DB00042EA0841009A00EB8200C0F80017BDE803 +:104DC000FF81000010B5016804464A094FF0000059 +:104DD00002D0012A05D102E04FF0FF3001E04FF68A +:104DE000FF7001F01F0201219140014204D108A18E +:104DF0004FF4E370FAF7F4FE2068202802D24FF057 +:104E0000A04010BD00F01F0020600C4810BD000045 +:104E10002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6D8D +:104E20006F64756C65735C6E7266785C68616C5CEF +:104E30006E72665F6770696F2E6800000003005035 +:104E400010B5016804464A094FF0000002D0012A5B +:104E500005D102E04FF0FF3001E04FF6FF7001F0A6 +:104E60001F0201219140014204D108A14FF4E370D7 +:104E7000FAF7B6FE2068202802D24FF0A04010BDFD +:104E800000F01F0020600C4810BD00002E2E5C2E8C +:104E90002E5C2E2E5C2E2E5C2E2E5C6D6F64756C3F +:104EA00065735C6E7266785C68616C5C6E72665F7E +:104EB0006770696F2E6800000003005038B5012448 +:104EC0000090684631B1FFF77DFF00998C40C0F833 +:104ED000084538BDFFF776FF00998C40C0F80C45B7 +:104EE00038BD000030B5134B014600201C69224636 +:104EF0000AE0D2681579854205D1401C0A28F6DB04 +:104F00004FF0FF3030BD1268002AF2D1421CF9D0B8 +:104F1000CA6810711A693AB1D268CC681268226006 +:104F20001A69D268116030BD1961C96800220A602F +:104F300030BD0000286900207047F8F7F5BD7047C4 +:104F400008B5034A00924023024A00F005F808BD64 +:104F5000B98A0F008D270020F0B595B01C46154684 +:104F60000F4608461A9E00F06BFB182109A8F7F7B8 +:104F700083FA0E96CDE909540023082203A9384686 +:104F800000F074FB05980690BDF81000ADF81C0009 +:104F9000BDF81200ADF81E0000208DF82100039826 +:104FA000082600F00300012802D0022818D032E0C1 +:104FB00003983346850AC0F3C2008DF82000039899 +:104FC0000FA9C0F38314A200384600F04FFB09A8D4 +:104FD000009006AB22460FA9284600F08DFA1AE091 +:104FE0000398840DC0F3C2008DF82000082C01D274 +:104FF000254600E0082533462A460FA9384600F02A +:1050000035FB2E44641B09AB06AA29460FA800F005 +:10501000D9F9002CEAD1384600F018FB15B0F0BDE4 +:105020000A4A012902EBC00007D0022907D0032950 +:1050300007D0042907D000207047022070470420C1 +:10504000704700797047407970470000D8B90F0069 +:1050500010B5FFF772FF04210648FFF743FF002851 +:1050600003DA05491B20FAF7BBFD02490120C96894 +:10507000487110BDC8B90F003CB60F002DE9F04FC4 +:105080008DB0FBF721F818B100200DB0BDE8F08F0E +:105090007C4E0020B061BFF34F8FA6F580447A4963 +:1050A000A06802900D684FF00009284004EB8000D2 +:1050B0000AE0B06970B961680298814201D8A160C4 +:1050C000E2E7284004EB80000C3002A9FCF7C7FCA3 +:1050D0000028EED1002003AAA046029901EA0503A8 +:1050E00008EB8303491CDB6842F82030401C029126 +:1050F0000228F2D3039800F00300022802D001280E +:105100004ED0A6E00398810D024650208A46B0EBAF +:10511000925F00D850210C46104664F39F500390D4 +:1051200008315A4800F043FA070075D000F088FAB9 +:105130004B46082203A9384600F0C4FA029909F147 +:10514000080B2940681A8000001D844221D9504D67 +:1051500030B1C2B208EB8101201A91460C3104E053 +:105160002946E2B2002591462846C4B25B4638463D +:1051700000F0A8FA0BEB090325B122462946384670 +:1051800000F0A0FA02990AF1030001EB90000290EE +:105190003BE008EB81015B46224638460C31EFE7E5 +:1051A0000398C0F38310062800D30620039960F308 +:1051B0008911C1F38310801C03918100334800F0F2 +:1051C000F6F9070045D000F03BFA4B46082203A948 +:1051D000384600F077FA09F1080900240FE0029838 +:1051E0004B4600EA0501401C08EB810102900422B5 +:1051F00038460C3100F066FA09F10409641C039882 +:10520000C0F38310A042EAD837B13469B06978B1ED +:10521000384600F01BFA30E01BE0E06840790128D6 +:1052200004D122682046394612689047E068046835 +:10523000002CF2D1384600F009FA0020FAF762FC9F +:10524000B06910B90299C8F808100020FAF788FC74 +:1052500013E0346905E02168204689688847E068E2 +:105260000468002CF7D10B480B49401AC0080221F2 +:1052700001EB004009A100F071F8FAF725FF80F07A +:10528000010002E7286900202401002070BA0F0005 +:105290003429002058BA0F00D8B90F004261636B5F +:1052A000656E647320666C75736865640000000049 +:1052B0002DE9F84F8146274FD01C15468A468008B5 +:1052C000002269463E68FAF791FEDFF88C80B0B3A1 +:1052D000009CA01C009039683040091A8F003F1DC7 +:1052E000BD4208EB800002D82A46514608E03A4603 +:1052F00051460C30F7F798F81748EA1B0AEB0701FC +:105300000C30F7F791F84FEA1947FBF7D1FF47EA5E +:105310000042601C304008EB8000344008EB840100 +:10532000C260C8684FF6C07269F3C500904365F368 +:105330009F5020F00300801C20F00400C86098F803 +:10534000000001E0FFF79AFE0028FBD1FCF736FCD5 +:10535000BDE8F88F240100202829002000231A46E8 +:1053600004F0D0B808B5012300926A4604F0CAF8E8 +:1053700008BD1CB5CDE9002302236A4604F0C2F83B +:105380001CBD3EB5069C8DE81C0003236A4604F054 +:10539000B9F83EBD7FB5DDE908458DE83C00042342 +:1053A0006A4604F0AFF87FBD70B586B00DF1280CE9 +:1053B0009CE870008DE87C0005236A4604F0A2F8A2 +:1053C00006B070BD2DE9F0470E4680461C46924659 +:1053D000082940D894F80C900020207319461046F4 +:1053E00003F06CF80025B54206D218F805201BA181 +:1053F0002046FFF703FA03E01AA12046FFF7FEF963 +:105400006D1C082DEFD318A12046FFF7F7F90025F2 +:10541000B54212D218F805707E2F08D8F7F700F8B9 +:105420000068C05D10F03E0F01D03A4600E02E2229 +:105430000EA12046FFF7E2F903E00DA12046FFF799 +:10544000DDF96D1C082DE3D301222146504602F000 +:10545000CDFE84F80C90BDE8F087000020253032A6 +:1054600078000000202020007C0000002563000060 +:1054700020000000064910B500200870054800F023 +:10548000E3F8002803D1044800F0A8F9002010BD7B +:105490002829002070BA0F00B8AA0F00024803495B +:1054A000401AC0087047000070BA0F00D8B90F004A +:1054B00013B56846FCF7C2FC08B100201CBD0248C9 +:1054C000009950F831001CBDD8B90F0070B50948DB +:1054D00001250469A0F58040057007E0E06845718A +:1054E0002168204649688847E0680468002CF5D1A7 +:1054F00070BD0000286900202DE9FF4781460C9D02 +:1055000000200C462F7B28739846164629461846DD +:1055100002F0D4FF072E42D2DFE806F004090F168E +:105520001F2A360049462846FFF768F937E0494602 +:1055300028462268FFF762F931E0D4E900234946A2 +:105540002846FFF75BF92AE0A0680090D4E9002321 +:1055500049462846FFF752F921E0D4E90201CDE996 +:105560000001D4E9002349462846FFF747F916E031 +:1055700004F1080007C88DE80700D4E90023494674 +:105580002846FFF73BF90AE004F108000FC88DE850 +:105590000F00D4E9002349462846FFF72FF90022DF +:1055A0002946404602F022FE2F73BDE8FF872DE911 +:1055B000F041058A80462D1F4819C01CB0FBF5F04C +:1055C000C6B24046FCF786FC041E19D000202071AC +:1055D00001206071E58000272546761EC4F8008012 +:1055E0000BE04046FCF776FC60B16179491C6171C3 +:1055F000286005467F1CC0F80080B742F1D32046E2 +:10560000BDE8F081204600F002F80020F8E72DE91F +:10561000F041457901466B1E002201E00968521CE9 +:105620009A42FBD30F680146002605E038460C6815 +:10563000FCF7B2FC2146761CAE42F7D3BDE8F08100 +:105640000121001DFCF71EBCFCF7EABC10B50446A6 +:105650000121001DFCF737FC10F0FF0F04D120469C +:10566000BDE81040FFF7D3BF10BD00001CB51446C5 +:105670000122CDE9002401AAFCF772FB0198A042A7 +:1056800003D002A1DA20FAF7ABFA1CBD2E2E5C2E55 +:105690002E5C2E2E5C2E2E5C2E2E5C636F6D706F3A +:1056A0006E656E74735C6C69627261726965735C5D +:1056B0006D656D6F626A5C6E72665F6D656D6F625F +:1056C0006A2E63001CB514460022CDE9002401AA0D +:1056D000FCF746FB0198A04203D002A1D020FAF7C4 +:1056E0007FFA1CBD2E2E5C2E2E5C2E2E5C2E2E5C88 +:1056F0002E2E5C636F6D706F6E656E74735C6C697B +:10570000627261726965735C6D656D6F626A5C6E11 +:1057100072665F6D656D6F626A2E630009490222D1 +:105720000A60BFF36F8FBFF34F8F0A1D10600648EA +:105730000268002AFCD000200860BFF36F8FBFF31F +:105740004F8F704704E5014000E40140094A0123FE +:105750001360BFF36F8FBFF34F8F0160064801687E +:105760000029FCD000201060BFF36F8FBFF34F8F74 +:105770007047000004E5014000E4014070B50E4CA4 +:1057800001232360BFF36F8FBFF34F8F00230B4DB7 +:1057900008E000BF51F8236040F823602E68002E17 +:1057A000FCD05B1C9342F5D300202060BFF36F8FC9 +:1057B000BFF34F8F70BD000004E5014000E40140DD +:1057C00008B500F1804001460068002220B10120A8 +:1057D0000A600968009108BD104608BD8268002172 +:1057E000916082681161826851618268D1608268CB +:1057F000516080680160704708B5002242504058EF +:10580000009008BD0C4A10B502F58C730EE0991A91 +:10581000C91001EBD171491002EBC1010C6884423F +:1058200001D90B4602E005D201F108029A42EED3FB +:10583000002010BD486810BD84A90F0000B5FFF717 +:10584000E1FF002800D1014800BD000070A90F0051 +:1058500010B504F029FB8020FBF74AFD817B012471 +:10586000032902D00068002809D18020FBF72AFD17 +:105870008440E143BDE81040014800F0EFB910BD9D +:10588000B000002030B5050600F00F030E4C03EB0E +:10589000830004EB80000AD5082B03D30B4801607A +:1058A000001D09E0C0F80016C0F8042630BD082B22 +:1058B00004D307480160001D026030BDC0F8001726 +:1058C000C0F8042730BD000000700240A0760240FE +:1058D000A077024010B5044600F00F00092804D359 +:1058E0000BA140F29140FAF77BF921064FF001003D +:1058F00004F00F0200FA02F001D5104901E00F494F +:10590000091D0968014201D0012010BD002010BD11 +:105910002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6D82 +:105920006F64756C65735C6E7266785C68616C2F11 +:105930006E72665F757362642E68000010750240B7 +:1059400070B50446000604D415A14FF46470FAF74C +:1059500047F904F00F00082804D311A140F2913058 +:10596000FAF73EF9200704D10DA140F29230FAF780 +:1059700037F904F099FA2046FBF7BAFC817B012540 +:10598000032902D00068002809D12046FBF79AFCC1 +:105990008540E943BDE870400E4800F05FB970BD36 +:1059A0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6DF2 +:1059B0006F64756C65735C6E7266785C6472697630 +:1059C0006572735C7372635C6E7266785F75736226 +:1059D000642E6300B000002038B50446000604D4ED +:1059E0001B4940F2AE30FAF7FBF804F00F0008282C +:1059F00004D2174940F2AF30FAF7F2F804F054FA43 +:105A00002046FBF775FC817B0125032915D0006832 +:105A1000002811D12046FBF755FC8540E9430D488D +:105A200000F01CF90C480B49806800900C398DF887 +:105A3000024049686846884738BD2046FBF742FC6B +:105A40008540E943BDE83840024800F007B900004E +:105A50004CA00F00B000002028A70F0070B505462D +:105A6000000605F00F0402D5092C09D301E0092C2A +:105A70000BD30E4940F24B40FAF7B2F8280604D592 +:105A80000A4940F24C40FAF7ABF8082C04D2074917 +:105A900040F24D40FAF7A4F80548006818B1C10378 +:105AA00000D5002070BD4FF0FF3070BD1C6E0F00A0 +:105AB000C074024038B50446000604D51FA140F268 +:105AC000EE30FAF78DF804F00F00082804D31BA17C +:105AD00040F2EF30FAF784F8200704D117A14FF411 +:105AE0007C70FAF77DF804F0DFF92046FBF700FC44 +:105AF000817B0125032902D0006848B11AE02046C5 +:105B0000FBF7E0FB8540E943194800F0A7F811E0F6 +:105B10002046FBF7D7FB8540E943154800F09EF887 +:105B200014481349006900900C398DF80240496807 +:105B300068468847BDE8384004F0C4B92E2E5C2E74 +:105B40002E5C2E2E5C2E2E5C2E2E5C6D6F64756C82 +:105B500065735C6E7266785C647269766572735C9C +:105B60007372635C6E7266785F757362642E630035 +:105B7000B000002028A70F0070B50546000605F00C +:105B80000F0402D5092C09D301E0092C0BD30D49D0 +:105B900040F23940FAF724F8280604D5094940F2C2 +:105BA0003A40FAF71DF8082C05D307480068C103EE +:105BB00000D5002070BD054901EB8400D0F8A00499 +:105BC00070BD00001C6E0F00C074024000700240E7 +:105BD00002494058002800D0012070470070024060 +:105BE00010B50446FFF7F4FF002806D00349002251 +:105BF0006250BFF36F8FBFF34F8F10BD0070024034 +:105C000003490860BFF36F8FBFF34F8F70470000E9 +:105C10000074024002480068002800D0012070474C +:105C20002C7502400449084401210160BFF36F8FC5 +:105C3000BFF34F8F704700000070024002480068B9 +:105C4000002800D00120704700040140024800688D +:105C5000002800D0012070470004014008B56A46C2 +:105C6000F6F7F1FA08BD0000084810B5007918B938 +:105C700007A19720F9F7B4FF00F0FEF812490120C0 +:105C800008600249091F087010BD00008400002050 +:105C90002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6DFF +:105CA0006F64756C65735C6E7266785C647269763D +:105CB0006572735C7372635C6E7266785F636C6F3F +:105CC000636B2E630000000018050040084810B503 +:105CD000007918B907A1DC20F9F782FF4FF4807032 +:105CE000FCF7A5FD01208107C1F80403086010BD81 +:105CF000840000202E2E5C2E2E5C2E2E5C2E2E5C20 +:105D00002E2E5C6D6F64756C65735C6E7266785C6C +:105D1000647269766572735C7372635C6E726678C6 +:105D20005F636C6F636B2E630000000010B50E4C58 +:105D3000207918B90DA1E420F9F752FF012081075D +:105D4000C1F808030002FCF772FD16490120086043 +:105D500015484FF00111026802F001128A42FAD090 +:105D60000020607110BD0000840000202E2E5C2EEB +:105D70002E5C2E2E5C2E2E5C2E2E5C6D6F64756C50 +:105D800065735C6E7266785C647269766572735C6A +:105D90007372635C6E7266785F636C6F636B2E63A5 +:105DA00000000000040000400C04004010B5040096 +:105DB00003D108A17E20F9F713FF144900200A79C6 +:105DC0000AB1852010BD01220C600A7100224A71BF +:105DD00010BD00002E2E5C2E2E5C2E2E5C2E2E5C16 +:105DE0002E2E5C6D6F64756C65735C6E7266785C8C +:105DF000647269766572735C7372635C6E726678E6 +:105E00005F636C6F636B2E630000000084000020F2 +:105E100070B54FF480763046FCF702FD114CB505A5 +:105E200060B13046FCF703FD0120C5F80803607936 +:105E300020B9012060712168002088474FF48276E4 +:105E40003046FCF7EDFC00280AD03046FCF7EFFCAA +:105E50000220C5F808032168BDE87040012008470A +:105E600070BD0000840000200121B1EB507F01D102 +:105E7000012070470020704706480068012110F09B +:105E8000010F06D14FF0E020C02280F800248430BA +:105E9000C167704700E100E006480068012110F08A +:105EA000010F06D14FF0E020C02280F8002484309A +:105EB000C167704700E100E070B5040003D10DA197 +:105EC0004A20F9F78DFE194D287808B1852070BD5C +:105ED00020781749C0F34000086015492078083938 +:105EE00000F001000860FFF7D7FF012028700020B4 +:105EF00070BD00002E2E5C2E2E5C2E2E5C2E2E5C95 +:105F00002E2E5C6D6F64756C65735C6E7266785C6A +:105F1000647269766572735C7372635C6E726678C4 +:105F20005F706F7765722E63000000008C000020A8 +:105F30008005004070B54FF08040D0F80453344CD9 +:105F400068070CD54FF48470FFF73AFC38B16068ED +:105F500018B930A1F020F9F743FE60688047A80621 +:105F60000DD54FF48A70FFF72BFC40B1A06818B92B +:105F700028A1F920F9F734FEA168002088476806B7 +:105F80000ED54FF48C70FFF71BFC48B1A06820B908 +:105F900020A14FF48070F9F723FEA1680120884703 +:105FA00028060ED54FF48E70FFF70AFC48B1E06862 +:105FB00020B918A140F20910F9F712FEE16800209B +:105FC0008847E8050ED54FF49070FFF7F9FB48B10C +:105FD000E06820B90FA14FF48870F9F701FEE1687D +:105FE00001208847A80511D54FF49270FFF7E8FB10 +:105FF00000280BD0E06820B906A140F21710F9F78D +:10600000EFFDE168BDE870400220084770BD000068 +:106010008C0000202E2E5C2E2E5C2E2E5C2E2E5CF4 +:106020002E2E5C6D6F64756C65735C6E7266785C49 +:10603000647269766572735C7372635C6E726678A3 +:106040005F706F7765722E63000000004FF0804133 +:106050004FF46070C1F8080370474FF080414FF46F +:106060006070C1F80403704710B5040003D106A1A5 +:10607000C720F9F7B5FD12480021C1602168002949 +:1060800000D0C16010BD00002E2E5C2E2E5C2E2E86 +:106090005C2E2E5C2E2E5C6D6F64756C65735C6E71 +:1060A0007266785C647269766572735C7372635C45 +:1060B0006E7266785F706F7765722E630000000005 +:1060C0008C00002001490020C86070478C0000202F +:1060D00003490248C1F8040370470000041480011A +:1060E000007002402DE9F0411D46174606460C4659 +:1060F000AA4204D213A14FF4D670F9F771FD2068BB +:1061000038B1FFF7B1FE20B90EA140F2AD10F9F79A +:1061100067FD6068A84204D2002171602168316087 +:1061200007E075602168401B316060602168294488 +:106130002160AF4203D110B10120BDE8F081002001 +:10614000FBE700002E2E5C2E2E5C2E2E5C2E2E5C8D +:106150002E2E5C6D6F64756C65735C6E7266785C18 +:10616000647269766572735C7372635C6E72667872 +:106170005F757362642E630010B50D4C207820B9F2 +:106180000CA140F2CC60F9F72BFD00F083FD16491D +:10619000D1F80403C1F80803144900200860BFF3D4 +:1061A0006F8FBFF34F8F03F07FFE0120207010BD73 +:1061B000A40000202E2E5C2E2E5C2E2E5C2E2E5C3B +:1061C0002E2E5C6D6F64756C65735C6E7266785CA8 +:1061D000647269766572735C7372635C6E72667802 +:1061E0005F757362642E63000070024000750240A8 +:1061F00070B51F4C2078012804D01EA140F28D609C +:10620000F9F7EEFC4FF40060FFF7FAFC03F038FFFB +:1062100000F007FB08B104F051F84FF08050002562 +:10622000D0E94C1008290AD11F4940F2E3700860F8 +:106230004020091D0860BFF36F8FBFF34F8F1B49CC +:1062400080200860194900201431086040F2FF10D6 +:10625000C4E9020503F028FEA5700220207000F0BA +:10626000E0FA002803D0BDE8704004F041B870BDEA +:10627000A40000202E2E5C2E2E5C2E2E5C2E2E5C7A +:106280002E2E5C6D6F64756C65735C6E7266785CE7 +:10629000647269766572735C7372635C6E72667841 +:1062A0005F757362642E6300007802401C750240C3 +:1062B00003F030BF70B5054603F02CFF2846FBF70E +:1062C0004DF8044600F00F00092804D30E4940F2AF +:1062D000B140F9F785FC04F00F0122064FF00100F0 +:1062E00001D50A4A01E0094A121D13688840834318 +:1062F0001360BFF36F8FBFF34F8F284600F0B8F9DC +:106300000349C1F8080370BD1C6E0F0010750240F0 +:106310000070024070B5010600F00F050446092D1B +:1063200004D30C4940F27D40F9F75AFC082D04D300 +:10633000084940F27E40F9F753FC07480460BFF378 +:106340004F8F44F480710160BFF36F8FBFF34F8FA5 +:1063500070BD00001C6E0F000C75024070B5054644 +:1063600000F086F92149C1F804032846FFF7B2FA84 +:1063700000283AD12846FAF7F1FF044600F00F0052 +:10638000092804D31A494FF49460F9F729FC04F062 +:106390000F0021064FF0010401D5164901E015490F +:1063A000091D0A6804FA00F002430A60BFF36F8F08 +:1063B000BFF34F8F280718D0280616D405F00F001A +:1063C000082812D20020F9F79DFB284600F0DAFCDD +:1063D0002846FAF777FF84400748C168A143C160A7 +:1063E000BDE870400020F9F7BBBB70BD00700240F3 +:1063F0001C6E0F0010750240A400002010B5FAF7C3 +:10640000ADFFBDE81040FFF765BA00002DE9F0418F +:106410000E460746FAF756FF054626B918A140F67C +:106420003800F9F7DDFB0020F9F76CFB214C380749 +:1064300004D1A078874201D010241BE02089E168B4 +:10644000C04380B20843012101FA05F5284201D07A +:1064500011240FE03846FAF74BFF002181603268C3 +:106460000260726842608173E0680543E5600C4633 +:1064700003F088FF0020F9F773FB2046BDE8F081A8 +:106480002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6D07 +:106490006F64756C65735C6E7266785C6472697645 +:1064A0006572735C7372635C6E7266785F7573623B +:1064B000642E6300A400002010B5FAF719FF80894C +:1064C00010BD000070B505460C46C80704D014A1E5 +:1064D00040F27970F9F784FB05F00F015CB10829EF +:1064E00012D31C480068C1B280290AD04FF48060E2 +:1064F000A04210D20AE00829F3D209A140F27B7031 +:1065000007E04FF40070F3E7402C04D904A140F2F7 +:106510007D70F9F765FB2846FAF7EAFE848170BDC5 +:106520002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6D66 +:106530006F64756C65735C6E7266785C64726976A4 +:106540006572735C7372635C6E7266785F7573629A +:10655000642E63001C75024010B5FAF7FFFE044676 +:1065600000F00F00082804D3064940F2CA40F9F7AA +:1065700037FB054944F480700860BFF36F8FBFF3A9 +:106580004F8F10BD1C6E0F001875024010B5FAF742 +:10659000E5FE00F00F01082901D3002010BD02061E +:1065A000054800EB810002D5D0F8200401E0D0F8C6 +:1065B00044040128F1D110BD0070024010B504461A +:1065C000000606D42046FFF7E1FF10B1204600F098 +:1065D000D9FB2046FAF7C2FE044600F00F00082857 +:1065E00004D3064940F2D240F9F7FAFA04480460AD +:1065F000BFF36F8FBFF34F8F10BD00001C6E0F00F5 +:106600001875024070B50446000604F00F0502D567 +:10661000092D09D301E0092D08D307A14FF4A67075 +:10662000F9F7DEFA200601D5104801E00F481230D4 +:1066300030F8150070BD00002E2E5C2E2E5C2E2E24 +:106640005C2E2E5C2E2E5C6D6F64756C65735C6EBB +:106650007266785C647269766572735C7372635C8F +:106660006E7266785F757362642E6300C0A70F0058 +:1066700070B50546000605F00F0402D5092C09D3B4 +:1066800001E0092C08D307A140F27510F9F7A8FA28 +:10669000280601D5104801E00F480930015D0120AE +:1066A000884070BD2E2E5C2E2E5C2E2E5C2E2E5C15 +:1066B0002E2E5C6D6F64756C65735C6E7266785CB3 +:1066C000647269766572735C7372635C6E7266780D +:1066D0005F757362642E6300E4A70F002DE9F0413B +:1066E0000D460646FAF7EEFD044625B930A14FF4F3 +:1066F000F960F9F775FA0020F9F704FA394831071B +:1067000004D181788E4201D0102438E0018980467E +:10671000C943C06889B201270143A740394201D06B +:1067200011242CE03046FAF7E3FD044606F00F0092 +:10673000310600EB40002AD52B4901EB8006286882 +:10674000FFF792FB0028287A4FEAC07004D008B106 +:10675000264803E0264801E0B8B12648206095E8C5 +:10676000070086E807000020C4E90160A073D8F89C +:106770000C1004460F43C8F80C7003F003FE002011 +:10678000F9F7EEF92046BDE8F0811B48E6E7164927 +:106790006C3101EB8006286838B1FFF765FB20B942 +:1067A00003A140F62200F9F71BFA1448D6E70000CF +:1067B0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6DD4 +:1067C0006F64756C65735C6E7266785C6472697612 +:1067D0006572735C7372635C6E7266785F75736208 +:1067E000642E6300A400002068250020016A0F00C9 +:1067F00089690F00ED680F0059680F00E5600F0010 +:1068000010B5FAF7ABFDBDE81040FFF7B5B94FF092 +:106810008051D1E94C01082801D0002070470120A7 +:1068200070474FF08050D0E94C210020082A03D156 +:106830000122002900D9104670474FF08051D1E95C +:106840004C01082801D0002070470120704700004B +:1068500000487047402600202DE9F041804616464A +:106860000C460868FFF700FB20B112A140F212208D +:10687000F9F7B6F965681C4FB54200D93546402D89 +:1068800004D90CA14FF40770F9F7AAF92A46384643 +:106890002168F5F7C9FDC8E900756068401B6060B4 +:1068A0002068284420606068002800D00120BDE8EE +:1068B000F08100002E2E5C2E2E5C2E2E5C2E2E5C87 +:1068C0002E2E5C6D6F64756C65735C6E7266785CA1 +:1068D000647269766572735C7372635C6E726678FB +:1068E0005F757362642E6300402600202DE9F0413D +:1068F000064690460D460868FFF7B6FA20B114A187 +:1069000040F23520F9F76CF96C681E4F404644455B +:1069100000D90446402C04D90DA140F23F20F9F7DC +:106920005FF934B1224638462968F5F77DFD3760B6 +:1069300001E00020306074606868001B68602868AF +:106940002044286014B10120BDE8F0810020FBE75D +:106950002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6D32 +:106960006F64756C65735C6E7266785C6472697670 +:106970006572735C7372635C6E7266785F75736266 +:10698000642E6300402600202DE9F041074616469C +:106990000C460868FFF768FA20B90CA140F2D31042 +:1069A000F9F71EF96568B54200D935462068C7E990 +:1069B00000056068401B60602068284420606068B3 +:1069C000002800D00120BDE8F08100002E2E5C2EB2 +:1069D0002E5C2E2E5C2E2E5C2E2E5C6D6F64756CE4 +:1069E00065735C6E7266785C647269766572735CFE +:1069F0007372635C6E7266785F757362642E630097 +:106A00002DE9F041074616460C460868FFF72CFAB8 +:106A100020B910A14FF4FA70F9F7E2F86568B542B1 +:106A200000D93546002D0FD0D4F80000C7E9000585 +:106A30006068A0EB0500606020682844206006D0F4 +:106A40004FF00100BDE8F0814FF00000EEE74FF09D +:106A50000000F7E72E2E5C2E2E5C2E2E5C2E2E5C78 +:106A60002E2E5C6D6F64756C65735C6E7266785CFF +:106A7000647269766572735C7372635C6E72667859 +:106A80005F757362642E630001490020487070478F +:106A9000A40000202DE9F041040004D11FA140F220 +:106AA0005F60F9F79DF82A49087810B10820BDE821 +:106AB000F0814C6001200024087046024FEA040572 +:106AC00044F0800707F00F00082801D3314600E0AA +:106AD00040213846FFF7F6FC3846FAF709FC857383 +:106AE000641C0560E4B28560092CE9D35FF0000402 +:106AF00004F00F00082801D3314600E04021204671 +:106B0000FFF7E0FC2046FAF7F3FB8573641C056091 +:106B1000E4B28560092CEBD30020C8E72E2E5C2E52 +:106B20002E5C2E2E5C2E2E5C2E2E5C6D6F64756C92 +:106B300065735C6E7266785C647269766572735CAC +:106B40007372635C6E7266785F757362642E630045 +:106B5000A400002003480078022801D301207047D8 +:106B600000207047A400002002480078002800D0D0 +:106B700001207047A400002010B5FFF7EBFF28B1FB +:106B80002720F7F7A7F908B1012010BD002010BD9C +:106B90000148807870470000A40000205020FFF7D3 +:106BA00041B84C20FFF73EB8002101604160114917 +:106BB000096801700F49091D096841700D490831C4 +:106BC00009680C4A0C32126841EA022141800949E5 +:106BD00010310968074A1432126841EA02218180A3 +:106BE000044918310968034A1C32126841EA02213B +:106BF000C1807047807402405420FFF713B8000032 +:106C000070B5114D04462878022804D00FA140F237 +:106C1000E160F8F7E5FF00206870194904B11949EF +:106C20001948C0F804131949C02081F80004174A14 +:106C300001208021233AC2F8001115490860BFF3F2 +:106C40006F8FBFF34F8F70BDA40000202E2E5C2EDF +:106C50002E5C2E2E5C2E2E5C2E2E5C6D6F64756C61 +:106C600065735C6E7266785C647269766572735C7B +:106C70007372635C6E7266785F757362642E630014 +:106C80000714C0010714E0010070024027E000E093 +:106C90000475024070B513480078022804D012A190 +:106CA0004FF4E060F8F79CFF1C4D8024C5F880424B +:106CB0002720F7F70FF9002812D003F0ABFA184994 +:106CC00000200860BFF36F8FBFF34F8FC5F880417E +:106CD000BFF34F8FBFF36F8F1249401EC1F80803F7 +:106CE00070BD0000A40000202E2E5C2E2E5C2E2EE7 +:106CF0005C2E2E5C2E2E5C6D6F64756C65735C6E05 +:106D00007266785C647269766572735C7372635CD8 +:106D10006E7266785F757362642E630004E000E053 +:106D2000047502400070024010B500242046F8F7B8 +:106D3000E9FE0C48407878B103F06CFA0A48016823 +:106D4000890509D4094901220A600068800502D535 +:106D50000020086000E001240020F8F701FF204631 +:106D600010BD0000A4000020007402402C750240F9 +:106D700003490248C1F80803704700000414800169 +:106D80000070024070B50446000604D515A140F617 +:106D9000B900F8F725FF0020F8F7B4FE2046FAF70F +:106DA00091FA012181401C4804F00F0582688A4352 +:106DB0008260082D10D2200604D518A140F25D4053 +:106DC000F8F70EFF204A002002EB8501C1F8A0046D +:106DD000BFF36F8FBFF34F8FBDE870400020F8F70F +:106DE000BFBE00002E2E5C2E2E5C2E2E5C2E2E5C46 +:106DF0002E2E5C6D6F64756C65735C6E7266785C6C +:106E0000647269766572735C7372635C6E726678C5 +:106E10005F757362642E6300A40000202E2E5C2E2A +:106E20002E5C2E2E5C2E2E5C2E2E5C6D6F64756C8F +:106E300065735C6E7266785C68616C2F6E72665FFB +:106E4000757362642E6800000070024010B5064C35 +:106E50002078012804D005A140F28460F8F7C0FE34 +:106E600000206060207010BDA40000202E2E5C2E3B +:106E70002E5C2E2E5C2E2E5C2E2E5C6D6F64756C3F +:106E800065735C6E7266785C647269766572735C59 +:106E90007372635C6E7266785F757362642E6300F2 +:106EA00010B500242046F8F72DFE0F48407880B139 +:106EB000FEF7B0FE68B10D49002008600124FFF71D +:106EC000A6FC30B10A490B68094AC02014322BB124 +:106ED00010600020F8F744FE204610BD49F27533DB +:106EE0000B6010600B60F4E7A40000202C750240DA +:106EF00000EC064003490860034801680029FCD003 +:106F00007047000004E5014000E4014070B50C4604 +:106F1000050003D10E49DE20F8F762FE1CB90C49CA +:106F2000DF20F8F75DFE0B480B49401AC00804212A +:106F300001EB004009A1FEF711FA13490320C968CB +:106F400088476869FDF7D4F8FAF7D9FB607070BD1F +:106F500000AE0F00E8B90F00D8B90F0048616E64A9 +:106F60006C65204E52465F4446555F4F505F4F421E +:106F70004A4543545F4352454154452028636F6D51 +:106F80006D616E64290000005800002070B50D4648 +:106F900020B916494FF48370F8F722FE25B913493A +:106FA00040F20710F8F71CFE11481249401AC108B8 +:106FB000042000EB014004460FA1FEF7CFF9194968 +:106FC000081FFDF7AFF8FAF79AFB6870012805D1A2 +:106FD0000020FCF713FE10B10A20687070BD204637 +:106FE000BDE8704010A1FEF7B9B9000000AE0F0077 +:106FF000E8B90F00D8B90F0048616E646C65204E87 +:1070000052465F4446555F4F505F4F424A45435496 +:107010005F455845435554452028636F6D6D616E3B +:10702000642900006000002057726974696E67204F +:1070300076616C696420696E697420636F6D6D613F +:107040006E6420746F20666C6173682E000000000F +:1070500070B50D46040003D11849EC20F8F7C0FDC7 +:10706000206918B91549ED20F8F7BAFDA08A18B9BA +:107070001249EE20F8F7B4FD1DB91049EF20F8F7DA +:10708000AFFD0F480F49401AC008042101EB004032 +:107090000DA1FEF763F9A18A2069FCF7E5FFFAF775 +:1070A0002EFB68702846F9F70BFEE168002903D033 +:1070B0002069BDE87040084770BD000000AE0F00B9 +:1070C000E8B90F00D8B90F0048616E646C65204EB6 +:1070D00052465F4446555F4F505F4F424A454354C6 +:1070E0005F57524954452028636F6D6D616E642966 +:1070F0000000000070B50E460B480C49401AC1084C +:10710000042000EB01440AA12046FEF727F9114DA7 +:10711000204611A1AB6C2A6DFEF72BF9A86CB0606C +:10712000286D706070BD0000E8B90F00D8B90F007D +:1071300048616E646C65204E52465F4446555F4F11 +:10714000505F4352435F474554202864617461296E +:1071500000000000C01C00204F66667365743A256D +:10716000642C204352433A307825303878000000B0 +:107170002DE9F84F0D460746374838494FF00409C6 +:10718000401AC40809EB0440064635A1FEF7E6F8AC +:10719000FDF73AF8012101EB04444FF0080AA8B1C9 +:1071A0007A694FF00308B2B137493848130515D052 +:1071B000436DD1F808C0134463450FD0204634A175 +:1071C000FEF7CCF885F80180BDE8F88F204639A19C +:1071D000FEF7C4F819E0204644A1F1E7B2F5805F5C +:1071E00006D9204648A1FEF7B9F885F80190EBE7EB +:1071F000436DD1F808C003EB0208E04508D92046EA +:107200004A49CDF800C0FEF7BCF885F801A0DBE7DD +:107210004264C26C0365036380468264786900221D +:1072200000F6FF70070B486839461844FBF7AEFFBD +:1072300030B120463EA1FEF791F805206870C3E703 +:10724000D8F84810009130463FA1D8F85030D8F80F +:107250004420FEF796F8B7E7E8B90F00D8B90F0059 +:1072600048616E646C65204E52465F4446555F4FE0 +:10727000505F4F424A4543545F4352454154452075 +:10728000286461746129000058000020C01C00209F +:107290004F626A6563742073697A65206D757374D3 +:1072A000206265207061676520616C69676E656446 +:1072B0000000000043616E6E6F742063726561743C +:1072C000652064617461206F626A65637420776908 +:1072D00074686F75742076616C696420696E697476 +:1072E00020636F6D6D616E64000000004F626A651F +:1072F00063742073697A652063616E6E6F742062B7 +:107300006520302E00000000496E76616C696420B3 +:1073100073697A6520666F72206F626A6563742094 +:1073200028746F6F206C6172676529008CAD0F0047 +:107330004572617365206F7065726174696F6E204C +:107340006661696C656400004372656174696E67AB +:10735000206F626A65637420776974682073697A44 +:10736000653A2025642E204F66667365743A203096 +:1073700078253038782C204352433A203078253015 +:10738000387800002DE9F0410E46074615481649A9 +:10739000401AC508042000EB054014A1FDF7DEFFEC +:1073A0001C4CD4E91401626C431A9A420AD00120A1 +:1073B00000EB054018A1FDF7DCFF082070700120EC +:1073C000BDE8F08100216164A16CE1646065002189 +:1073D000384600F035F819490420C968884700206C +:1073E000EEE70000E8B90F00D8B90F0048616E64FD +:1073F0006C65204E52465F4446555F4F505F4F428A +:107400004A4543545F4558454355544520286461D7 +:1074100074612900C01C0020496E76616C6964208B +:10742000646174612E2065787065637465643A20C8 +:1074300025642C20676F743A2025640058000020D2 +:10744000F0B5044687B00020FDF7FEFB010025489B +:10745000254A4FF00107A0EB02004FEAD0050AD001 +:10746000224A18212046F7F787F9020037D007EBA8 +:1074700005401FA131E0182228496846F4F7D4FFDF +:107480002748284E184B174D016DEB1A0420DB08D6 +:10749000B26800EB0345914215D1284622A1FDF7C1 +:1074A0005DFFD6E90101FCF7BBFC8DF80100FAF79E +:1074B00026F98DF80100D4E9011268469047264864 +:1074C000FCF79CFB05E08DF80170D4E901126846D9 +:1074D00090479DF80120284620A1FDF743FF07B003 +:1074E000F0BD0000E8B90F00D8B90F0041740F00DB +:1074F0004661696C656420746F20736368656475A8 +:107500006C65206F626A6563742065786563757465 +:10751000653A20307825782E00000000F0A60F0094 +:10752000C01C00205800002057686F6C65206669F9 +:10753000726D7761726520696D6167652072656340 +:1075400065697665642E20506F737476616C69642A +:107550006174696E672E000015770F0052657175B2 +:107560006573742068616E646C696E6720636F6D0B +:10757000706C6574652E20526573756C743A20309A +:107580007825780038B50D460C480D49401AC108D9 +:10759000042000EB014004460AA1FDF7DFFE13487A +:1075A00013A1826CAA60036D4FF480506B60E86099 +:1075B00000902046FDF7E5FE38BD0000E8B90F0059 +:1075C000D8B90F0048616E646C65204E52465F4426 +:1075D00046555F4F505F4F424A4543545F53454CB9 +:1075E000454354202864617461290000C01C0020B8 +:1075F000637263203D20307825782C206F66667397 +:107600006574203D20307825782C206D61785F737B +:10761000697A65203D203078257800002DE9F04119 +:107620000E46044626482749401AC708042000EBA6 +:10763000074025A1FDF792FEFCF7E6FD90B12C4D29 +:10764000D5E91401401AA18A6A6C084490420BD90A +:10765000012000EB074027A1FDF780FE032070709A +:10766000BDE8F0810820FAE7284A286B526800EB51 +:1076700002081F4A20694832F9F73EFB0746E068D6 +:1076800020B923494FF4E570F8F7AAFAD4E9033199 +:10769000A28A4046FBF712FE20B1D4E90310BDE8F0 +:1076A000F0410847A18A286B08442863A18A286D05 +:1076B000AF6408442865B760286D7060D0E70000AB +:1076C000E8B90F00D8B90F0048616E646C65204EB0 +:1076D00052465F4446555F4F505F4F424A454354C0 +:1076E0005F575249544520286461746129000000A5 +:1076F000C01C0020577269746520726571756573CE +:107700007420746F6F206C6F6E670000580000204B +:1077100000AE0F000848094910B5401AC0080421FE +:1077200001EB004006A1FDF719FE12490620C968C9 +:10773000BDE8104008470000E8B90F00D8B90F00B5 +:10774000416C6C20666C617368206F706572617447 +:10775000696F6E73206861766520636F6D706C650C +:107760007465642E2044465520636F6D706C65749B +:1077700065642E0058000020FDF7A8FEFDF77EFC92 +:107780000028FBD10D4E64254FF47A47741C38460F +:10779000A0476D1EFAD10A480068C00700D000BE9D +:1077A000BFF34F8F0648E4380168064A01F4E061F0 +:1077B00011430160BFF34F8F00BFFDE7E0A40F004E +:1077C000F0ED00E00400FA052DE9F0410C46064614 +:1077D0002C482D49401AC108042000EB01452BA17B +:1077E0002846FDF7BBFD327C284631A1FDF7BAFDE6 +:1077F0004FF44050364B426801214FF0020E9A423E +:1078000000D10221334F3A6A012A00D1491C4FF0BE +:10781000010C84F801C0327C1AB10026012A09D07B +:107820001BE084F804E0F868A0602B48E060C0F535 +:107830007E200FE0D0F804E09E450ED1267101783D +:10784000142901D9416900E00021A1604FF4805161 +:10785000E16080682061BDE8F0818A4208D284F846 +:1078600004C0B868A060FBF7EDF9E060B869F1E723 +:1078700028461AA1FDF772FDFF202071A660E66080 +:107880002661E8E7E8B90F00D8B90F0048616E64D7 +:107890006C65204E52465F4446555F4F505F4649E7 +:1078A000524D574152455F56455253494F4E000085 +:1078B0004669726D7761726520696D6167652072D6 +:1078C00065717565737465643A2025640000000075 +:1078D000DBE5B151C01C002000C00E004E6F2073CC +:1078E000756368206669726D7761726520696D6184 +:1078F000676500002DE9F047894682461A481B4912 +:107900000024401A1746DFF85C80C6081EE000BF5E +:1079100019F80410134801F0FFFCB0B9D8E90112BE +:107920005046FBF74BFF1248FAF7D4FA050011D086 +:10793000042000EB06402A460EA1FDF713FD0021AE +:10794000ED1CC8E9015188F80010641CBC42DFD36B +:10795000BDE8F087012000EB0640BDE8F0470AA132 +:10796000FDF7FCBC7C92002068BA0F00D8B90F006C +:1079700084BA0F00416C6C6F63617465642062753A +:1079800066666572202578004661696C65642074BE +:107990006F20616C6C6F63617465206275666665EB +:1079A00072210000011F0148FAF7F6BA84BA0F00ED +:1079B000F8B50D4614460646694600F057FA002809 +:1079C0000FD0009BB3F5803F0AD2981C834207D8A2 +:1079D000A9780222B2EB911F02D02989814201D2FB +:1079E0000020F8BD2380A11C3046009A00F094FBD3 +:1079F000F8BD114600F0D6B8114600F0E3B8F8B56E +:107A00000C4615460646694600F030FA00280CD0B0 +:107A1000009A501C904207D3A1780223B3EB911F28 +:107A200002D02189814201D20020F8BD294630468A +:107A300000F072FB009A0021A954F8BD2DE9FF4126 +:107A40000C46CE6817460546694600F037FB00280D +:107A50000ED0E06800280BD0A0783A46C0F30110A1 +:107A600002283146684606D000F0DAF801996960CC +:107A700004B0BDE8F08100F086F8F7E77CB50D466C +:107A80001446694600F08FF9002820D0288908287C +:107A900006D0042809D002280AD001280CD015E00D +:107AA000DDE90001C4E900010AE00098206006E079 +:107AB000009800B2208002E0009840B22070C11708 +:107AC000DDE9002350405940084301D000207CBD2F +:107AD00001207CBD7CB50D461446694600F0A1F935 +:107AE000002820D02889082807D00021042809D0A0 +:107AF00002280AD001280CD014E0DDE90001C4E915 +:107B0000000109E00098206006E0009880B2208023 +:107B100002E00098C0B22070DDE9002350405940D7 +:107B2000084301D000207CBD01207CBD7CB50D4602 +:107B30001446694600F075F9002821D029890829E2 +:107B400008D00098C21704290BD002290DD00129B2 +:107B50000ED014E0DDE90002C4E90002014613463C +:107B600009E0C3170146206005E001B2218001E071 +:107B700041B22170CB1741405340194301D000203E +:107B80007CBD01207CBD70B50D46064614461146ED +:107B9000284600F0AEFA224629463046BDE870403D +:107BA00000F03EB838B50C460422694600F0B4FA3D +:107BB000002806D09DF80310009861F31F60206034 +:107BC000012038BD1CB50C460822694600F0A4FA15 +:107BD000002824D09DF801109DF800209DF8023067 +:107BE000080E42EA012242EA034240EA13409DF8AD +:107BF00003309DF8041040EA132008439DF8051057 +:107C000042EA036240EA01209DF8061040EA014082 +:107C10009DF8071040EA0160C4E9002001201CBD66 +:107C20002DE9F04F04469DB00020009006460190DB +:107C30004FF0FF3A0AA800F07DF94FF0010BE9463A +:107C400082E012AB05AA06A9204600F0C9F850B19F +:107C50000AA8059900F07FF960B10B98807810F0C0 +:107C6000300F53D060E09DF84800002870D11DB05F +:107C7000BDE8F08F0598B04242D30B9D0AAE0B9839 +:107C8000807800F00F00082812D0304600F07AF912 +:107C90000B98A842F3D156460599B14230D3D4F897 +:107CA000088009919DF8181008910E990D6820E040 +:107CB0000B980688F0E729680F682FB1DDE90832D4 +:107CC00029462046B84711E011948968DDE9087219 +:107CD000098891420CD1294617A8F9F758FF85F871 +:107CE0000CB017AA39461198F9F7C9F80028BED088 +:107CF000AD6815B1A1684145DDD0A168414523D1EA +:107D00009DF81810204600F043FA1BE00C9840281C +:107D10000AD200F01F010BFA01F00C994A0959F838 +:107D20002230034349F82230E5682DB10AAB9DF8B3 +:107D3000182020460599A8470AAA9DF81810204641 +:107D4000F9F79DF8002892D0A06800287FF479AF59 +:107D5000DDE90B0485780AA800F014F90028F7D1B2 +:107D600015F0300F03D10B98008800B1641CC4B12A +:107D70000020494605E000BF51F82020521C0ED1DA +:107D8000401CB0EB541FF7D3600959F8201004F0E1 +:107D90001F00C0F120022AFA02F0814201D0002027 +:107DA00065E7012063E71CB50C46694600F039F829 +:107DB000002814D0DDE90002C10709D051084FEABC +:107DC00030006FEA00026FEA0100C4E9002004E01D +:107DD00051084FEA3000C4E900014FF001001CBD1A +:107DE000F8B507460020187008700E4610601C4653 +:107DF00015466946384600F039F801004FF0010099 +:107E000009D0009959B1C8082860009800F007000F +:107E100030700120F8BDB96809B10020F8BD2070AC +:107E2000FBE72DE9F843002688468146344635466F +:107E300004E0402E02D30020BDE8F883694648469E +:107E400000F096F90028F7D09DF80070324607F050 +:107E50007F00C10FF4F7D4FA29430443F61D0D4601 +:107E60003806E6D4C8E900410120E5E7F8B50E463A +:107E70000746694600F07CF900280AD09DF80040CA +:107E8000200616D5072504F07F0403E0202D01D33A +:107E90000020F8BD6946384600F06AF90028F8D09D +:107EA0009DF8001001F07F00A8400443ED1D080676 +:107EB000ECD401203460F8BD30B45968114AC96867 +:107EC000914208D1D0E901120F48D0E9013423438F +:107ED00003D00021817030BC704711F8013BA2F142 +:107EE00001021B06F9D4C0E9011201218170074883 +:107EF000074930BC401AC008042101EB004005A12D +:107F0000FDF730BA80A50F006C000020F8B90F0013 +:107F1000D8B90F0050423A20496E697420706163ED +:107F20006B65742064617461206C656E3A20256411 +:107F300000000000C26000230160C0E901138B88CB +:107F40001A440261B1F906301A44426108880028D7 +:107F500000D00120704770B545680E460446606841 +:107F60000188B14206D1807800F00F00082801D0C6 +:107F7000012070BD204600F005F86068A842EED1EF +:107F8000002070BD30B541680A885AB101F1100374 +:107F900043600A8A42B18C780A89C4F30115032D23 +:107FA00007D00BE0002030BDC2680168FFF7C2FFB8 +:107FB000F8E79D78C5F30115032D06D00225B5EB32 +:107FC000141F08D14C89624309E08D88046900229E +:107FD000641B046103E0B5EB941F00D1042289788F +:107FE00011F0300F02D18168491C81609C880169C1 +:107FF000214411440161B3F906201144416101207B +:1080000030BD30B54168002487B0897801F00F0297 +:10801000082A11D08A091ED00222B2EB911F09D181 +:108020000269C1F301110229146001D0032901D1B1 +:108030004069048007B030BD0069056808E02C7312 +:1080400029466846F9F7A3FD6846FFF7DAFFAD68F1 +:10805000002DF4D1EEE7C1F30111012912D002295C +:10806000E6D00329E4D04268917801F00F01072996 +:108070000BD0D16881B11289006907B0BDE83040EA +:10808000F4F7D2B941690C70EDE70169D06807B027 +:10809000BDE8304000F02DB81189006907B0BDE897 +:1080A0003040F4F7E9B9000010B5034B002408C0D4 +:1080B00080E8160010BD00007D000F0038B50D46A9 +:1080C00004466946FFF7D2FE00280BD0D4E900022F +:1080D000D4E90213C5E90002C5E902130098814200 +:1080E00001D2002038BDA860A168081AA060012054 +:1080F00038BD00B50A4687B001466846FFF71AFF4B +:10810000002807D06846FFF77CFF6846FFF73AFF74 +:108110000028F7D107B000BD7FB514460546A9B9C0 +:10812000124A2868904208D110E010226946284679 +:10813000FFF7F2FF002807D0103C102CF5D822469C +:1081400069462846FFF7E8FF04B070BDA868A04262 +:1081500001D20020F8E72B682246284698470028DD +:10816000F2D0A868001BA8600120EDE77D000F0099 +:1081700010B504468068002809D0236801222046F3 +:108180009847002803D0A068401EA060012010BDC1 +:1081900038B5002439B1012912D0022912D005299D +:1081A0001DD0002038BD0546012269462846FFF74C +:1081B000B3FF90B19DF800000006F5D4012038BD52 +:1081C00008220DE005466946FFF750FE28B1002160 +:1081D0002846009AFFF7A0FF38BD204638BD04228C +:1081E000BDE838400021FFF797BF000010B50C46EE +:1081F000017A052908D0407A38B1084808A10268F8 +:108200002046FCF7FBFA00E01AB106A12046FCF775 +:10821000F5FA2046BDE81040FCF72EBB54010020C3 +:10822000257300000D0A00002DE9FC47064628488A +:1082300015460F46C0680A46012481463146F9F7C3 +:108240007FFA78B199F8550070B100F00101CDE9DD +:108250000075C0F3400288463346484600F09AF85D +:1082600058B114E0172412E02B463A4631464846EE +:1082700000F032F858B9052409E0052415EA080F82 +:1082800005D0FBF70FFDB04201D1FBF7C7FCDFF8CB +:10829000448065B1012C13D008F12400FAF7F8FCF2 +:1082A000FBF7B0FBC8F848602046BDE8FC87012C0E +:1082B00002D0FBF7A7FBF7E70120C8F81400F3E7AB +:1082C000002239463046F8F717FDC8E90970E7E79C +:1082D0006C000020C01C00202DE9F041044690F8FD +:1082E000550094B01D461746884620B11A4940F201 +:1082F0000130F7F775FC0126CDE9007643460022F0 +:10830000214602A8F7F736FD002822D005B3412206 +:1083100002A91248F4F788F812481349104D401A80 +:10832000C008042101EB004010A1EE62FDF716F831 +:1083300000202862204601F0F7FB08B9FBF76EFC2D +:1083400094F8920010B194F8930008B96068A8609E +:10835000012014B0BDE8F0819CB10F00611F002026 +:10836000C01C0020F8B90F00D8B90F00496E766123 +:108370006C69646174696E67206F6C6420617070F1 +:108380006C69636174696F6E20696E2062616E6BE7 +:1083900020302E002DE9F04FA5B08846DDE92E6B88 +:1083A00004469A461746442113A8F4F765F8442179 +:1083B00002A8F4F761F8D14658EA070004D1384919 +:1083C00040F23B30F7F70CFC3648374A801AC008B9 +:1083D000022202EB0045B8F1000F1CD05046A16DFF +:1083E00000F0FCFF002857D05046F9F75BFB18B1AE +:1083F00028462E49FCF7B2FF0121A06DCDE900010E +:1084000053460022214613A8F7F7B4FC002843D0B6 +:10841000A06D8144361A8FB10020CDE900604B4633 +:108420004246214602A8F7F7A5FC002834D09DF863 +:10843000080018B128461E49FCF790FFBBF1000F59 +:1084400029D01C4DB8F1000F14D05046F9F72AFB83 +:1084500018B105F11800FAF71BFC412213A91648C0 +:10846000F3F7E2FF0FB1AC2000E0A520E862A06DB9 +:10847000686301E0AA20E8626FB10F48412202A9B7 +:108480008230F3F7D1FF94F8920010B194F8930082 +:1084900008B96068E860012025B0BDE8F08F0000F1 +:1084A0009CB10F00F8B90F00D8B90F0058B10F00F8 +:1084B00054B00F00C01C0020201F002038B5C38816 +:1084C0000D46044633B114A0009015A216A128460B +:1084D000FCF794F9217A05291CD0607A48B1A0886C +:1084E000FCF79EFD164951F8202016A12846FCF7FE +:1084F00085F9A0880021FCF7DBFF03461049207AAC +:10850000143951F8202001B02846BDE830400EA1B2 +:10851000FCF774B938BD00001B5B306D0000000033 +:108520001B5B313B33316D0025734C6F67732064E7 +:10853000726F70706564202825642925730D0A0008 +:1085400054010020257300003C25733E2025733A1A +:1085500020000000EFF30580C005C00D01D0012010 +:108560007047EFF3148040F30000401C704710B5D3 +:1085700010461A46F3F758FF002010BD2DE9F041D0 +:108580001E681C461546074621B1012918D0052949 +:1085900023D119E000202060401C2060B0421CD88C +:1085A000012229463846FFF7B7FD002806D015F806 +:1085B000010B000601D52068EEE70120BDE8F0813F +:1085C00008200246186002E004200246186029468E +:1085D0003846BDE8F041FFF79FBD0020EEE7000000 +:1085E0002DE9F0410D4680464B780A7804694748EA +:1085F0004749401AC708042000EB074045A1FCF793 +:10860000B8FE60202070287860706878A070687864 +:108610000121032601EB0747012802D00B286BD06C +:1086200057E028780C284ED2DFE800F0064D4D3593 +:108630004D4D3B604D0609242879E07062E0E11C55 +:10864000686801F053F9C01CC6B2A119A86801F00E +:108650004DF93044C6B2A119E86801F047F9304439 +:10866000C6B2A119286901F041F93044C6B2A11976 +:10867000686924E02879E070211DA86801F036F9C6 +:10868000001DC6B2A119E86801F030F93044C6B245 +:10869000A119286913E0E11C686801F027F9C01CE2 +:1086A0000AE0E11CE86801F021F9C01CC6B2A1197A +:1086B000686801F01BF93044C6B2A119A86801F03E +:1086C00015F93044C6B2182E03D938461AA1FCF762 +:1086D00045FED8F80420314620469047002813D0A4 +:1086E0003846BDE8F0411DA1FCF738BEA988E1700D +:1086F000090A21710526ECE7F9F708F8E070002077 +:10870000F9F70CF80426E4E7BDE8F08160BA0F0041 +:10871000D8B90F0053656E64696E67205265737037 +:108720006F6E73653A205B3078253031782C2030BD +:1087300078253031785D00004D6573736167652081 +:108740006973206C6172676572207468616E206560 +:10875000787065637465642E000000004661696C82 +:10876000656420746F2073656E6420646174612099 +:108770006F7665722073657269616C20696E7465CD +:1087800072666163652100000846704738B50C4683 +:10879000050003D10A496D20F7F722FA1CB90849F0 +:1087A0006E20F7F71DFA6B4622462946054800F071 +:1087B000EAFD04490448009AF6F73EF938BD000086 +:1087C00038B70F008C920020DCAA0F002DE9F0478B +:1087D000FBF768FADFF8C480D8F83020D8F8347096 +:1087E00000EB020AB81A411EC1F30B01401A00F651 +:1087F000FF792B492B48D8F84860081AC50804208F +:1088000000EB0540044628A1FCF7A8FD42F2040055 +:108810002F4A8159012000EB0545914206D0284698 +:108820002CA1FCF79BFD0320BDE8F087D8F83000B1 +:108830000644B84205D1204633A1FCF78FFD002045 +:10884000F2E7C0B906F500500178142901D9416951 +:1088500000E000213148B1FBF0F34FF440510A78B9 +:10886000142A01D9496900E00021B1FBF0F2204649 +:108870002BA1FCF77EFD08234A4631465046F8F707 +:10888000BDFF040005D0284630A1FCF767FD204657 +:10889000CAE7BDE8F0470020FBF7B0B9C01C0020D4 +:1088A00058BA0F00D8B90F00456E746572206E7209 +:1088B000665F626F6F746C6F616465725F6466752A +:1088C0005F73645F636F6E74696E756500000000AE +:1088D000DBE5B151536F7572636520616464726545 +:1088E000737320646F6573206E6F7420636F6E7492 +:1088F00061696E20612076616C696420536F6674D3 +:108900004465766963652E00534420616C7265612D +:10891000647920636F7069656400000040420F0055 +:108920005570646174696E672053442E204F6C64E7 +:10893000205344207665723A2025642C204E6577BA +:10894000207665723A202564000000004661696C5B +:10895000656420746F20636F7079206669726D772B +:108960006172652E0000000070B50F480F49401A73 +:10897000C408042000EB04400DA1FCF7EFFCFFF756 +:1089800025FF05004FF0010000EB044402D0204613 +:108990000FA105E0F7F736F9050004D0204612A133 +:1089A000FCF7DCFC284670BD58BA0F00D8B90F00A0 +:1089B000456E746572206E72665F6466755F73647F +:1089C0005F626C5F636F6E74696E756500000000B6 +:1089D00053442B424C3A20534420636F70792066F5 +:1089E00061696C656400000053442B424C3A20429C +:1089F0004C20636F7079206661696C6564000000CB +:108A0000F0B50546002003464FF440540C4E4FF697 +:108A1000FE7712E0D4F804C0B44505D155F823C060 +:108A2000B4F80CE0F44504D02AB155F823C0BC4595 +:108A300001D10120F0BD5B1CDBB28B42EAD3F0BD5B +:108A4000DBE5B15110B5040003D119492D20F7F72A +:108A5000C7F84FF440501749406888421FD1218A17 +:108A600059B1626904F11400002A94F8552008D025 +:108A7000042A04D00022C9B20BE0002010BD01225C +:108A8000F9E712B1012A08D1F7E7012905D9C9B2DE +:108A90000022BDE81040FFF7B3BF012010BD208ABF +:108AA00010B160690028E8D120780028F5D110BD08 +:108AB000E4B10F00DBE5B1512DE9F0411400884627 +:108AC00018D000250E4F032608EB05012246002092 +:108AD000F5F72CF80544241A40B93878002809D055 +:108AE00008494FF47A408847761E05D00120387037 +:108AF000002CE9D1BDE8F08100203870FAE70000D1 +:108B000018010020B1AA0F002DE9F0410E460746DA +:108B100013481449144D401AC408032000EB0440C4 +:108B200012A12A68FCF71EFC3046F8F703F920B9B9 +:108B300019494FF4AE70F7F753F8184B3A463146DF +:108B4000286800F053F8020007D0012000EB044031 +:108B5000BDE8F04112A1FCF705BCBDE8F0810000C2 +:108B6000F0B90F00D8B90F00680000204261636BB4 +:108B7000696E672075702073657474696E67732001 +:108B80007061676520746F2061646472657373201F +:108B9000307825782E00000058AF0F0040190020D3 +:108BA000436F756C64206E6F7420706572666F72AF +:108BB0006D206261636B7570206F6620626F6F74E9 +:108BC0006C6F616465722073657474696E6773217C +:108BD000204572726F723A203078257800000000CC +:108BE00000225821001DF8F787B800002DE9F04752 +:108BF00015464FF460771E46894680463A46F3F79D +:108C00004DFC224A224B0421D21AD20801EB024425 +:108C10000028204617D01FA1FCF7A0FB20464246A3 +:108C200021A1FCF79FFB002201214046FAF7AEFA92 +:108C3000174A164B01219A1AD20801EB024458B187 +:108C4000204621A11DE02949FCF788FB0DB1002039 +:108C5000A8470020BDE8F08726B9254940F2371023 +:108C6000F6F7BEFF3A4649463046F3F7DDFB2B46A2 +:108C70003A4631464046FAF721FB0028EAD0204622 +:108C80001CA1FCF76BFB0320E4E70000F0B90F0028 +:108C9000D8B90F0057726974696E67207365747470 +:108CA000696E67732E2E2E0045726173696E6720A0 +:108CB0006F6C642073657474696E67732061743AB5 +:108CC0002030782530387800436F756C64206E6FE3 +:108CD00074206572617365207468652073657474AF +:108CE000696E677320706167652100000CAF0F002B +:108CF00058AF0F00436F756C64206E6F74207772ED +:108D000069746520746865204446552073657474E1 +:108D1000696E6773207061676521000000207047ED +:108D20002DE9FE4308790C46012804D0022809D019 +:108D3000032878D178E0B4F80700002871D0122217 +:108D400043497DE0B4F8070000286AD0092800D91B +:108D50000920814609264FF00008F5F77DFF25E040 +:108D6000686820B93BA140F2AB20F6F739FF68688C +:108D7000406820B937A14FF42B70F6F731FF002778 +:108D8000009700E07F1C686801230022D0F804C02F +:108D900029466846E0470028F4D1297A3E4401EB91 +:108DA000080000F0FF082846F6F732F80500D7D192 +:108DB00002A8F6F7C7F902990546894504D925A105 +:108DC00040F2C120F6F70CFF21494A4612312846ED +:108DD000F3F72AFB85F804806E80F6F73FF818B1A8 +:108DE000E87940F02000E871F5F736FF01462848A1 +:108DF00080E82202B4F80710C1600020F6F782FE76 +:108E0000134980200839F6F72BFA040005D11049E0 +:108E100080201039F6F7F2F804460020F6F7A0FE9D +:108E20002046BDE8FE8311E0B4F807000028F8D022 +:108E3000E078B4F80510F6F727FE010006D00A78AE +:108E400003B0601CBDE8F043F6F74CB90620E8E734 +:108E500098A80F002E2E5C2E2E5C2E2E5C2E2E5CE3 +:108E60002E2E5C636F6D706F6E656E74735C6C69D3 +:108E7000627261726965735C757362645C61707063 +:108E80005F757362645F636F72652E63000000003C +:108E90005C27002038B50D466846F6F753F90446BE +:108EA0000098022804D20CA140F27920F6F798FE2F +:108EB000002020802078174940F001002070497878 +:108EC0004908C90702D040F0020020700222214662 +:108ED000681CF6F707F938BD2E2E5C2E2E5C2E2E60 +:108EE0005C2E2E5C2E2E5C636F6D706F6E656E74E3 +:108EF000735C6C69627261726965735C75736264DC +:108F00005C6170705F757362645F636F72652E631E +:108F100000000000E8000020F8B50C46070004D16E +:108F20003EA140F24230F6F75BFE24B93BA140F28D +:108F30004330F6F755FE607810F0600F2AD1000636 +:108F4000454DA0784FF0000626D520B1062808D060 +:108F500008281FD10BE021463846BDE8F840FFF74E +:108F600099BF21463846BDE8F840FFF7D9BE6846AC +:108F7000F6F7E8F801462878052802D0042803D03F +:108F800008E00120087000E00E700122601CF6F776 +:108F9000A9F8F8BD0620F8BD0A28FBD2DFE800F0EA +:108FA0000517050C050605050526F3E71BA140F28C +:108FB0006630F6F715FEEDE7B4F803000128E9D1B5 +:108FC000F5F74CFF80B1687840F0020009E0B4F892 +:108FD00003000128DED1F5F741FF28B1687820F0C1 +:108FE000020068700020F8BD0F20F8BD2878052821 +:108FF00003D0042801D00820F8BDE07818B101287A +:1090000005D00720F8BDF5F74DFC042002E0F5F788 +:1090100061FC052000F03AFE3046F8BD2E2E5C2E95 +:109020002E5C2E2E5C2E2E5C2E2E5C636F6D706F70 +:109030006E656E74735C6C69627261726965735C93 +:10904000757362645C6170705F757362645F636F97 +:1090500072652E6300000000E8000020F8B50546A8 +:10906000407810F0600F3FD120486C79A9780078E3 +:1090700021B1012923D0032936D111E0052801D0DF +:10908000200727D16846F6F75DF806462046FDF72B +:109090007DFA308002223146681CF6F723F8F8BDCD +:1090A00004F00F0108291FD2B5F80310E1B9210718 +:1090B0001AD005280ED12046FDF74EFA12E004F032 +:1090C0000F01082910D2B5F8031069B921070BD098 +:1090D000052801D00820F8BD2046FDF71BF92046E1 +:1090E000FDF76CFA0020F8BD0620F8BDE80000206E +:1090F000FEB50C46050004D12F494FF4D170F6F7A8 +:109100006FFD24B92C4940F2A310F6F769FD607891 +:109110004FF00606010642D5C0F3411111B10129F5 +:1091200024D125E000F01F0001281FD1A0780628D7 +:109130001CD10020019002A8F6F704F8064601A809 +:109140000090E278217933462846F5F725FD052879 +:109150000CD00198402803D31749A320F6F740FD0F +:109160003146601C019AF5F7BDFFFEBD0620FEBD2D +:109170002846F7F75DFCF7F7A1F8A178212903D17C +:10918000B4F80710072901D03046FEBD072200F1D0 +:109190000C0103B0601CBDE8F040F5F7A3BFC0F3BD +:1091A00041100028F0D00128E0D103B02146284624 +:1091B000BDE8F04000F046B830B20F00F8B50B46FD +:1091C00051780646144611F0600F25D11C48090657 +:1091D000A17800781ED511B10A291DD109E0052812 +:1091E0001ED16846F5F7AEFF014600200880022236 +:1091F0000CE0052814D16846F5F7A4FF054619468A +:109200003046F6F7B1FA287001222946601CF5F7BE +:1092100069FFF8BD0B2901D00620F8BD052801D053 +:109220000820F8BDB4F80300FF2801D90720F8BDD5 +:10923000D27819463046BDE8F840F6F767BA000024 +:10924000E8000020F0B585B00D460746F7F7F0FBC3 +:10925000F7F734F80446A8780026202802D0222800 +:109260002FD12BE0B5F8070007282AD13846F7F7A9 +:10927000DFFB0446F7F722F8A9780170E97941701D +:10928000811C019602960091407801900020F6F72B +:1092900039FC69460020F6F72DF8050008D11D4875 +:1092A00003A90068CDE903040020F5F7A7FE0546F1 +:1092B0000020F6F755FC284605B0F0BDB5F80700CC +:1092C00008B10620F8E7207DB5F8031000F0010092 +:1092D00001F00105A182A8421AD00DB1022100E0DF +:1092E0000321384601F058F895B93846F7F776FD6E +:1092F000FCF7DEFF3846F7F77AFDFCF7D9FFA661E9 +:109300002662E6662667666704F12800A667A066FF +:109310000020D1E74CA80F0030B528B1D0E90223D6 +:109320009A4203D1042030BD0E2030BD04782CB108 +:109330000023012C10D0022C23D11EE0C02906D01E +:10934000DB2906D04468531C8360A15419E0002037 +:1093500030BD0121017014E0DC2905D0DD2905D0E4 +:10936000022101700B2030BDC02400E0DB244568E1 +:10937000511C8160AC54037003E0C02901D103701B +:109380008360112030BDF0B528B121B11BB100249C +:10939000DB261C6019E00E20F0BD0F5DC02F02D04F +:1093A000DB2F0BD105E01D686F1C1F604655DC27C5 +:1093B00004E01D686F1C1F604655DD271D68641C96 +:1093C00005F1010CC3F800C047559442E5D3196874 +:1093D000C0244A1C1A6044540020F0BD2DE9F0411D +:1093E00000F500521A481B4F0123C01B174CC00840 +:1093F000556803EB0040A54201D017491FE04D1E00 +:10940000C5F30B05491B41F6FF75966829448E424A +:1094100001D2124913E04FF440514D68A54211D1D9 +:109420000C78102C01D9096900E000211478102C67 +:1094300001D9126900E00022914203D00849FBF7EC +:109440008DFF00231846BDE8F0810000DBE5B15137 +:10945000F8B90F00D8B90F0004B10F0098B00F0091 +:10946000E4AF0F002DE9F0471E46924689460546B7 +:10947000040C089FF7F71CFF8046FCF70FF8A0428A +:1094800004D80FA140F28310F6F7AAFB44EA084182 +:10949000741C1B483C4000EB84023E4000EB8600FD +:1094A000D160C16865F3C5016AF3891169F39F2131 +:1094B00021F00301491C21F00401C160BDE8F087DF +:1094C0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C63A1 +:1094D0006F6D706F6E656E74735C6C6962726172D1 +:1094E0006965735C6C6F675C7372635C6E72665FF8 +:1094F0006C6F675F66726F6E74656E642E630000DA +:10950000282900202DE9FC47814617481746884640 +:1095100005681C46012201A91846F6F767FD134E9F +:10952000B8B101998B1C00200AE000BF57F8202039 +:1095300003EA050C06EB8C0C401C5B1CCCF80C20E1 +:10954000A042F3D30B462246414648460095FFF71A +:1095500089FF307802E000BFFBF790FD0028FBD1C7 +:10956000F8F72CFBBDE8FC87240100202829002007 +:109570002DE9FF41324800F15C01826B6846FEF73D +:1095800093FD304F9DE8070007F11C032F4C83E843 +:10959000070019462C48C8600020A0706060A060D9 +:1095A0004FF44771A7F54070F2F766FFA7F54072D8 +:1095B000274902F54770FEF7E6FA2649264A891A36 +:1095C000C908012202EB014578B1A07838B1A7F5AE +:1095D000407090F86C110029017826D041B12846DE +:1095E0001EA100BFFBF7BAFE28E0284623A1F9E739 +:1095F00090F8720110B3D4E901122C4E6846FEF7C0 +:1096000053FD9DE80F001C3787E80F004FF4B2713F +:109610003046F2F731FF3246254906F5D470FEF7A1 +:10962000B2FA30B9284623A1DCE739B1807928B1F4 +:109630002F4E0120E66004B0BDE8F0810020FAE77B +:10964000C01C002040230020B97E0F006C000020C9 +:10965000A0A60F00F8B90F00D8B90F0048616E64DA +:109660006C65723A20496E76616C696420696E6936 +:109670007420636F6D6D616E642E000048616E64CE +:109680006C65723A20496E76616C69642070726F05 +:10969000746F636F6C20627566666572206D5F70B3 +:1096A000625F73747265616D00000000B421002078 +:1096B00080A50F0048616E646C65723A20496E7631 +:1096C000616C69642070726F746F636F6C20627577 +:1096D00066666572206D5F70625F73747265616D3E +:1096E0002028696E697420636F6D6D616E64290056 +:1096F0004820002070B50546F6F7EAF9124C0646F8 +:109700002078F6F7E5F986420AD02846F6F7E0F920 +:1097100020B104F11000FAF7D7FF01E0FAF794FF47 +:109720002846F6F7E2F906462078F6F7DEF9864293 +:1097300008D02846F6F7D9F910B1FCF7C9FC01E0CA +:10974000FDF716FB257070BDC40000202DE9F04127 +:109750000F460546234824492A46401AC0080421DA +:1097600001EB004021A1FBF7FDFDB7F1807F03D3A2 +:1097700024496920F6F734FA962F03D221496A204A +:10978000F6F72EFA6FF07F40874200D238461E4E21 +:10979000D6F804150144381A21F07F44411E686050 +:1097A000952902D29630963C68602D7B042D03D318 +:1097B00014495120F6F714FA06EB8500C0F840452D +:1097C00012494FF4F86088474FF4A07000EB850110 +:1097D0003046FCF711F84FF48030A840C6F8040377 +:1097E000BDE8F08158BA0F00D8B90F0074696D65F3 +:1097F000725F6163746976617465202830782578BA +:109800002900000008AC0F0000400240F1A40F0046 +:1098100070B5174E3078002829D116480068012508 +:10982000C0F3004008B914480560144C4FF480712F +:109830002046FBF7E1FF4FF4A0712046FBF7DCFF69 +:109840004FF4A2712046FBF7D7FF0D49A02081F805 +:1098500000040B4910202039C1F800010020C4F891 +:109860000805A56025600220C4F80403357070BDAA +:10987000140000201804004008000040004002408E +:1098800024E000E070B515460E460446FFF7C0FF21 +:10989000314620462560BDE87040FFF757BF000005 +:1098A00010B5044609480A492246401AC008042156 +:1098B00001EB004007A1FBF755FD217B4FF4803001 +:1098C00088400949C1F8080310BD000058BA0F00CC +:1098D000D8B90F0074696D65725F73746F7020285A +:1098E0003078257829000000004002400870020A04 +:1098F0004A70020C8A70000EC87004207047000085 +:1099000010B50248F8F7B2FA002010BD140100208B +:109910002DE9F05F8346DDE90A4A994690460D46F7 +:109920000846012703E000BFB0FBF8F07F1C40456C +:10993000FAD2B94500D94F465FEACA7012D18CB14C +:109940005FEA8A7002D5B9F1000F01D0202607E046 +:10995000302605E031465846641EF6F79DFB0CB1F3 +:10996000A742F7D35FF00106B9F1010F02D9A9F1BF +:10997000010903E0B5FBF6F0404502D306FB08F60B +:10998000F2E7DFF83C9000BFB5FBF6F000FB1655A0 +:1099900019F800105846F6F77FFBB6FBF8F6002ED4 +:1099A000F2D15FEACA7009D0002C07D0A74205D2D5 +:1099B00020215846641EF6F76FFBF5E7BDE8F09FDF +:1099C00032A90F0070B515460E46012400F0ACF820 +:1099D000034600210A463046F9F764F90C490D4A5E +:1099E000891ACE0838B1012000EB06400AA1FBF726 +:1099F000B5FC042409E0F9F73BF90246286004208D +:109A000000EB06400BA1FBF7ADFC204670BD00004B +:109A1000F8B90F00D8B90F0043616E27742066694A +:109A20006E6420726F6F6D20666F72207570646156 +:109A300074650000577269746520616464726573AF +:109A4000732073657420746F203078253038780067 +:109A50002DE9F0411C4B1D4F0F2600240125DB1B77 +:109A600090F85520DB0805EB03450AB1042A03D121 +:109A700090F86430012B06D0D30707D090F8563009 +:109A8000012B02D002E0846E0DE0846D92070AD5AE +:109A900090F85C20012A06D1026E0D48C0F57E23A5 +:109AA0009A4204D814443CB101260C6008E02846D0 +:109AB00008A1FBF75EFC042628460EA1FBF74EFC2E +:109AC0003046BDE8F0810000F8B90F00D8B90F00AA +:109AD00000C00E00424C2073697A65202825642955 +:109AE000206F766572206C696D6974202825642961 +:109AF00000000000496E6974207061636B6574201A +:109B0000646F6573206E6F7420636F6E7461696E2D +:109B10002076616C6964206669726D776172652078 +:109B200073697A6500000000018A19B1406908B1C3 +:109B3000012070470020704702480068002800D0CC +:109B400001207047F00000200020704770B50446E7 +:109B50002B48F8F765FA2B4804602948F8F7BAF95A +:109B600029492A4A891ACA08002841D02849C01C14 +:109B700040F6030348600020C1E90203087024484E +:109B80002449183841602449C0E9021300F1410119 +:109B9000016122494161042000EB0240044620A1FA +:109BA000FBF7DCFBFAF7E0FD852801D000281ED189 +:109BB0000020FAF7FDFD002819D1F5F7FDFE1E483B +:109BC000F5F7DCFD002812D11B482438F4F752FFCA +:109BD00000280CD1204619A1FBF7C0FBF5F786FE43 +:109BE000051E04D1204619A1FBF7B8FB284670BD1D +:109BF000012000EB02401CA1FBF7B0FB032070BD6D +:109C000084BA0F008401002068BA0F00D8B90F0091 +:109C10007C9200208D870F00A5790F00C0B90F003E +:109C2000496E697469616C697A696E6720647269EA +:109C3000766572732E00000000AB0F0053746172E2 +:109C400074696E672055534200000000555342204E +:109C50005472616E73706F727420696E6974696199 +:109C60006C697A6564000000436F756C64206E6FE8 +:109C70007420616C6C6F63617465207061796C6FC6 +:109C8000616420706F6F6C2E0000000007490A7835 +:109C9000824209D00870052803D0487820F00200DD +:109CA00048700348F5F752BB70470000E8000020F9 +:109CB00084A80F002DE9FE4F8046486891464FF07A +:109CC000010A0C4628B92068F5F7A2F808B9A0687F +:109CD00090B1B9F1400F04D937A140F27110F5F7F6 +:109CE0007FFF00260096FCF7B3FDE76883464846F1 +:109CF0004F4559D9074657E04FF0000AC8F800A071 +:109D0000C8F804A054E0A068B84201D93D4600E07C +:109D10000546616839B10BEB06002A46F2F784FB71 +:109D2000002060600CE058B121680BEB06022B4666 +:109D30004868D0F804C004F11000E047012000900A +:109D4000A068A7EB0507411BA160E0682E44A0EBCB +:109D50000500E06005D1009818B12068F5F758F8C3 +:109D60002060E06810B1A068F0B902E04FF0000A8E +:109D70001AE0206800284FF0000001D0019009E0AF +:109D800060609EB14E4511D24FF0000A0EE0A0680F +:109D9000401CA0602168012300224868456801A892 +:109DA000A8470028F3D12061002FACD1C8E900B644 +:109DB0005046BDE8FE8F00002E2E5C2E2E5C2E2E0F +:109DC0005C2E2E5C2E2E5C636F6D706F6E656E74F4 +:109DD000735C6C69627261726965735C75736264ED +:109DE0005C6170705F757362645F636F72652E6330 +:109DF000000000001C491D4A10B5891AC908032239 +:109E00001B4C02EB0142082809D0092815D00A286A +:109E100020D00E2826D1BDE81040F5F79BB910469A +:109E200014A1FBF79BFAFCF795FE08B9F5F7BAF910 +:109E30002168002916D0012009E0104612A1FBF785 +:109E40008DFAF5F717FE216800290BD00220BDE836 +:109E500010400847104611A1FBF780FABDE81040FA +:109E6000F5F7D2BD10BD000068BA0F00D8B90F00D9 +:109E70008401002055534220706F7765722064651D +:109E8000746563746564000055534220706F776594 +:109E9000722072656D6F7665640000005553422034 +:109EA000726561647900000010B5FCF7C6FC002102 +:109EB00008B1024801600248C17010BD1C7C02401C +:109EC000A40000202DE9F04F504D89B0E87800281B +:109ED0004AD181464FF0010A42E000BF10F0012F45 +:109EE00001D000F0012090FAA0F0B0FA80F0804696 +:109EF000F5F780FE0646F7F7FBF90446006820B93F +:109F000043A140F23B50F5F76BFE300607D5D4E98C +:109F10000031A28902A89847002836D037E03046A1 +:109F2000FCF76EFCD4E9007183460346A28902A8BF +:109F3000B84707460298D0B1039959451DD202206F +:109F4000A0730AFA08F0C14330480C30FBF786FED4 +:109F50003C48006B00908DF802606968684688474D +:109F6000D5E902100840B9D109B0BDE8F08F0398D7 +:109F700050B127A140F2575004E0594504D024A124 +:109F800040F26650F5F72CFE0FB9C4F80090FCF7CC +:109F900054FC10B12C498220086085F803A0A96800 +:109FA0000AFA08F08143A960A06803990844A060F8 +:109FB000DDE902123046FBF765FC300606F00F00C3 +:109FC00002D5092809D301E0092808D31FA14FF4BD +:109FD0001B70F5F705FE300601D5042100E02821AD +:109FE00006F00F0001EB8000FBF71CFE4FF48074BD +:109FF0003046FCF707FBFBF7EBFD0028B4D1204609 +:10A00000FBF7E6FD0028F3D0AEE70000A400002037 +:10A010002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6D3B +:10A020006F64756C65735C6E7266785C6472697679 +:10A030006572735C7372635C6E7266785F7573626F +:10A04000642E630028A70F001C7C02402E2E5C2E7D +:10A050002E5C2E2E5C2E2E5C2E2E5C6D6F64756C2D +:10A0600065735C6E7266785C647269766572735C47 +:10A070007372635C6E7266785F757362642E6300E0 +:10A0800070B5FCF7CEFB08B100F018F9FCF7BFFB88 +:10A090001D4C1D4E49F27535143C48B10020F5F7B2 +:10A0A00031FD2168C02031B330600020F5F758FD44 +:10A0B000164901200860BFF36F8FBFF34F8F144A1A +:10A0C000C00211680142FCD0FBF79AFDFCF79FFB30 +:10A0D00048B10020F5F716FD2168002079B1306005 +:10A0E0000020F5F73DFDFCF79CFB00280BD0BDE8F8 +:10A0F000704000F0FDB8256030602560D5E7256030 +:10A1000030602560ECE770BD14EC0640007502403D +:10A11000007402402DE9F84307460020F5F7F2FCF1 +:10A120003846F7F7E5F80646374D38064FF0000891 +:10A130004FF003094FF001041FD43846F7F7C2F877 +:10A14000E96804FA00F0884303D03846FCF71AFEA9 +:10A1500010E03846C6F80080F7F7B4F8E96804FA6A +:10A1600000F081433846E960F7F7ACF88440A8680E +:10A17000A043A86086F80E9040E007F00F01082980 +:10A1800016D2224B40F2B472181D802F07D002EB7A +:10A19000410119600168C9B241F0020104E01A608E +:10A1A0000168C9B241F0040102680A430260006814 +:10A1B0003846F7F787F8D5E9022104FA00F061EA9A +:10A1C000020108421AD03846F7F77CF8E96804FA29 +:10A1D00000F081433846E960F7F774F88440A868D6 +:10A1E0000443AC600A48C6F8008086F80E90006808 +:10A1F00000908DF80270696868468847BDE8F843AA +:10A200000020F5F7ADBC0000A4000020007802405B +:10A2100028A70F002DE9F041104EB068040CF0683B +:10A2200024040443012712E094FAA4F0B0FA80F564 +:10A230002846F5F7DFFC00F00F00082804D2284676 +:10A24000F5F7D8FCFFF766FF07FA05F08443002C0A +:10A25000EAD140F2FF10B060BDE8F081A400002018 +:10A26000F8B5144C05460126A0688E403043A06026 +:10A27000114F280612D52846FCF7C4F9FBF7B0FCAD +:10A2800038B1802D03D02846FBF75AFB01E0FBF7DD +:10A29000DFFAE06806420BD1B86903E0E0680642E5 +:10A2A00006D1F86900908DF80250616868468847C9 +:10A2B000F8BD0000A400002028A70F0010B5002062 +:10A2C000F5F720FC08480368084A03212BB1116008 +:10A2D000BDE810400020F5F743BC49F27533036038 +:10A2E00011600360F4E7000000EC064014ED064046 +:10A2F00010B50020F5F706FC08480368084A00215D +:10A300002BB11160BDE810400020F5F729BC49F2DF +:10A310007533036011600360F4E7000000EC064051 +:10A3200014ED064010B5017889B10B4A0421F4F709 +:10A3300023FA00280FD009480949BDE81040401A07 +:10A34000C008012101EB004006A1FBF707B8BDE8FA +:10A350001040F4F7FBBF10BD95A30F0068BA0F00C3 +:10A36000D8B90F00436F756C64206E6F74207363EF +:10A37000686564756C6520555342206576656E741A +:10A380002100000002498020C1F80002704700004F +:10A3900004E000E0F4F7DABF70B50C460546F6F7C6 +:10A3A00047FBC269002A04D021462846BDE8704018 +:10A3B000104770BD02494968002900D0084770471E +:10A3C0001027002030B100680549884205D048F2C6 +:10A3D0000250704748F2015070470020704700005B +:10A3E0006E52464870B5FBF729FC002811D00020BA +:10A3F000084A094B094C0121166801FA00F52E4262 +:10A4000003D004EB8005C5F80036401CC0B2072815 +:10A41000F2D370BD080501403546526E0000014080 +:10A420000748084910B5401AC008032101EB004055 +:10A4300005A1FAF793FFBDE81040FFF7D3BF000076 +:10A44000D8B90F00D8B90F00496E7465726E616C8F +:10A450002066656564000000002070472DE9FC411E +:10A4600080461C4617460E460C48089DF7F707FD28 +:10A4700010B11120BDE8FC81A20839463046FBF737 +:10A480007DF90648F7F7F2FC33463A46012140468B +:10A49000CDE90045F7F718F90020EBE7140100209B +:10A4A00084B7AC5DBA001CCDBE4928F7CBD9744443 +:10A4B0005DA08494DB12A36DB24A17A13D05B938A3 +:10A4C000DBA4214542101BBFEB09B53367AB9114E8 +:10A4D0006DF5F17DD69D178820DFCFEC866407C12E +:10A4E0000338FDD870470D0E0F100B0C1819000023 +:10A4F0000338FDD8704700004800000000204000ED +:10A5000000000000D5010F00E5010F008D010F00D4 +:10A51000200000000000000000000000000000001B +:10A520000100010000000000010000000000000028 +:10A5300002000500010000002200000000000000F1 +:10A54000000000000000000000000000000000000B +:10A5500001000100000000000100000000000000F8 +:10A5600002000500010000004200000000000000A1 +:10A5700000000000000000000000000000000000DB +:10A58000010011000400FCFF0400000000000000B6 +:10A59000020011000400FCFF0400000000000000A5 +:10A5A000030021000400FCFF040010000000000074 +:10A5B000040011000100FFFF010000000000000086 +:10A5C000050011000200FEFF040000000000000072 +:10A5D000060011000400FCFF040000000000000061 +:10A5E000070011000400FCFF040000000000000050 +:10A5F000080017000200FEFF2400000020A50F0045 +:10A60000090010000100FFFF010000001CA50F0061 +:10A610000A0027000200FEFF4400030050A50F00BF +:10A62000000000000000000000000000000000002A +:10A63000010011000100FFFF010000000000000008 +:10A64000020017000200FEFF6401000080A50F0059 +:10A6500000000000000000000000000000000000FA +:10A6600001000700000000006801000030A60F0094 +:10A6700002000100000000000100000000000000D6 +:10A68000030005000100000042000000000000007F +:10A6900000000000000000000000000000000000BA +:10A6A000010017000400FCFF6801000030A60F0045 +:10A6B000020017000400FCFFAC01000060A60F00C0 +:10A6C000000000000000000000000000000000008A +:10A6D0000200000000000000000000000000000078 +:10A6E0000600000000000000000000000000000064 +:10A6F0000400000000000000000000000000000056 +:10A700000000000000000000000100000000000048 +:10A710000000000000000000000000000000000039 +:10A72000000000000000000006000003010000001F +:10A730000600000006000000060000000600000001 +:10A7400006000000060000010500000002000000F5 +:10A75000030000000400000006000002A9160F001C +:10A76000ED150F00C5130F00C9130F00CF130F0015 +:10A77000D5130F00DB130F00E1130F00E7130F00D9 +:10A78000ED130F0011150F00F3130F00F9130F0055 +:10A7900059140F005F140F0065140F006B140F00A5 +:10A7A00071140F0077140F007D140F0085140F0033 +:10A7B000A5150F00F1150F002D150F00D1140F0076 +:10A7C00008010C011001140118011C0120012401D1 +:10A7D0002C013001340138013C01400144014801A1 +:10A7E0004C01500102030405060708090B0C0D0E6D +:10A7F0000F10111213140000800000000B810000E4 +:10A800008200000083000000840D0E03030000009E +:10A810000B0000000C00850000000800000009008B +:10A8200000000A00000000008DF80E004DF30E003D +:10A830000000000000000000E1020F0085030F008F +:10A84000000000000000000000000000490A0F00A6 +:10A85000000000008D020F00000000008D020F00BC +:10A8600000000000710B0F0000000000000000005D +:10A870000000000001000000000000000A000000CD +:10A88000000000000F0000001D8D0F000000000000 +:10A89000B59C0F005C270020120100020000004060 +:10A8A00015191F52000101020301090200000001F5 +:10A8B00004C0320091EE0E00000000000000000015 +:10A8C000000000000000000074270020B4A80F0062 +:10A8D00001000203008000000000040309044E6F21 +:10A8E000726469632053656D69636F6E6475637428 +:10A8F0006F72005365637572652044465520426F40 +:10A900006F746C6F616465720044656661756C7428 +:10A9100020636F6E66696775726174696F6E00554A +:10A920007365722031000000010102020303040478 +:10A9300005053031323334353637383941424344F6 +:10A940004546000000100000040000000100000067 +:10A95000AD190F0001990F006F850F005DA40F0066 +:10A960007D130F0089870F0059A40F00951A0F005F +:10A97000556E6B6E6F776E206572726F7220636FAB +:10A980006465000000000000E0B50F000100000059 +:10A99000A0B40F000200000094B20F0003000000FA +:10A9A00014B50F000400000068B50F00050000009A +:10A9B00048B40F0006000000E4B30F0007000000D9 +:10A9C00050B50F00080000005CB40F000900000043 +:10A9D000C0B40F000A000000C8B50F000B00000053 +:10A9E0007CB20F000C00000074B40F000D000000DA +:10A9F00018B60F000E00000040B50F000F00000059 +:10AA00007CB50F0010000000B0B50F001100000071 +:10AA10002CB60F0080000000FCB30F008100000086 +:10AA200038B30F0082000000F8B20F00830000006E +:10AA3000D8B20F008400000014B30F00850000009E +:10AA400020B40F008600000028B50F009000000021 +:10AA5000C4B30F0091000000B8B20F0092000000D4 +:10AA600088B40F000082000090B50F000182000042 +:10AA7000DCB40F0002820000F8B40F000084000074 +:10AA800054B30F0001840000ECB50F0002840000F5 +:10AA90009CB30F000384000078B30F00414F0F00F8 +:10AAA0003F4F0F00394F0F00000000000000000072 +:10AAB0000338FDD870470000902800207F00000078 +:10AAC00010290020000000000000000005120F0007 +:10AAD000000000000000000000000000D07900200D +:10AAE00038A80F0002000106010204828101000063 +:10AAF0000000010181000000910B0F00780100208F +:10AB000025A30F00F59D0F00000000002D7B0F0016 +:10AB1000D57A0F007D7A0F00F3790F00F9790F00D5 +:10AB2000B1790F00FF790F003D7A0F00000000009F +:10AB30000040404040404040404041414141414050 +:10AB40004040404040404040404040404040404005 +:10AB50004005020202020202020202020202020294 +:10AB60000220202020202020202020020202020299 +:10AB700002029090909090901010101010101010F1 +:10AB800010101010101010101010101002020202FD +:10AB90000202888888888888080808080808080841 +:10ABA000080808080808080808080808020202023D +:10ABB0004000000031AB0F002E2E5C2E2E5C2E2E9E +:10ABC0005C2E2E5C2E2E5C636F6D706F6E656E74E6 +:10ABD000735C6C69627261726965735C626F6F74D9 +:10ABE0006C6F616465725C6E72665F626F6F746CCD +:10ABF0006F616465725F6170705F73746172745FBE +:10AC000066696E616C2E63002E2E5C2E2E5C2E2EDD +:10AC10005C2E2E5C2E2E5C636F6D706F6E656E7495 +:10AC2000735C6C69627261726965735C626F6F7488 +:10AC30006C6F616465725C6E72665F626F6F746C7C +:10AC40006F616465725F6466755F74696D65727368 +:10AC50002E6300002E2E5C2E2E5C2E2E5C2E2E5C83 +:10AC60002E2E5C636F6D706F6E656E74735C6C69B5 +:10AC7000627261726965735C626F6F746C6F61643C +:10AC800065725C6E72665F626F6F746C6F61646533 +:10AC9000725F66775F61637469766174696F6E2E47 +:10ACA0006300000043524320636F6D7075746174DC +:10ACB000696F6E206661696C656420666F722063DF +:10ACC0006F70696564206170703A207372632063ED +:10ACD00072633A203078253038782C2072657320E2 +:10ACE0006372633A20307825303878004120536F02 +:10ACF000667444657669636520686173206A75735C +:10AD000074206265656E2061637469766174656440 +:10AD10002E2049742773206C696B656C79207468E8 +:10AD2000617420616E206170706C69636174696F19 +:10AD30006E2077696C6C20636F6D6520696D6D6541 +:10AD400064696174656C79006E72665F6673746FB6 +:10AD5000726167655F777269746528616464723DCA +:10AD600025702C207372633D25702C206C656E3D20 +:10AD70002564206279746573292C20717565756569 +:10AD80002075736167653A20256400004372656130 +:10AD900074696E6720746865206F626A65637420E9 +:10ADA000776974682073697A65203078253038783F +:10ADB00020776F756C64206F766572666C6F772094 +:10ADC0006669726D776172652073697A652E204FAE +:10ADD0006666736574206973203078253038782072 +:10ADE000616E64206669726D776172652073697A3D +:10ADF00065206973203078253038782E00000000F7 +:10AE00002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6347 +:10AE10006F6D706F6E656E74735C6C696272617277 +:10AE20006965735C626F6F746C6F616465725C649A +:10AE300066755C6E72665F6466755F7265715F6889 +:10AE4000616E646C65722E6300000000526573656C +:10AE50007474696E6720626F6F746C6F6164657281 +:10AE60002073657474696E67732073696E636520FF +:10AE70006E656974686572207468652073657474A2 +:10AE8000696E67732070616765206E6F72207468E9 +:10AE900065206261636B7570206172652076616CFC +:10AEA00069642028435243206572726F72292E0014 +:10AEB000526573746F72696E672073657474696E1E +:10AEC00067732066726F6D206261636B75702073AB +:10AED000696E6365207468652073657474696E6754 +:10AEE00073207061676520636F6E74656E74732084 +:10AEF00061726520696E76616C69642028435243F3 +:10AF0000206572726F72292E000000004465737410 +:10AF1000696E6174696F6E2073657474696E6773AE +:10AF200020617265206964656E746963616C207468 +:10AF30006F20736F757263652C207772697465205A +:10AF40006E6F74206E65656465642E20536B697046 +:10AF500070696E672E0000002E2E5C2E2E5C2E2E49 +:10AF60005C2E2E5C2E2E5C636F6D706F6E656E7442 +:10AF7000735C6C69627261726965735C626F6F7435 +:10AF80006C6F616465725C6466755C6E72665F644A +:10AF900066755F73657474696E67732E6300000075 +:10AFA0002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C63A6 +:10AFB0006F6D706F6E656E74735C6C6962726172D6 +:10AFC0006965735C626F6F746C6F616465725C64F9 +:10AFD00066755C6E72665F6466755F7574696C73C6 +:10AFE0002E630000546865206E657720536F667489 +:10AFF000446576696365206973206F66206120640B +:10B000006966666572656E742066616D696C79202B +:10B010007468616E207468652070726573656E7403 +:10B0200020536F66744465766963652E20436F6DA7 +:10B030007061746962696C6974792063616E6E6FA6 +:10B04000742062652067756172616E746565642E37 +:10B0500000000000426F6F742076616C6964617457 +:10B06000696F6E206F6620626F6F746C6F616465CC +:10B0700072206973206E6F7420737570706F7274B4 +:10B08000656420616E642077696C6C20626520695C +:10B09000676E6F7265642E0054686520536F667426 +:10B0A0004465766963652073697A6520696E2074EA +:10B0B000686520696E666F207374727563742069A9 +:10B0C0007320746F6F20736D616C6C20636F6D7093 +:10B0D000617265642077697468207468652073699B +:10B0E0007A65207265706F7274656420696E207471 +:10B0F000686520696E697420636F6D6D616E642E82 +:10B100000000000054686520536F667444657669DA +:10B11000636520646F6573206E6F7420636F6E7457 +:10B1200061696E20746865206D61676963206E7562 +:10B130006D626572206964656E74696679696E67AF +:10B14000206974206173206120536F6674446576B2 +:10B150006963652E00000000496E76616C69646168 +:10B1600074696E67206170702062656361757365D4 +:10B1700020697420697320696E636F6D70617469F2 +:10B18000626C6520776974682074686520536F6607 +:10B19000744465766963652E000000002E2E5C2ED7 +:10B1A0002E5C2E2E5C2E2E5C2E2E5C636F6D706FCF +:10B1B0006E656E74735C6C69627261726965735CF2 +:10B1C000626F6F746C6F616465725C6466755C6EEF +:10B1D00072665F6466755F76616C69646174696FDD +:10B1E0006E2E63002E2E5C2E2E5C2E2E5C2E2E5C80 +:10B1F0002E2E5C636F6D706F6E656E74735C6C6920 +:10B20000627261726965735C626F6F746C6F6164A6 +:10B2100065725C6466755C6E72665F6466755F76A7 +:10B2200065725F76616C69646174696F6E2E63002C +:10B230002E2E5C2E2E5C2E2E5C2E2E5C2E2E5C6313 +:10B240006F6D706F6E656E74735C6C696272617243 +:10B250006965735C757362645C636C6173735C6372 +:10B2600064635C61636D5C6170705F757362645F81 +:10B270006364635F61636D2E630000004E52465F3E +:10B280004552524F525F494E56414C49445F4441EA +:10B29000544100004E52465F4552524F525F534F49 +:10B2A00046544445564943455F4E4F545F454E41D1 +:10B2B000424C4544000000004E52465F4552524FFA +:10B2C000525F464541545552455F4E4F545F454E7F +:10B2D00041424C45440000004E52465F4552524F99 +:10B2E000525F4D555445585F554E4C4F434B5F464A +:10B2F00041494C45440000004E52465F4552524F72 +:10B30000525F4D555445585F4C4F434B5F46414942 +:10B310004C4544004E52465F4552524F525F4D5588 +:10B320005445585F434F4E445F494E49545F464130 +:10B33000494C4544000000004E52465F4552524F72 +:10B34000525F4D555445585F494E49545F464149F7 +:10B350004C4544004E52465F4552524F525F424C5C +:10B36000455F495053505F52585F504B545F5452A1 +:10B37000554E4341544544004E52465F4552524F4C +:10B38000525F424C455F495053505F504545525FB4 +:10B3900052454A4543544544000000004E52465F22 +:10B3A0004552524F525F424C455F495053505F4C9B +:10B3B000494E4B5F444953434F4E4E4543544544D9 +:10B3C000000000004E52465F4552524F525F4150BE +:10B3D000495F4E4F545F494D504C454D454E544585 +:10B3E000440000004E52465F4552524F525F4E4F4E +:10B3F000545F535550504F52544544004E52465F8F +:10B400004552524F525F4D4F44554C455F4E4F543D +:10B410005F494E495449414C495A45440000000097 +:10B420004E52465F4552524F525F4D4F44554C4528 +:10B430005F414C52454144595F494E495449414C42 +:10B44000495A4544000000004E52465F4552524F53 +:10B45000525F4E4F545F464F554E44004E52465F2A +:10B460004552524F525F494E56414C49445F5354E6 +:10B47000415445004E52465F4552524F525F44413F +:10B4800054415F53495A45004E52465F4552524F10 +:10B49000525F494F5F50454E44494E4700000000FF +:10B4A0004E52465F4552524F525F5356435F48419A +:10B4B0004E444C45525F4D495353494E470000009E +:10B4C0004E52465F4552524F525F494E56414C498B +:10B4D000445F4C454E475448000000004E52465FC2 +:10B4E0004552524F525F4452565F5457495F45523E +:10B4F000525F414E41434B004E52465F4552524FC0 +:10B50000525F4452565F5457495F4552525F444E12 +:10B5100041434B004E52465F4552524F525F494E97 +:10B520005445524E414C00004E52465F4552524FD8 +:10B53000525F53544F524147455F46554C4C0000B3 +:10B540004E52465F4552524F525F4E554C4C000092 +:10B550004E52465F4552524F525F494E56414C49FA +:10B56000445F504152414D004E52465F4552524F4A +:10B57000525F4E4F5F4D454D000000004E52465FFA +:10B580004552524F525F464F5242494444454E0045 +:10B590004E52465F4552524F525F4452565F545787 +:10B5A000495F4552525F4F56455252554E0000007A +:10B5B0004E52465F4552524F525F494E56414C499A +:10B5C000445F4144445200004E52465F4552524F40 +:10B5D000525F494E56414C49445F464C41475300E7 +:10B5E0004E52465F53554343455353004E52465FB8 +:10B5F0004552524F525F424C455F495053505F4352 +:10B6000048414E4E454C5F414C52454144595F457F +:10B6100058495354530000004E52465F4552524F12 +:10B62000525F54494D454F55540000004E52465FFD +:10B630004552524F525F4255535900002E2E5C2EF8 +:10B640002E5C2E2E5C2E2E5C2E2E5C636F6D706F2A +:10B650006E656E74735C6C69627261726965735C4D +:10B660006C6F675C7372635C6E72665F6C6F675F52 +:10B6700064656661756C745F6261636B656E64734B +:10B680002E6300007761726E696E67006465627593 +:10B69000670000001B5B313B33306D001B5B306D7E +:10B6A000000000001B5B313B33316D001B5B313B05 +:10B6B00033326D001B5B313B33336D001B5B313B21 +:10B6C00033346D001B5B313B33356D001B5B313B0D +:10B6D00033366D001B5B313B33376D00696E666F2F +:10B6E000000000006572726F720000002E2E5C2E4A +:10B6F0002E5C2E2E5C2E2E5C2E2E5C636F6D706F7A +:10B700006E656E74735C6C69627261726965735C9C +:10B71000626F6F746C6F616465725C73657269618E +:10B720006C5F6466755C6E72665F6466755F736598 +:10B730007269616C2E6300002E2E5C2E2E5C2E2E04 +:10B740005C2E2E5C2E2E5C636F6D706F6E656E745A +:10B75000735C6C69627261726965735C626F6F744D +:10B760006C6F616465725C73657269616C5F64665D +:10B77000755C6E72665F6466755F73657269616C35 +:10B780005F7573622E6300006E72665F626F6F7426 +:10B790006C6F616465725F77647400006E72665FDF +:10B7A0006466755F666C6173680000006E72665F48 +:10B7B0006466755F7265715F68616E646C65720066 +:10B7C0006E72665F6466755F73657474696E6773C5 +:10B7D000000000006E72665F6466755F76616C697A +:10B7E000646174696F6E00006E72665F6466755F97 +:10B7F0007665725F76616C69646174696F6E000072 +:10B80000636C6F636B000000434C4F434B000000C0 +:10B810005052530055415254450000005553424484 +:10B82000000000006170705F7573626400000000CA +:10B830006364635F61636D006170705F7573626400 +:10B840005F636F72650000006D656D5F6D6E67729E +:10B85000000000006E72665F6673746F72616765E8 +:10B86000000000007274745F6C6F675F6261636BED +:10B87000656E6400617070006E72665F6466755F0D +:10B8800073657269616C00006E72665F6466755FF5 +:10B8900073657269616C5F7573620000020000007D +:10B8A00000000000FDD90E00A9D90E0067E6096A64 +:10B8B00085AE67BB72F36E3C3AF54FA57F520E51D1 +:10B8C0008C68059BABD9831F19CDE05BFFFFFFFFA1 +:10B8D000FFFFFFFFFFFFFFFF000000000000000070 +:10B8E0000000000001000000FFFFFFFFFCFFFFFF62 +:10B8F000FFFFFFFFFFFFFFFF000000000000000050 +:10B900000000000001000000FFFFFFFF512563FC65 +:10B91000C2CAB9F3849E17A7ADFAE6BCFFFFFFFFCA +:10B92000FFFFFFFF00000000FFFFFFFF000000001F +:10B9300096C298D84539A1F4A033EB2D817D0377C9 +:10B94000F240A463E5E6BCF847422CE1F2D1176B64 +:10B95000F551BF376840B6CBCE5E316B5733CE2B37 +:10B96000169E0F7C4AEBE78E9B7F1AFEE242E34F66 +:10B97000FFFFFFFF7F0000008000000000000000CC +:10B9800000000000FFFFFFFF7F00000080000000BC +:10B99000000000000000000098BA0F00080000201E +:10B9A0009801000070C50E0004BB0F00A00100202C +:10B9B00068D10000D8DF0E0049020F0081020F009D +:10B9C0004D9B0F00499B0F009CAA0F000000000038 +:10B9D00064B80F001C01002088B70F0000000404A9 +:10B9E0009CB70F0000000404ACB70F000000040473 +:10B9F000C0B70F0000000404D4B70F000000040417 +:10BA0000E8B70F000000040400B80F0000000000B9 +:10BA100008B80F000000000010B80F000000000080 +:10BA200014B80F00000000001CB80F000000000058 +:10BA300024B80F000000000030B80F000000000024 +:10BA400038B80F000000000048B80F0000000000E8 +:10BA500054B80F000000040474B80F000000040480 +:10BA600078B80F000000040488B80F000000040438 +:10BA7000300100202801002030010020D0270020C4 +:10BA8000180000007C010020790100207C010020CA +:10BA9000587A002004080000011022241B203404DE +:10BAA00001200A260118036DE00F041DF1F50E14A4 +:10BAB000D8A80F1ADE041AF304138027152009A949 +:10BAC0000F1A1F0401102AFF04091DBB14E4B60F4E +:10BAD0001A84041ADC041A8C041A9C041A94041A9A +:10BAE000A4041AAC041AB4041ABC041AC4041ACC70 +:10BAF000041AD4040210108490D0031B6D10713905 +:04BB000021121000FE +:020000041000EA +:0810140000C00E0000E00F0017 +:00000001FF diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..9000e21 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0xec000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0xec000; +define symbol __ICFEDIT_region_ROM_end__ = 0xfdfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000008; +define symbol __ICFEDIT_region_RAM_end__ = 0x2003ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x000FF000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x000FE000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/iar/secure_bootloader_usb_mbr_pca10056_debug.ewd b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/iar/secure_bootloader_usb_mbr_pca10056_debug.ewd new file mode 100644 index 0000000..eca25c5 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/iar/secure_bootloader_usb_mbr_pca10056_debug.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52840_xxaa_debug + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/iar/secure_bootloader_usb_mbr_pca10056_debug.ewp b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/iar/secure_bootloader_usb_mbr_pca10056_debug.ewp new file mode 100644 index 0000000..329246d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/iar/secure_bootloader_usb_mbr_pca10056_debug.ewp @@ -0,0 +1,1185 @@ + + + + + 2 + nrf52840_xxaa_debug + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_USB_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_usb.c + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_uart.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + nRF_Crypto backend CC310_BL + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\cc310_bl\cc310_bl_backend_shared.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\class\cdc\acm\app_usbd_cdc_acm.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd_core.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd_serial_num.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd_string_desc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\slip\slip.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_clock.c + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_power.c + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_clock.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_power.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_systick.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_usbd.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_Segger_RTT + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_IAR.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52840.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52840.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_Serial_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + UTF8/UTF16 converter + $PROJ_DIR$\..\..\..\..\..\external\utf_converter\utf.c + nrf_cc310_bl + $PROJ_DIR$\..\..\..\..\..\external\nrf_cc310_bl\lib\cortex-m4\hard-float\short-wchar\libnrf_cc310_bl_0.9.13.a + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/ses/flash_placement.xml new file mode 100644 index 0000000..5d3cbaf --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/ses/flash_placement.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/ses/secure_bootloader_usb_mbr_pca10056_debug.emProject b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/ses/secure_bootloader_usb_mbr_pca10056_debug.emProject new file mode 100644 index 0000000..96f6e86 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/ses/secure_bootloader_usb_mbr_pca10056_debug.emProject @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/ses/secure_bootloader_usb_mbr_pca10056_debug.emSession b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/ses/secure_bootloader_usb_mbr_pca10056_debug.emSession new file mode 100644 index 0000000..7bb175b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056_usb_debug/ses/secure_bootloader_usb_mbr_pca10056_debug.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10056e.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10056e.uvoptx new file mode 100644 index 0000000..4107635 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10056e.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52811_xxaa_s112 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52811_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52811_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52811_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s112_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52811_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52811_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52811_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10056e.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10056e.uvprojx new file mode 100644 index 0000000..f839e50 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10056e.uvprojx @@ -0,0 +1,6703 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52811_xxaa_s112 + 0x4 + ARM-ADS + + nRF52811_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x30000) IRAM(0x20000000,0x6000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52811.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52811_xxaa_s112 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x6000 + + + 1 + 0x0 + 0x30000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x28000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200022c8 + 0x3d38 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52840 FLOAT_ABI_SOFT NRF52811_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 __STACK_SIZE=2048 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s112\headers;..\..\..\..\..\components\softdevice\s112\headers\nrf52;..\..;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DDEVELOP_IN_NRF52840,-DFLOAT_ABI_SOFT,-DNRF52811_XXAA,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS112,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-D__STACK_SIZE=2048,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BLE_STACK_SUPPORT_REQD BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52840 FLOAT_ABI_SOFT NRF52811_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 __STACK_SIZE=2048 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s112\headers;..\..\..\..\..\components\softdevice\s112\headers\nrf52;..\..;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s112_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52811_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x30000) IRAM(0x20000000,0x6000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s112\hex\ + s112_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x6000 + + + 1 + 0x0 + 0x30000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x28000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200022c8 + 0x3d38 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 __STACK_SIZE=2048 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0,-D__STACK_SIZE=2048 + __HEAP_SIZE=0 __STACK_SIZE=2048 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/armgcc/Makefile new file mode 100644 index 0000000..0f7c410 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/armgcc/Makefile @@ -0,0 +1,257 @@ +PROJECT_NAME := secure_bootloader_ble_s112_pca10056e +TARGETS := nrf52811_xxaa_s112 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52811_xxaa_s112.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52811.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52811.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/softdevice/s112/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/softdevice/s112/headers \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/soft-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52nf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10056 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEVELOP_IN_NRF52840 +CFLAGS += -DFLOAT_ABI_SOFT +CFLAGS += -DNRF52811_XXAA +CFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS112 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=soft +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=soft +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10056 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEVELOP_IN_NRF52840 +ASMFLAGS += -DFLOAT_ABI_SOFT +ASMFLAGS += -DNRF52811_XXAA +ASMFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS112 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52811_xxaa_s112: CFLAGS += -D__HEAP_SIZE=0 +nrf52811_xxaa_s112: CFLAGS += -D__STACK_SIZE=2048 +nrf52811_xxaa_s112: ASMFLAGS += -D__HEAP_SIZE=0 +nrf52811_xxaa_s112: ASMFLAGS += -D__STACK_SIZE=2048 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52811_xxaa_s112 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52811_xxaa_s112 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52811_xxaa_s112.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52811_xxaa_s112.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s112_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s112/hex/s112_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..0812816 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,150 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x28000, LENGTH = 0x6000 + RAM (rwx) : ORIGIN = 0x200022c8, LENGTH = 0x3d38 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0002E000, LENGTH = 0x1000 + bootloader_settings_page (r) : ORIGIN = 0x0002F000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/config/sdk_config.h new file mode 100644 index 0000000..951770e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/config/sdk_config.h @@ -0,0 +1,5344 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 8192 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 0 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/iar/secure_bootloader_ble_s112_pca10056e.ewd b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/iar/secure_bootloader_ble_s112_pca10056e.ewd new file mode 100644 index 0000000..8d5e9ad --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/iar/secure_bootloader_ble_s112_pca10056e.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52811_xxaa_s112 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/iar/secure_bootloader_ble_s112_pca10056e.ewp b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/iar/secure_bootloader_ble_s112_pca10056e.ewp new file mode 100644 index 0000000..37a9cce --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/iar/secure_bootloader_ble_s112_pca10056e.ewp @@ -0,0 +1,1166 @@ + + + + + 2 + nrf52811_xxaa_s112 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52nf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52811.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52811.c + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..b91aaf4 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x28000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x28000; +define symbol __ICFEDIT_region_ROM_end__ = 0x2dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x200022c8; +define symbol __ICFEDIT_region_RAM_end__ = 0x20005fff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0002E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; +define symbol __region_bootloader_settings_page_start = 0x0002F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/ses/flash_placement.xml new file mode 100644 index 0000000..b75ca41 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/ses/flash_placement.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/ses/secure_bootloader_ble_s112_pca10056e.emProject b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/ses/secure_bootloader_ble_s112_pca10056e.emProject new file mode 100644 index 0000000..669ae43 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/ses/secure_bootloader_ble_s112_pca10056e.emProject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/ses/secure_bootloader_ble_s112_pca10056e.emSession b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/ses/secure_bootloader_ble_s112_pca10056e.emSession new file mode 100644 index 0000000..53cbd74 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble/ses/secure_bootloader_ble_s112_pca10056e.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10056e_debug.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10056e_debug.uvoptx new file mode 100644 index 0000000..4107635 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10056e_debug.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52811_xxaa_s112 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52811_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52811_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52811_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s112_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52811_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52811_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52811_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10056e_debug.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10056e_debug.uvprojx new file mode 100644 index 0000000..5e0b33e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10056e_debug.uvprojx @@ -0,0 +1,7661 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52811_xxaa_s112 + 0x4 + ARM-ADS + + nRF52811_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x30000) IRAM(0x20000000,0x6000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52811.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52811_xxaa_s112 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x6000 + + + 1 + 0x0 + 0x30000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x22000 + 0xc000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200022c8 + 0x3d38 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEBUG_NRF DEVELOP_IN_NRF52840 FLOAT_ABI_SOFT NRF52811_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s112\headers;..\..\..\..\..\components\softdevice\s112\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DDEVELOP_IN_NRF52840,-DFLOAT_ABI_SOFT,-DNRF52811_XXAA,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS112,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BLE_STACK_SUPPORT_REQD BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEBUG_NRF DEVELOP_IN_NRF52840 FLOAT_ABI_SOFT NRF52811_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s112\headers;..\..\..\..\..\components\softdevice\s112\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s112_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52811_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x30000) IRAM(0x20000000,0x6000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s112\hex\ + s112_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x6000 + + + 1 + 0x0 + 0x30000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x22000 + 0xc000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200022c8 + 0x3d38 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0 + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/armgcc/Makefile new file mode 100644 index 0000000..7ae0459 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/armgcc/Makefile @@ -0,0 +1,272 @@ +PROJECT_NAME := secure_bootloader_ble_s112_pca10056e_debug +TARGETS := nrf52811_xxaa_s112 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52811_xxaa_s112.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52811.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52811.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/softdevice/s112/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/softdevice/s112/headers \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/soft-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52nf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10056 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DDEVELOP_IN_NRF52840 +CFLAGS += -DFLOAT_ABI_SOFT +CFLAGS += -DNRF52811_XXAA +CFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS112 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=soft +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=soft +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10056 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DDEVELOP_IN_NRF52840 +ASMFLAGS += -DFLOAT_ABI_SOFT +ASMFLAGS += -DNRF52811_XXAA +ASMFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS112 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52811_xxaa_s112: CFLAGS += -D__HEAP_SIZE=0 +nrf52811_xxaa_s112: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52811_xxaa_s112 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52811_xxaa_s112 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52811_xxaa_s112.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52811_xxaa_s112.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s112_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s112/hex/s112_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..128e108 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,156 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x22000, LENGTH = 0xc000 + RAM (rwx) : ORIGIN = 0x200022c8, LENGTH = 0x3d38 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0002E000, LENGTH = 0x1000 + bootloader_settings_page (r) : ORIGIN = 0x0002F000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/config/sdk_config.h new file mode 100644 index 0000000..e9d399b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/config/sdk_config.h @@ -0,0 +1,5461 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 8192 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 512 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 4 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 512 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10056e_debug.ewd b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10056e_debug.ewd new file mode 100644 index 0000000..8d5e9ad --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10056e_debug.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52811_xxaa_s112 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10056e_debug.ewp b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10056e_debug.ewp new file mode 100644 index 0000000..a1d9046 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10056e_debug.ewp @@ -0,0 +1,1187 @@ + + + + + 2 + nrf52811_xxaa_s112 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52nf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_Segger_RTT + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_IAR.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52811.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52811.c + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..691046f --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x22000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x22000; +define symbol __ICFEDIT_region_ROM_end__ = 0x2dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x200022c8; +define symbol __ICFEDIT_region_RAM_end__ = 0x20005fff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0002E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; +define symbol __region_bootloader_settings_page_start = 0x0002F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/ses/flash_placement.xml new file mode 100644 index 0000000..1cfb83a --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/ses/flash_placement.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10056e_debug.emProject b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10056e_debug.emProject new file mode 100644 index 0000000..51d4a19 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10056e_debug.emProject @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10056e_debug.emSession b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10056e_debug.emSession new file mode 100644 index 0000000..2fc00a0 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10056e_debug.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056e.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056e.uvoptx new file mode 100644 index 0000000..b04be0b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056e.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52811_xxaa_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52811_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52811_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52811_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52811_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52811_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52811_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056e.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056e.uvprojx new file mode 100644 index 0000000..410b357 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/arm5_no_packs/secure_bootloader_uart_mbr_pca10056e.uvprojx @@ -0,0 +1,1349 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52811_xxaa_mbr + 0x4 + ARM-ADS + + nRF52811_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x30000) IRAM(0x20000000,0x6000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52811.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52811_xxaa_mbr + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x6000 + + + 1 + 0x0 + 0x30000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x28000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x5ff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52840 FLOAT_ABI_SOFT MBR_PRESENT NRF52811_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DDEVELOP_IN_NRF52840,-DFLOAT_ABI_SOFT,-DMBR_PRESENT,-DNRF52811_XXAA,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52840 FLOAT_ABI_SOFT MBR_PRESENT NRF52811_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_serial_uart.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + + flash_mbr + 0x4 + ARM-ADS + + nRF52811_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x30000) IRAM(0x20000000,0x6000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52811.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\mbr\hex\ + mbr_nrf52_2.4.1_mbr.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x6000 + + + 1 + 0x0 + 0x30000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x28000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x5ff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52840 FLOAT_ABI_SOFT MBR_PRESENT NRF52811_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10056,-DCONFIG_GPIO_AS_PINRESET,-DDEVELOP_IN_NRF52840,-DFLOAT_ABI_SOFT,-DMBR_PRESENT,-DNRF52811_XXAA,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BOARD_PCA10056 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52840 FLOAT_ABI_SOFT MBR_PRESENT NRF52811_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_serial_uart.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_uart/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/armgcc/Makefile new file mode 100644 index 0000000..0cbfd5a --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/armgcc/Makefile @@ -0,0 +1,249 @@ +PROJECT_NAME := secure_bootloader_uart_mbr_pca10056e +TARGETS := nrf52811_xxaa_mbr +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52811_xxaa_mbr.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52811.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52811.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/slip/slip.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_uart.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_nvic.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_soc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/prs/nrfx_prs.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uart.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uarte.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial_uart.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/mbr/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/libraries/slip \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/soft-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52nf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBOARD_PCA10056 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEVELOP_IN_NRF52840 +CFLAGS += -DFLOAT_ABI_SOFT +CFLAGS += -DMBR_PRESENT +CFLAGS += -DNRF52811_XXAA +CFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=soft +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=soft +ASMFLAGS += -DBOARD_PCA10056 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEVELOP_IN_NRF52840 +ASMFLAGS += -DFLOAT_ABI_SOFT +ASMFLAGS += -DMBR_PRESENT +ASMFLAGS += -DNRF52811_XXAA +ASMFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52811_xxaa_mbr: CFLAGS += -D__HEAP_SIZE=0 +nrf52811_xxaa_mbr: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52811_xxaa_mbr + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52811_xxaa_mbr + @echo flash_mbr + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_mbr erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52811_xxaa_mbr.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52811_xxaa_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_mbr: + @echo Flashing: mbr_nrf52_2.4.1_mbr.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/mbr/hex/mbr_nrf52_2.4.1_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_uart/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..1ebbe81 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,120 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x28000, LENGTH = 0x6000 + RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x5ff8 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0002E000, LENGTH = 0x1000 + bootloader_settings_page (r) : ORIGIN = 0x0002F000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_uart/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/config/sdk_config.h new file mode 100644 index 0000000..21b6757 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/config/sdk_config.h @@ -0,0 +1,5130 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 0 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 0 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 8192 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nrf_dfu_serial_uart - UART DFU transport + +//========================================================== +// NRF_DFU_SERIAL_UART_USES_HWFC - HWFC configuration + + +#ifndef NRF_DFU_SERIAL_UART_USES_HWFC +#define NRF_DFU_SERIAL_UART_USES_HWFC 1 +#endif + +// NRF_DFU_SERIAL_UART_RX_BUFFERS - Number of RX buffers. +// Number of buffers depends on flash access vs. +// transport throughtput. If value is too low it may lead +// to received packets being dropped. + +#ifndef NRF_DFU_SERIAL_UART_RX_BUFFERS +#define NRF_DFU_SERIAL_UART_RX_BUFFERS 3 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// NRFX_PRS_ENABLED - nrfx_prs - Peripheral Resource Sharing module +//========================================================== +#ifndef NRFX_PRS_ENABLED +#define NRFX_PRS_ENABLED 1 +#endif +// NRFX_PRS_BOX_0_ENABLED - Enables box 0 in the module. + + +#ifndef NRFX_PRS_BOX_0_ENABLED +#define NRFX_PRS_BOX_0_ENABLED 0 +#endif + +// NRFX_PRS_BOX_1_ENABLED - Enables box 1 in the module. + + +#ifndef NRFX_PRS_BOX_1_ENABLED +#define NRFX_PRS_BOX_1_ENABLED 0 +#endif + +// NRFX_PRS_BOX_2_ENABLED - Enables box 2 in the module. + + +#ifndef NRFX_PRS_BOX_2_ENABLED +#define NRFX_PRS_BOX_2_ENABLED 1 +#endif + +// NRFX_PRS_BOX_3_ENABLED - Enables box 3 in the module. + + +#ifndef NRFX_PRS_BOX_3_ENABLED +#define NRFX_PRS_BOX_3_ENABLED 0 +#endif + +// NRFX_PRS_BOX_4_ENABLED - Enables box 4 in the module. + + +#ifndef NRFX_PRS_BOX_4_ENABLED +#define NRFX_PRS_BOX_4_ENABLED 1 +#endif + +// NRFX_PRS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PRS_CONFIG_LOG_ENABLED +#define NRFX_PRS_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PRS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PRS_CONFIG_LOG_LEVEL +#define NRFX_PRS_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PRS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_INFO_COLOR +#define NRFX_PRS_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PRS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_DEBUG_COLOR +#define NRFX_PRS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UARTE_ENABLED - nrfx_uarte - UARTE peripheral driver +//========================================================== +#ifndef NRFX_UARTE_ENABLED +#define NRFX_UARTE_ENABLED 1 +#endif +// NRFX_UARTE0_ENABLED - Enable UARTE0 instance +#ifndef NRFX_UARTE0_ENABLED +#define NRFX_UARTE0_ENABLED 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_HWFC +#define NRFX_UARTE_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_PARITY +#define NRFX_UARTE_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <8388608=> 31250 baud +// <10289152=> 38400 baud +// <15007744=> 56000 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UARTE_CONFIG_LOG_ENABLED +#define NRFX_UARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UARTE_CONFIG_LOG_LEVEL +#define NRFX_UARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_INFO_COLOR +#define NRFX_UARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_DEBUG_COLOR +#define NRFX_UARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UART_ENABLED - nrfx_uart - UART peripheral driver +//========================================================== +#ifndef NRFX_UART_ENABLED +#define NRFX_UART_ENABLED 1 +#endif +// NRFX_UART0_ENABLED - Enable UART0 instance +#ifndef NRFX_UART0_ENABLED +#define NRFX_UART0_ENABLED 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UART_DEFAULT_CONFIG_HWFC +#define NRFX_UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UART_DEFAULT_CONFIG_PARITY +#define NRFX_UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3866624=> 14400 baud +// <5152768=> 19200 baud +// <7729152=> 28800 baud +// <8388608=> 31250 baud +// <10309632=> 38400 baud +// <15007744=> 56000 baud +// <15462400=> 57600 baud +// <20615168=> 76800 baud +// <30924800=> 115200 baud +// <61845504=> 230400 baud +// <67108864=> 250000 baud +// <123695104=> 460800 baud +// <247386112=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UART_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UART_DEFAULT_CONFIG_BAUDRATE 30924800 +#endif + +// NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UART_CONFIG_LOG_ENABLED +#define NRFX_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UART_CONFIG_LOG_LEVEL +#define NRFX_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_INFO_COLOR +#define NRFX_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_DEBUG_COLOR +#define NRFX_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver - legacy layer +//========================================================== +#ifndef UART_ENABLED +#define UART_ENABLED 1 +#endif +// UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef UART_DEFAULT_CONFIG_HWFC +#define UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef UART_DEFAULT_CONFIG_PARITY +#define UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef UART_DEFAULT_CONFIG_BAUDRATE +#define UART_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// UART_EASY_DMA_SUPPORT - Driver supporting EasyDMA + + +#ifndef UART_EASY_DMA_SUPPORT +#define UART_EASY_DMA_SUPPORT 1 +#endif + +// UART_LEGACY_SUPPORT - Driver supporting Legacy mode + + +#ifndef UART_LEGACY_SUPPORT +#define UART_LEGACY_SUPPORT 0 +#endif + +// UART0_ENABLED - Enable UART0 instance +//========================================================== +#ifndef UART0_ENABLED +#define UART0_ENABLED 1 +#endif +// UART0_CONFIG_USE_EASY_DMA - Default setting for using EasyDMA + + +#ifndef UART0_CONFIG_USE_EASY_DMA +#define UART0_CONFIG_USE_EASY_DMA 1 +#endif + +// + +// + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// SLIP_ENABLED - slip - SLIP encoding and decoding + + +#ifndef SLIP_ENABLED +#define SLIP_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 0 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 0 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 0 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_uart/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..0da973b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x28000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x28000; +define symbol __ICFEDIT_region_ROM_end__ = 0x2dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000008; +define symbol __ICFEDIT_region_RAM_end__ = 0x20005fff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0002E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; +define symbol __region_bootloader_settings_page_start = 0x0002F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_uart/iar/secure_bootloader_uart_mbr_pca10056e.ewd b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/iar/secure_bootloader_uart_mbr_pca10056e.ewd new file mode 100644 index 0000000..5bda3b1 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/iar/secure_bootloader_uart_mbr_pca10056e.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52811_xxaa_mbr + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_uart/iar/secure_bootloader_uart_mbr_pca10056e.ewp b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/iar/secure_bootloader_uart_mbr_pca10056e.ewp new file mode 100644 index 0000000..4bfc771 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/iar/secure_bootloader_uart_mbr_pca10056e.ewp @@ -0,0 +1,1159 @@ + + + + + 2 + nrf52811_xxaa_mbr + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\slip\slip.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52nf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52811.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52811.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_Serial_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_uart/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/ses/flash_placement.xml new file mode 100644 index 0000000..2ecd4b4 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/ses/flash_placement.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_uart/ses/secure_bootloader_uart_mbr_pca10056e.emProject b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/ses/secure_bootloader_uart_mbr_pca10056e.emProject new file mode 100644 index 0000000..4c690f3 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/ses/secure_bootloader_uart_mbr_pca10056e.emProject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10056e_uart/ses/secure_bootloader_uart_mbr_pca10056e.emSession b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/ses/secure_bootloader_uart_mbr_pca10056e.emSession new file mode 100644 index 0000000..d09be50 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10056e_uart/ses/secure_bootloader_uart_mbr_pca10056e.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/arm5_no_packs/secure_bootloader_ble_s113_pca10100.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/arm5_no_packs/secure_bootloader_ble_s113_pca10100.uvoptx new file mode 100644 index 0000000..96c2912 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/arm5_no_packs/secure_bootloader_ble_s113_pca10100.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52833_xxaa_s113 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52833_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s113_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52833_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/arm5_no_packs/secure_bootloader_ble_s113_pca10100.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/arm5_no_packs/secure_bootloader_ble_s113_pca10100.uvprojx new file mode 100644 index 0000000..1bb8156 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/arm5_no_packs/secure_bootloader_ble_s113_pca10100.uvprojx @@ -0,0 +1,6703 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52833_xxaa_s113 + 0x4 + ARM-ADS + + nRF52833_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x80000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52833.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52833_xxaa_s113 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x20000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x78000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20002608 + 0x1d9f8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD NRF52833_XXAA NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S113 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 __STACK_SIZE=2048 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s113\headers;..\..\..\..\..\components\softdevice\s113\headers\nrf52;..\..;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10100,-DCONFIG_GPIO_AS_PINRESET,-DFLOAT_ABI_HARD,-DNRF52833_XXAA,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS113,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-D__STACK_SIZE=2048,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BLE_STACK_SUPPORT_REQD BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD NRF52833_XXAA NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S113 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 __STACK_SIZE=2048 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s113\headers;..\..\..\..\..\components\softdevice\s113\headers\nrf52;..\..;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s113_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52833_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x80000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s113\hex\ + s113_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x20000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x78000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20002608 + 0x1d9f8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 __STACK_SIZE=2048 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0,-D__STACK_SIZE=2048 + __HEAP_SIZE=0 __STACK_SIZE=2048 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/armgcc/Makefile new file mode 100644 index 0000000..2cb379f --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/armgcc/Makefile @@ -0,0 +1,254 @@ +PROJECT_NAME := secure_bootloader_ble_s113_pca10100 +TARGETS := nrf52833_xxaa_s113 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52833_xxaa_s113.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52833.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52833.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/softdevice/s113/headers \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/softdevice/s113/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52hf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10100 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52833_XXAA +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS113 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10100 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52833_XXAA +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS113 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52833_xxaa_s113: CFLAGS += -D__HEAP_SIZE=0 +nrf52833_xxaa_s113: CFLAGS += -D__STACK_SIZE=2048 +nrf52833_xxaa_s113: ASMFLAGS += -D__HEAP_SIZE=0 +nrf52833_xxaa_s113: ASMFLAGS += -D__STACK_SIZE=2048 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52833_xxaa_s113 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52833_xxaa_s113 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52833_xxaa_s113.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52833_xxaa_s113.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s113_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s113/hex/s113_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..fca73c7 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,150 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x78000, LENGTH = 0x6000 + RAM (rwx) : ORIGIN = 0x20002608, LENGTH = 0x1d9f8 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x0007F000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0007E000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/config/sdk_config.h new file mode 100644 index 0000000..1375b80 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/config/sdk_config.h @@ -0,0 +1,5360 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <32=> 32 (P1.0) +// <33=> 33 (P1.1) +// <34=> 34 (P1.2) +// <35=> 35 (P1.3) +// <36=> 36 (P1.4) +// <37=> 37 (P1.5) +// <38=> 38 (P1.6) +// <39=> 39 (P1.7) +// <40=> 40 (P1.8) +// <41=> 41 (P1.9) +// <42=> 42 (P1.10) +// <43=> 43 (P1.11) +// <44=> 44 (P1.12) +// <45=> 45 (P1.13) +// <46=> 46 (P1.14) +// <47=> 47 (P1.15) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 8192 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 0 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/iar/secure_bootloader_ble_s113_pca10100.ewd b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/iar/secure_bootloader_ble_s113_pca10100.ewd new file mode 100644 index 0000000..3746f79 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/iar/secure_bootloader_ble_s113_pca10100.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52833_xxaa_s113 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/iar/secure_bootloader_ble_s113_pca10100.ewp b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/iar/secure_bootloader_ble_s113_pca10100.ewp new file mode 100644 index 0000000..1b86df3 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/iar/secure_bootloader_ble_s113_pca10100.ewp @@ -0,0 +1,1162 @@ + + + + + 2 + nrf52833_xxaa_s113 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52hf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52833.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52833.c + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..7a42abf --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x78000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x78000; +define symbol __ICFEDIT_region_ROM_end__ = 0x7dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20002608; +define symbol __ICFEDIT_region_RAM_end__ = 0x2001ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x0007F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0007E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/ses/flash_placement.xml new file mode 100644 index 0000000..c258ff9 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/ses/flash_placement.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/ses/secure_bootloader_ble_s113_pca10100.emProject b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/ses/secure_bootloader_ble_s113_pca10100.emProject new file mode 100644 index 0000000..eb3a46d --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/ses/secure_bootloader_ble_s113_pca10100.emProject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/ses/secure_bootloader_ble_s113_pca10100.emSession b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/ses/secure_bootloader_ble_s113_pca10100.emSession new file mode 100644 index 0000000..c4c4015 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble/ses/secure_bootloader_ble_s113_pca10100.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/arm5_no_packs/secure_bootloader_ble_s113_pca10100_debug.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/arm5_no_packs/secure_bootloader_ble_s113_pca10100_debug.uvoptx new file mode 100644 index 0000000..96c2912 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/arm5_no_packs/secure_bootloader_ble_s113_pca10100_debug.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52833_xxaa_s113 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52833_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s113_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52833_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/arm5_no_packs/secure_bootloader_ble_s113_pca10100_debug.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/arm5_no_packs/secure_bootloader_ble_s113_pca10100_debug.uvprojx new file mode 100644 index 0000000..98f31b1 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/arm5_no_packs/secure_bootloader_ble_s113_pca10100_debug.uvprojx @@ -0,0 +1,7661 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52833_xxaa_s113 + 0x4 + ARM-ADS + + nRF52833_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x80000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52833.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52833_xxaa_s113 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x20000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x72000 + 0xc000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20002608 + 0x1d9f8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD NRF52833_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S113 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s113\headers;..\..\..\..\..\components\softdevice\s113\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10100,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DFLOAT_ABI_HARD,-DNRF52833_XXAA,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS113,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BLE_STACK_SUPPORT_REQD BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD NRF52833_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S113 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s113\headers;..\..\..\..\..\components\softdevice\s113\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s113_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52833_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x80000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s113\hex\ + s113_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x20000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x72000 + 0xc000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20002608 + 0x1d9f8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0 + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/armgcc/Makefile new file mode 100644 index 0000000..c2d7251 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/armgcc/Makefile @@ -0,0 +1,269 @@ +PROJECT_NAME := secure_bootloader_ble_s113_pca10100_debug +TARGETS := nrf52833_xxaa_s113 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52833_xxaa_s113.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52833.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52833.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/softdevice/s113/headers \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/softdevice/s113/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52hf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10100 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52833_XXAA +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS113 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10100 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52833_XXAA +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS113 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52833_xxaa_s113: CFLAGS += -D__HEAP_SIZE=0 +nrf52833_xxaa_s113: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52833_xxaa_s113 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52833_xxaa_s113 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52833_xxaa_s113.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52833_xxaa_s113.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s113_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s113/hex/s113_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..6483059 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,156 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x72000, LENGTH = 0xc000 + RAM (rwx) : ORIGIN = 0x20002608, LENGTH = 0x1d9f8 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x0007F000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0007E000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/config/sdk_config.h new file mode 100644 index 0000000..6c71143 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/config/sdk_config.h @@ -0,0 +1,5477 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <32=> 32 (P1.0) +// <33=> 33 (P1.1) +// <34=> 34 (P1.2) +// <35=> 35 (P1.3) +// <36=> 36 (P1.4) +// <37=> 37 (P1.5) +// <38=> 38 (P1.6) +// <39=> 39 (P1.7) +// <40=> 40 (P1.8) +// <41=> 41 (P1.9) +// <42=> 42 (P1.10) +// <43=> 43 (P1.11) +// <44=> 44 (P1.12) +// <45=> 45 (P1.13) +// <46=> 46 (P1.14) +// <47=> 47 (P1.15) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 8192 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 4096 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 4 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 4096 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/iar/secure_bootloader_ble_s113_pca10100_debug.ewd b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/iar/secure_bootloader_ble_s113_pca10100_debug.ewd new file mode 100644 index 0000000..3746f79 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/iar/secure_bootloader_ble_s113_pca10100_debug.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52833_xxaa_s113 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/iar/secure_bootloader_ble_s113_pca10100_debug.ewp b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/iar/secure_bootloader_ble_s113_pca10100_debug.ewp new file mode 100644 index 0000000..9831718 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/iar/secure_bootloader_ble_s113_pca10100_debug.ewp @@ -0,0 +1,1183 @@ + + + + + 2 + nrf52833_xxaa_s113 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52hf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_Segger_RTT + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_IAR.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52833.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52833.c + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..e83a345 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x72000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x72000; +define symbol __ICFEDIT_region_ROM_end__ = 0x7dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20002608; +define symbol __ICFEDIT_region_RAM_end__ = 0x2001ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x0007F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0007E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/ses/flash_placement.xml new file mode 100644 index 0000000..db38cf2 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/ses/flash_placement.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/ses/secure_bootloader_ble_s113_pca10100_debug.emProject b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/ses/secure_bootloader_ble_s113_pca10100_debug.emProject new file mode 100644 index 0000000..5977a35 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/ses/secure_bootloader_ble_s113_pca10100_debug.emProject @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/ses/secure_bootloader_ble_s113_pca10100_debug.emSession b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/ses/secure_bootloader_ble_s113_pca10100_debug.emSession new file mode 100644 index 0000000..f755554 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s113_ble_debug/ses/secure_bootloader_ble_s113_pca10100_debug.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10100.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10100.uvoptx new file mode 100644 index 0000000..a16ef98 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10100.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52833_xxaa_s140 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52833_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s140_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52833_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10100.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10100.uvprojx new file mode 100644 index 0000000..725d93e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/arm5_no_packs/secure_bootloader_ble_s140_pca10100.uvprojx @@ -0,0 +1,6703 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52833_xxaa_s140 + 0x4 + ARM-ADS + + nRF52833_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x80000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52833.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52833_xxaa_s140 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x20000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x78000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20002ae8 + 0x1d518 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD NRF52833_XXAA NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S140 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 __STACK_SIZE=2048 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s140\headers;..\..\..\..\..\components\softdevice\s140\headers\nrf52;..\..;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10100,-DCONFIG_GPIO_AS_PINRESET,-DFLOAT_ABI_HARD,-DNRF52833_XXAA,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS140,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-D__STACK_SIZE=2048,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BLE_STACK_SUPPORT_REQD BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET FLOAT_ABI_HARD NRF52833_XXAA NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S140 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 __STACK_SIZE=2048 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s140\headers;..\..\..\..\..\components\softdevice\s140\headers\nrf52;..\..;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s140_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52833_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x80000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s140\hex\ + s140_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x20000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x78000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20002ae8 + 0x1d518 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 __STACK_SIZE=2048 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0,-D__STACK_SIZE=2048 + __HEAP_SIZE=0 __STACK_SIZE=2048 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/armgcc/Makefile new file mode 100644 index 0000000..34a7d07 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/armgcc/Makefile @@ -0,0 +1,254 @@ +PROJECT_NAME := secure_bootloader_ble_s140_pca10100 +TARGETS := nrf52833_xxaa_s140 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52833_xxaa_s140.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52833.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52833.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/softdevice/s140/headers/nrf52 \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/s140/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52hf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10100 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52833_XXAA +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS140 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10100 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52833_XXAA +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS140 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52833_xxaa_s140: CFLAGS += -D__HEAP_SIZE=0 +nrf52833_xxaa_s140: CFLAGS += -D__STACK_SIZE=2048 +nrf52833_xxaa_s140: ASMFLAGS += -D__HEAP_SIZE=0 +nrf52833_xxaa_s140: ASMFLAGS += -D__STACK_SIZE=2048 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52833_xxaa_s140 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52833_xxaa_s140 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52833_xxaa_s140.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52833_xxaa_s140.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s140_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s140/hex/s140_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..732b8bb --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,150 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x78000, LENGTH = 0x6000 + RAM (rwx) : ORIGIN = 0x20002ae8, LENGTH = 0x1d518 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x0007F000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0007E000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/config/sdk_config.h new file mode 100644 index 0000000..1375b80 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/config/sdk_config.h @@ -0,0 +1,5360 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <32=> 32 (P1.0) +// <33=> 33 (P1.1) +// <34=> 34 (P1.2) +// <35=> 35 (P1.3) +// <36=> 36 (P1.4) +// <37=> 37 (P1.5) +// <38=> 38 (P1.6) +// <39=> 39 (P1.7) +// <40=> 40 (P1.8) +// <41=> 41 (P1.9) +// <42=> 42 (P1.10) +// <43=> 43 (P1.11) +// <44=> 44 (P1.12) +// <45=> 45 (P1.13) +// <46=> 46 (P1.14) +// <47=> 47 (P1.15) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 8192 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 0 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/iar/secure_bootloader_ble_s140_pca10100.ewd b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/iar/secure_bootloader_ble_s140_pca10100.ewd new file mode 100644 index 0000000..9bc5407 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/iar/secure_bootloader_ble_s140_pca10100.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52833_xxaa_s140 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/iar/secure_bootloader_ble_s140_pca10100.ewp b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/iar/secure_bootloader_ble_s140_pca10100.ewp new file mode 100644 index 0000000..15512c6 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/iar/secure_bootloader_ble_s140_pca10100.ewp @@ -0,0 +1,1162 @@ + + + + + 2 + nrf52833_xxaa_s140 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52hf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52833.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52833.c + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..1319959 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x78000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x78000; +define symbol __ICFEDIT_region_ROM_end__ = 0x7dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20002ae8; +define symbol __ICFEDIT_region_RAM_end__ = 0x2001ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x0007F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0007E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/ses/flash_placement.xml new file mode 100644 index 0000000..c258ff9 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/ses/flash_placement.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/ses/secure_bootloader_ble_s140_pca10100.emProject b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/ses/secure_bootloader_ble_s140_pca10100.emProject new file mode 100644 index 0000000..bf77862 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/ses/secure_bootloader_ble_s140_pca10100.emProject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/ses/secure_bootloader_ble_s140_pca10100.emSession b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/ses/secure_bootloader_ble_s140_pca10100.emSession new file mode 100644 index 0000000..32af1e9 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble/ses/secure_bootloader_ble_s140_pca10100.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10100_debug.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10100_debug.uvoptx new file mode 100644 index 0000000..a16ef98 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10100_debug.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52833_xxaa_s140 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52833_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s140_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52833_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52833_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10100_debug.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10100_debug.uvprojx new file mode 100644 index 0000000..5a752bf --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/arm5_no_packs/secure_bootloader_ble_s140_pca10100_debug.uvprojx @@ -0,0 +1,7661 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52833_xxaa_s140 + 0x4 + ARM-ADS + + nRF52833_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x80000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52833.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52833_xxaa_s140 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x20000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x72000 + 0xc000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20002ae8 + 0x1d518 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD NRF52833_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S140 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s140\headers;..\..\..\..\..\components\softdevice\s140\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10100,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DFLOAT_ABI_HARD,-DNRF52833_XXAA,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS140,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BLE_STACK_SUPPORT_REQD BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEBUG_NRF FLOAT_ABI_HARD NRF52833_XXAA NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S140 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s140\headers;..\..\..\..\..\components\softdevice\s140\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s140_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52833_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x80000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M4") FPU2 CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s140\hex\ + s140_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x20000 + + + 1 + 0x0 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x72000 + 0xc000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20002ae8 + 0x1d518 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0 + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52hf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/armgcc/Makefile new file mode 100644 index 0000000..1e40019 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/armgcc/Makefile @@ -0,0 +1,269 @@ +PROJECT_NAME := secure_bootloader_ble_s140_pca10100_debug +TARGETS := nrf52833_xxaa_s140 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52833_xxaa_s140.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52833.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52833.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/softdevice/s140/headers/nrf52 \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/s140/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/hard-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52hf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10100 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DFLOAT_ABI_HARD +CFLAGS += -DNRF52833_XXAA +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS140 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10100 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DFLOAT_ABI_HARD +ASMFLAGS += -DNRF52833_XXAA +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS140 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +LDFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52833_xxaa_s140: CFLAGS += -D__HEAP_SIZE=0 +nrf52833_xxaa_s140: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52833_xxaa_s140 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52833_xxaa_s140 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52833_xxaa_s140.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52833_xxaa_s140.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s140_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s140/hex/s140_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..259bf84 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,156 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x72000, LENGTH = 0xc000 + RAM (rwx) : ORIGIN = 0x20002ae8, LENGTH = 0x1d518 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + bootloader_settings_page (r) : ORIGIN = 0x0007F000, LENGTH = 0x1000 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0007E000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/config/sdk_config.h new file mode 100644 index 0000000..6c71143 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/config/sdk_config.h @@ -0,0 +1,5477 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <32=> 32 (P1.0) +// <33=> 33 (P1.1) +// <34=> 34 (P1.2) +// <35=> 35 (P1.3) +// <36=> 36 (P1.4) +// <37=> 37 (P1.5) +// <38=> 38 (P1.6) +// <39=> 39 (P1.7) +// <40=> 40 (P1.8) +// <41=> 41 (P1.9) +// <42=> 42 (P1.10) +// <43=> 43 (P1.11) +// <44=> 44 (P1.12) +// <45=> 45 (P1.13) +// <46=> 46 (P1.14) +// <47=> 47 (P1.15) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 8192 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 4096 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 4 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 4096 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10100_debug.ewd b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10100_debug.ewd new file mode 100644 index 0000000..9bc5407 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10100_debug.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52833_xxaa_s140 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10100_debug.ewp b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10100_debug.ewp new file mode 100644 index 0000000..dc08700 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/iar/secure_bootloader_ble_s140_pca10100_debug.ewp @@ -0,0 +1,1183 @@ + + + + + 2 + nrf52833_xxaa_s140 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52hf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_Segger_RTT + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_IAR.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52833.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52833.c + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..589c47a --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x72000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x72000; +define symbol __ICFEDIT_region_ROM_end__ = 0x7dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20002ae8; +define symbol __ICFEDIT_region_RAM_end__ = 0x2001ffff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_bootloader_settings_page_start = 0x0007F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0007E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/ses/flash_placement.xml new file mode 100644 index 0000000..db38cf2 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/ses/flash_placement.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10100_debug.emProject b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10100_debug.emProject new file mode 100644 index 0000000..945d86e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10100_debug.emProject @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10100_debug.emSession b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10100_debug.emSession new file mode 100644 index 0000000..458acea --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100_s140_ble_debug/ses/secure_bootloader_ble_s140_pca10100_debug.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10100e.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10100e.uvoptx new file mode 100644 index 0000000..59f2f24 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10100e.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52820_xxaa_s112 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52820_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s112_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52820_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10100e.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10100e.uvprojx new file mode 100644 index 0000000..dc7ff40 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/arm5_no_packs/secure_bootloader_ble_s112_pca10100e.uvprojx @@ -0,0 +1,6703 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52820_xxaa_s112 + 0x4 + ARM-ADS + + nRF52820_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x40000) IRAM(0x20000000,0x8000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52820.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52820_xxaa_s112 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x0 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x38000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200022c8 + 0x5d38 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 __STACK_SIZE=2048 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s112\headers;..\..\..\..\..\components\softdevice\s112\headers\nrf52;..\..;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10100,-DCONFIG_GPIO_AS_PINRESET,-DDEVELOP_IN_NRF52833,-DFLOAT_ABI_SOFT,-DNRF52820_XXAA,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS112,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-D__STACK_SIZE=2048,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BLE_STACK_SUPPORT_REQD BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 __STACK_SIZE=2048 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s112\headers;..\..\..\..\..\components\softdevice\s112\headers\nrf52;..\..;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s112_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52820_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x40000) IRAM(0x20000000,0x8000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s112\hex\ + s112_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x0 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x38000 + 0x6000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200022c8 + 0x5d38 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 __STACK_SIZE=2048 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0,-D__STACK_SIZE=2048 + __HEAP_SIZE=0 __STACK_SIZE=2048 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/armgcc/Makefile new file mode 100644 index 0000000..09ea9b3 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/armgcc/Makefile @@ -0,0 +1,257 @@ +PROJECT_NAME := secure_bootloader_ble_s112_pca10100e +TARGETS := nrf52820_xxaa_s112 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52820_xxaa_s112.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52820.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52820.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/softdevice/s112/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/softdevice/s112/headers \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/soft-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52nf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10100 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEVELOP_IN_NRF52833 +CFLAGS += -DFLOAT_ABI_SOFT +CFLAGS += -DNRF52820_XXAA +CFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS112 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=soft +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=soft +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10100 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEVELOP_IN_NRF52833 +ASMFLAGS += -DFLOAT_ABI_SOFT +ASMFLAGS += -DNRF52820_XXAA +ASMFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS112 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52820_xxaa_s112: CFLAGS += -D__HEAP_SIZE=0 +nrf52820_xxaa_s112: CFLAGS += -D__STACK_SIZE=2048 +nrf52820_xxaa_s112: ASMFLAGS += -D__HEAP_SIZE=0 +nrf52820_xxaa_s112: ASMFLAGS += -D__STACK_SIZE=2048 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52820_xxaa_s112 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52820_xxaa_s112 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52820_xxaa_s112.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52820_xxaa_s112.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s112_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s112/hex/s112_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..ae279ab --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,150 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x38000, LENGTH = 0x6000 + RAM (rwx) : ORIGIN = 0x200022c8, LENGTH = 0x5d38 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0003E000, LENGTH = 0x1000 + bootloader_settings_page (r) : ORIGIN = 0x0003F000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/config/sdk_config.h new file mode 100644 index 0000000..951770e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/config/sdk_config.h @@ -0,0 +1,5344 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 8192 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 0 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/iar/secure_bootloader_ble_s112_pca10100e.ewd b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/iar/secure_bootloader_ble_s112_pca10100e.ewd new file mode 100644 index 0000000..e02c49e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/iar/secure_bootloader_ble_s112_pca10100e.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52820_xxaa_s112 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/iar/secure_bootloader_ble_s112_pca10100e.ewp b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/iar/secure_bootloader_ble_s112_pca10100e.ewp new file mode 100644 index 0000000..e7138a0 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/iar/secure_bootloader_ble_s112_pca10100e.ewp @@ -0,0 +1,1166 @@ + + + + + 2 + nrf52820_xxaa_s112 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52nf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52820.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52820.c + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..cf4d13e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x38000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x38000; +define symbol __ICFEDIT_region_ROM_end__ = 0x3dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x200022c8; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007fff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0003E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; +define symbol __region_bootloader_settings_page_start = 0x0003F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/ses/flash_placement.xml new file mode 100644 index 0000000..4ea4c8b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/ses/flash_placement.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/ses/secure_bootloader_ble_s112_pca10100e.emProject b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/ses/secure_bootloader_ble_s112_pca10100e.emProject new file mode 100644 index 0000000..01fc245 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/ses/secure_bootloader_ble_s112_pca10100e.emProject @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/ses/secure_bootloader_ble_s112_pca10100e.emSession b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/ses/secure_bootloader_ble_s112_pca10100e.emSession new file mode 100644 index 0000000..c913ab1 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble/ses/secure_bootloader_ble_s112_pca10100e.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10100e_debug.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10100e_debug.uvoptx new file mode 100644 index 0000000..59f2f24 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10100e_debug.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52820_xxaa_s112 + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52820_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_s112_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52820_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10100e_debug.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10100e_debug.uvprojx new file mode 100644 index 0000000..200e0ca --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/arm5_no_packs/secure_bootloader_ble_s112_pca10100e_debug.uvprojx @@ -0,0 +1,7661 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52820_xxaa_s112 + 0x4 + ARM-ADS + + nRF52820_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x40000) IRAM(0x20000000,0x8000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52820.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52820_xxaa_s112 + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x0 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x32000 + 0xc000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200022c8 + 0x5d38 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BLE_STACK_SUPPORT_REQD BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEBUG_NRF DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s112\headers;..\..\..\..\..\components\softdevice\s112\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DBOARD_PCA10100,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DDEVELOP_IN_NRF52833,-DFLOAT_ABI_SOFT,-DNRF52820_XXAA,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DNRF_DFU_SVCI_ENABLED,-DNRF_SD_BLE_API_VERSION=7,-DS112,-DSOFTDEVICE_PRESENT,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BLE_STACK_SUPPORT_REQD BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEBUG_NRF DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 NRF_DFU_SVCI_ENABLED NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\ble\common;..\..\..\..\..\components\boards;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\ble_dfu;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\svc;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\common;..\..\..\..\..\components\softdevice\s112\headers;..\..\..\..\..\components\softdevice\s112\headers\nrf52;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\integration\nrfx;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + flash_s112_nrf52_7.2.0_softdevice + 0x4 + ARM-ADS + + nRF52820_xxAA + Nordic Semiconductor + .. + IROM(0x00000000,0x40000) IRAM(0x20000000,0x8000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\s112\hex\ + s112_nrf52_7.2.0_softdevice.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + attrib +R $H\* + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x0 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x32000 + 0xc000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x200022c8 + 0x5d38 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-D__HEAP_SIZE=0 + __HEAP_SIZE=0 + + ..\..\config;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_BLE + + ble_srv_common.c + 1 + ..\..\..\..\..\components\ble\common\ble_srv_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ble.c + 1 + ..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_settings_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Drivers + + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_fstorage_sd.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_section_iter.c + 1 + ..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SVC + + nrf_dfu_svci.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_dfu_svci_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_svc_handler.c + 1 + ..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_SoftDevice + + nrf_sdh.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_ble.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + nrf_sdh_soc.c + 1 + ..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/armgcc/Makefile new file mode 100644 index 0000000..b1c11a9 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/armgcc/Makefile @@ -0,0 +1,272 @@ +PROJECT_NAME := secure_bootloader_ble_s112_pca10100e_debug +TARGETS := nrf52820_xxaa_s112 +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52820_xxaa_s112.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52820.S \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52820.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \ + $(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/ble/common/ble_srv_common.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings_svci.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \ + $(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/ble/common \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/components/softdevice/s112/headers/nrf52 \ + $(SDK_ROOT)/components/libraries/svc \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/softdevice/s112/headers \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/components/libraries/bootloader/ble_dfu \ + $(SDK_ROOT)/components/softdevice/common \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/soft-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52nf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBLE_STACK_SUPPORT_REQD +CFLAGS += -DBOARD_PCA10100 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DDEVELOP_IN_NRF52833 +CFLAGS += -DFLOAT_ABI_SOFT +CFLAGS += -DNRF52820_XXAA +CFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DNRF_DFU_SVCI_ENABLED +CFLAGS += -DNRF_SD_BLE_API_VERSION=7 +CFLAGS += -DS112 +CFLAGS += -DSOFTDEVICE_PRESENT +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=soft +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=soft +ASMFLAGS += -DBLE_STACK_SUPPORT_REQD +ASMFLAGS += -DBOARD_PCA10100 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DDEVELOP_IN_NRF52833 +ASMFLAGS += -DFLOAT_ABI_SOFT +ASMFLAGS += -DNRF52820_XXAA +ASMFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DNRF_DFU_SVCI_ENABLED +ASMFLAGS += -DNRF_SD_BLE_API_VERSION=7 +ASMFLAGS += -DS112 +ASMFLAGS += -DSOFTDEVICE_PRESENT +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52820_xxaa_s112: CFLAGS += -D__HEAP_SIZE=0 +nrf52820_xxaa_s112: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52820_xxaa_s112 + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52820_xxaa_s112 + @echo flash_softdevice + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_softdevice erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52820_xxaa_s112.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52820_xxaa_s112.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_softdevice: + @echo Flashing: s112_nrf52_7.2.0_softdevice.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s112/hex/s112_nrf52_7.2.0_softdevice.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..131f67c --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,156 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x32000, LENGTH = 0xc000 + RAM (rwx) : ORIGIN = 0x200022c8, LENGTH = 0x5d38 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0003E000, LENGTH = 0x1000 + bootloader_settings_page (r) : ORIGIN = 0x0003F000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .svc_data : + { + PROVIDE(__start_svc_data = .); + KEEP(*(.svc_data)) + PROVIDE(__stop_svc_data = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + .sdh_ble_observers : + { + PROVIDE(__start_sdh_ble_observers = .); + KEEP(*(SORT(.sdh_ble_observers*))) + PROVIDE(__stop_sdh_ble_observers = .); + } > FLASH + .sdh_req_observers : + { + PROVIDE(__start_sdh_req_observers = .); + KEEP(*(SORT(.sdh_req_observers*))) + PROVIDE(__stop_sdh_req_observers = .); + } > FLASH + .sdh_state_observers : + { + PROVIDE(__start_sdh_state_observers = .); + KEEP(*(SORT(.sdh_state_observers*))) + PROVIDE(__stop_sdh_state_observers = .); + } > FLASH + .sdh_stack_observers : + { + PROVIDE(__start_sdh_stack_observers = .); + KEEP(*(SORT(.sdh_stack_observers*))) + PROVIDE(__stop_sdh_stack_observers = .); + } > FLASH + .sdh_soc_observers : + { + PROVIDE(__start_sdh_soc_observers = .); + KEEP(*(SORT(.sdh_soc_observers*))) + PROVIDE(__stop_sdh_soc_observers = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/config/sdk_config.h new file mode 100644 index 0000000..e9d399b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/config/sdk_config.h @@ -0,0 +1,5461 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 1 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 1 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 8192 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 512 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 4 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 512 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 1 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 1 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 1 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 1 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10100e_debug.ewd b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10100e_debug.ewd new file mode 100644 index 0000000..e02c49e --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10100e_debug.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52820_xxaa_s112 + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10100e_debug.ewp b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10100e_debug.ewp new file mode 100644 index 0000000..e0ad765 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/iar/secure_bootloader_ble_s112_pca10100e_debug.ewp @@ -0,0 +1,1187 @@ + + + + + 2 + nrf52820_xxaa_s112 + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_sd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\experimental_section_vars\nrf_section_iter.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_SVC + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_svci_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\svc\nrf_svc_handler.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52nf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_Segger_RTT + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_IAR.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52820.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52820.c + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_BLE + $PROJ_DIR$\..\..\..\..\..\components\ble\common\ble_srv_common.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\ble_dfu\nrf_dfu_ble.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings_svci.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_SoftDevice + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_ble.c + $PROJ_DIR$\..\..\..\..\..\components\softdevice\common\nrf_sdh_soc.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..3c73c27 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x32000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x32000; +define symbol __ICFEDIT_region_ROM_end__ = 0x3dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x200022c8; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007fff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0003E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; +define symbol __region_bootloader_settings_page_start = 0x0003F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/ses/flash_placement.xml new file mode 100644 index 0000000..28a7a09 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/ses/flash_placement.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10100e_debug.emProject b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10100e_debug.emProject new file mode 100644 index 0000000..362f3cb --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10100e_debug.emProject @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10100e_debug.emSession b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10100e_debug.emSession new file mode 100644 index 0000000..77ebad1 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_s112_ble_debug/ses/secure_bootloader_ble_s112_pca10100e_debug.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e.uvoptx new file mode 100644 index 0000000..52761fa --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52820_xxaa + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52820_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52820_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e.uvprojx new file mode 100644 index 0000000..a0061e5 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e.uvprojx @@ -0,0 +1,1415 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52820_xxaa + 0x4 + ARM-ADS + + nRF52820_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x40000) IRAM(0x20000000,0x8000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52820.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52820_xxaa + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x0 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x34000 + 0xa000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x7ff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT MBR_PRESENT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10100,-DCONFIG_GPIO_AS_PINRESET,-DDEVELOP_IN_NRF52833,-DFLOAT_ABI_SOFT,-DMBR_PRESENT,-DNRF52820_XXAA,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT MBR_PRESENT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + UTF8/UTF16 converter + + utf.c + 1 + ..\..\..\..\..\external\utf_converter\utf.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_clock.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_clock.c + nrf_drv_power.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_power.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_clock.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_clock.c + nrfx_power.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_power.c + nrfx_systick.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_systick.c + nrfx_usbd.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_usbd.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_usbd.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd.c + app_usbd_cdc_acm.c + 1 + ..\..\..\..\..\components\libraries\usbd\class\cdc\acm\app_usbd_cdc_acm.c + app_usbd_core.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_core.c + app_usbd_serial_num.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_serial_num.c + app_usbd_string_desc.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_string_desc.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_USB_DFU + + nrf_dfu_serial_usb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_usb.c + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + + flash_mbr + 0x4 + ARM-ADS + + nRF52820_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x40000) IRAM(0x20000000,0x8000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52820.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\mbr\hex\ + mbr_nrf52_2.4.1_mbr.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x0 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x34000 + 0xa000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x7ff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT MBR_PRESENT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10100,-DCONFIG_GPIO_AS_PINRESET,-DDEVELOP_IN_NRF52833,-DFLOAT_ABI_SOFT,-DMBR_PRESENT,-DNRF52820_XXAA,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT MBR_PRESENT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + UTF8/UTF16 converter + + utf.c + 1 + ..\..\..\..\..\external\utf_converter\utf.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_clock.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_clock.c + nrf_drv_power.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_power.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_clock.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_clock.c + nrfx_power.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_power.c + nrfx_systick.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_systick.c + nrfx_usbd.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_usbd.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_usbd.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd.c + app_usbd_cdc_acm.c + 1 + ..\..\..\..\..\components\libraries\usbd\class\cdc\acm\app_usbd_cdc_acm.c + app_usbd_core.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_core.c + app_usbd_serial_num.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_serial_num.c + app_usbd_string_desc.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_string_desc.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_USB_DFU + + nrf_dfu_serial_usb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_usb.c + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/armgcc/Makefile new file mode 100644 index 0000000..e83fc60 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/armgcc/Makefile @@ -0,0 +1,263 @@ +PROJECT_NAME := secure_bootloader_usb_mbr_pca10100e +TARGETS := nrf52820_xxaa +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52820_xxaa.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52820.S \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial_usb.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd.c \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc/acm/app_usbd_cdc_acm.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_core.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_serial_num.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_string_desc.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/slip/slip.c \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52820.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_clock.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_power.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_nvic.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_soc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_clock.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_power.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_systick.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_usbd.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c \ + $(SDK_ROOT)/external/utf_converter/utf.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/external/utf_converter \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc \ + $(SDK_ROOT)/components/libraries/usbd \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/mbr/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/libraries/slip \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc/acm \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/soft-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52nf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBOARD_PCA10100 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEVELOP_IN_NRF52833 +CFLAGS += -DFLOAT_ABI_SOFT +CFLAGS += -DMBR_PRESENT +CFLAGS += -DNRF52820_XXAA +CFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=soft +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=soft +ASMFLAGS += -DBOARD_PCA10100 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEVELOP_IN_NRF52833 +ASMFLAGS += -DFLOAT_ABI_SOFT +ASMFLAGS += -DMBR_PRESENT +ASMFLAGS += -DNRF52820_XXAA +ASMFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52820_xxaa: CFLAGS += -D__HEAP_SIZE=0 +nrf52820_xxaa: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52820_xxaa + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52820_xxaa + @echo flash_mbr + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_mbr erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52820_xxaa.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52820_xxaa.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_mbr: + @echo Flashing: mbr_nrf52_2.4.1_mbr.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/mbr/hex/mbr_nrf52_2.4.1_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..823a1ee --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,120 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x34000, LENGTH = 0xa000 + RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x7ff8 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0003E000, LENGTH = 0x1000 + bootloader_settings_page (r) : ORIGIN = 0x0003F000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/config/sdk_config.h new file mode 100644 index 0000000..ca7ef8c --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/config/sdk_config.h @@ -0,0 +1,5334 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 0 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 0 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// NRFX_CLOCK_ENABLED - nrfx_clock - CLOCK peripheral driver +//========================================================== +#ifndef NRFX_CLOCK_ENABLED +#define NRFX_CLOCK_ENABLED 1 +#endif +// NRFX_CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef NRFX_CLOCK_CONFIG_LF_SRC +#define NRFX_CLOCK_CONFIG_LF_SRC 1 +#endif + +// NRFX_CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_CLOCK_CONFIG_IRQ_PRIORITY +#define NRFX_CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_CLOCK_CONFIG_LOG_ENABLED +#define NRFX_CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_CLOCK_CONFIG_LOG_LEVEL +#define NRFX_CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_INFO_COLOR +#define NRFX_CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_DEBUG_COLOR +#define NRFX_CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_POWER_ENABLED - nrfx_power - POWER peripheral driver +//========================================================== +#ifndef NRFX_POWER_ENABLED +#define NRFX_POWER_ENABLED 1 +#endif +// NRFX_POWER_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_POWER_CONFIG_IRQ_PRIORITY +#define NRFX_POWER_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_POWER_CONFIG_DEFAULT_DCDCEN - The default configuration of main DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef NRFX_POWER_CONFIG_DEFAULT_DCDCEN +#define NRFX_POWER_CONFIG_DEFAULT_DCDCEN 0 +#endif + +// NRFX_POWER_CONFIG_DEFAULT_DCDCENHV - The default configuration of High Voltage DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef NRFX_POWER_CONFIG_DEFAULT_DCDCENHV +#define NRFX_POWER_CONFIG_DEFAULT_DCDCENHV 0 +#endif + +// + +// NRFX_SYSTICK_ENABLED - nrfx_systick - ARM(R) SysTick driver + + +#ifndef NRFX_SYSTICK_ENABLED +#define NRFX_SYSTICK_ENABLED 1 +#endif + +// NRFX_USBD_ENABLED - nrfx_usbd - USBD peripheral driver +//========================================================== +#ifndef NRFX_USBD_ENABLED +#define NRFX_USBD_ENABLED 1 +#endif +// NRFX_USBD_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_USBD_CONFIG_IRQ_PRIORITY +#define NRFX_USBD_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_USBD_CONFIG_DMASCHEDULER_MODE - USBD DMA scheduler working scheme + +// <0=> Prioritized access +// <1=> Round Robin + +#ifndef NRFX_USBD_CONFIG_DMASCHEDULER_MODE +#define NRFX_USBD_CONFIG_DMASCHEDULER_MODE 0 +#endif + +// NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST - Give priority to isochronous transfers + + +// This option gives priority to isochronous transfers. +// Enabling it assures that isochronous transfers are always processed, +// even if multiple other transfers are pending. +// Isochronous endpoints are prioritized before the usbd_dma_scheduler_algorithm +// function is called, so the option is independent of the algorithm chosen. + +#ifndef NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST +#define NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST 1 +#endif + +// NRFX_USBD_CONFIG_ISO_IN_ZLP - Respond to an IN token on ISO IN endpoint with ZLP when no data is ready + + +// If set, ISO IN endpoint will respond to an IN token with ZLP when no data is ready to be sent. +// Else, there will be no response. + +#ifndef NRFX_USBD_CONFIG_ISO_IN_ZLP +#define NRFX_USBD_CONFIG_ISO_IN_ZLP 0 +#endif + +// NRFX_USBD_USE_WORKAROUND_FOR_ANOMALY_211 - Use workaround for anomaly 211 + + +// If set, workaround for anomaly 211 will be enabled. +// Anomaly 211 - Device remains in SUSPEND too long when host resumes +// bus activity (sending SOF packets) without a RESUME condition. + +#ifndef NRFX_USBD_USE_WORKAROUND_FOR_ANOMALY_211 +#define NRFX_USBD_USE_WORKAROUND_FOR_ANOMALY_211 0 +#endif + +// + +// NRF_CLOCK_ENABLED - nrf_drv_clock - CLOCK peripheral driver - legacy layer +//========================================================== +#ifndef NRF_CLOCK_ENABLED +#define NRF_CLOCK_ENABLED 1 +#endif +// CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef CLOCK_CONFIG_LF_SRC +#define CLOCK_CONFIG_LF_SRC 1 +#endif + +// CLOCK_CONFIG_LF_CAL_ENABLED - Calibration enable for LF Clock Source + + +#ifndef CLOCK_CONFIG_LF_CAL_ENABLED +#define CLOCK_CONFIG_LF_CAL_ENABLED 0 +#endif + +// CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef CLOCK_CONFIG_IRQ_PRIORITY +#define CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// POWER_ENABLED - nrf_drv_power - POWER peripheral driver - legacy layer +//========================================================== +#ifndef POWER_ENABLED +#define POWER_ENABLED 1 +#endif +// POWER_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef POWER_CONFIG_IRQ_PRIORITY +#define POWER_CONFIG_IRQ_PRIORITY 6 +#endif + +// POWER_CONFIG_DEFAULT_DCDCEN - The default configuration of main DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef POWER_CONFIG_DEFAULT_DCDCEN +#define POWER_CONFIG_DEFAULT_DCDCEN 0 +#endif + +// POWER_CONFIG_DEFAULT_DCDCENHV - The default configuration of High Voltage DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef POWER_CONFIG_DEFAULT_DCDCENHV +#define POWER_CONFIG_DEFAULT_DCDCENHV 0 +#endif + +// + +// SYSTICK_ENABLED - nrf_drv_systick - ARM(R) SysTick driver - legacy layer + + +#ifndef SYSTICK_ENABLED +#define SYSTICK_ENABLED 1 +#endif + +// USBD_ENABLED - nrf_drv_usbd - Software Component +//========================================================== +#ifndef USBD_ENABLED +#define USBD_ENABLED 1 +#endif +// USBD_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef USBD_CONFIG_IRQ_PRIORITY +#define USBD_CONFIG_IRQ_PRIORITY 6 +#endif + +// USBD_CONFIG_DMASCHEDULER_MODE - USBD SMA scheduler working scheme + +// <0=> Prioritized access +// <1=> Round Robin + +#ifndef USBD_CONFIG_DMASCHEDULER_MODE +#define USBD_CONFIG_DMASCHEDULER_MODE 0 +#endif + +// USBD_CONFIG_DMASCHEDULER_ISO_BOOST - Give priority to isochronous transfers + + +// This option gives priority to isochronous transfers. +// Enabling it assures that isochronous transfers are always processed, +// even if multiple other transfers are pending. +// Isochronous endpoints are prioritized before the usbd_dma_scheduler_algorithm +// function is called, so the option is independent of the algorithm chosen. + +#ifndef USBD_CONFIG_DMASCHEDULER_ISO_BOOST +#define USBD_CONFIG_DMASCHEDULER_ISO_BOOST 1 +#endif + +// USBD_CONFIG_ISO_IN_ZLP - Respond to an IN token on ISO IN endpoint with ZLP when no data is ready + + +// If set, ISO IN endpoint will respond to an IN token with ZLP when no data is ready to be sent. +// Else, there will be no response. +// NOTE: This option does not work on Engineering A chip. + +#ifndef USBD_CONFIG_ISO_IN_ZLP +#define USBD_CONFIG_ISO_IN_ZLP 0 +#endif + +// + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// APP_USBD_ENABLED - app_usbd - USB Device library +//========================================================== +#ifndef APP_USBD_ENABLED +#define APP_USBD_ENABLED 1 +#endif +// APP_USBD_VID - Vendor ID. + +// Note: This value is not editable in Configuration Wizard. +// Vendor ID ordered from USB IF: http://www.usb.org/developers/vendor/ +#ifndef APP_USBD_VID +#define APP_USBD_VID 0x1915 +#endif + +// APP_USBD_PID - Product ID. + +// Note: This value is not editable in Configuration Wizard. +// Selected Product ID +#ifndef APP_USBD_PID +#define APP_USBD_PID 0x521F +#endif + +// APP_USBD_DEVICE_VER_MAJOR - Major device version <0-99> + + +// Major device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_MAJOR +#define APP_USBD_DEVICE_VER_MAJOR 1 +#endif + +// APP_USBD_DEVICE_VER_MINOR - Minor device version <0-9> + + +// Minor device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_MINOR +#define APP_USBD_DEVICE_VER_MINOR 0 +#endif + +// APP_USBD_DEVICE_VER_SUB - Sub-minor device version <0-9> + + +// Sub-minor device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_SUB +#define APP_USBD_DEVICE_VER_SUB 0 +#endif + +// APP_USBD_CONFIG_SELF_POWERED - Self-powered device, as opposed to bus-powered. + + +#ifndef APP_USBD_CONFIG_SELF_POWERED +#define APP_USBD_CONFIG_SELF_POWERED 1 +#endif + +// APP_USBD_CONFIG_MAX_POWER - MaxPower field in configuration descriptor in milliamps. <0-500> + + +#ifndef APP_USBD_CONFIG_MAX_POWER +#define APP_USBD_CONFIG_MAX_POWER 100 +#endif + +// APP_USBD_CONFIG_POWER_EVENTS_PROCESS - Process power events. + + +// Enable processing power events in USB event handler. + +#ifndef APP_USBD_CONFIG_POWER_EVENTS_PROCESS +#define APP_USBD_CONFIG_POWER_EVENTS_PROCESS 1 +#endif + +// APP_USBD_CONFIG_EVENT_QUEUE_ENABLE - Enable event queue. + +// This is the default configuration when all the events are placed into internal queue. +// Disable it when an external queue is used like app_scheduler or if you wish to process all events inside interrupts. +// Processing all events from the interrupt level adds requirement not to call any functions that modifies the USBD library state from the context higher than USB interrupt context. +// Functions that modify USBD state are functions for sleep, wakeup, start, stop, enable, and disable. +//========================================================== +#ifndef APP_USBD_CONFIG_EVENT_QUEUE_ENABLE +#define APP_USBD_CONFIG_EVENT_QUEUE_ENABLE 0 +#endif +// APP_USBD_CONFIG_EVENT_QUEUE_SIZE - The size of the event queue. <16-64> + + +// The size of the queue for the events that would be processed in the main loop. + +#ifndef APP_USBD_CONFIG_EVENT_QUEUE_SIZE +#define APP_USBD_CONFIG_EVENT_QUEUE_SIZE 32 +#endif + +// APP_USBD_CONFIG_SOF_HANDLING_MODE - Change SOF events handling mode. + + +// Normal queue - SOF events are pushed normally into the event queue. +// Compress queue - SOF events are counted and binded with other events or executed when the queue is empty. +// This prevents the queue from filling up with SOF events. +// Interrupt - SOF events are processed in interrupt. +// <0=> Normal queue +// <1=> Compress queue +// <2=> Interrupt + +#ifndef APP_USBD_CONFIG_SOF_HANDLING_MODE +#define APP_USBD_CONFIG_SOF_HANDLING_MODE 1 +#endif + +// + +// APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE - Provide a function that generates timestamps for logs based on the current SOF. + + +// The function app_usbd_sof_timestamp_get is implemented if the logger is enabled. +// Use it when initializing the logger. +// SOF processing is always enabled when this configuration parameter is active. +// Note: This option is configured outside of APP_USBD_CONFIG_LOG_ENABLED. +// This means that it works even if the logging in this very module is disabled. + +#ifndef APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE +#define APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE 0 +#endif + +// APP_USBD_CONFIG_DESC_STRING_SIZE - Maximum size of the NULL-terminated string of the string descriptor. <31-254> + + +// 31 characters can be stored in the internal USB buffer used for transfers. +// Any value higher than 31 creates an additional buffer just for descriptor strings. + +#ifndef APP_USBD_CONFIG_DESC_STRING_SIZE +#define APP_USBD_CONFIG_DESC_STRING_SIZE 31 +#endif + +// APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED - Enable UTF8 conversion. + + +// Enable UTF8-encoded characters. In normal processing, only ASCII characters are available. + +#ifndef APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED +#define APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED 0 +#endif + +// APP_USBD_STRINGS_LANGIDS - Supported languages identifiers. + +// Note: This value is not editable in Configuration Wizard. +// Comma-separated list of supported languages. +#ifndef APP_USBD_STRINGS_LANGIDS +#define APP_USBD_STRINGS_LANGIDS APP_USBD_LANG_AND_SUBLANG(APP_USBD_LANG_ENGLISH, APP_USBD_SUBLANG_ENGLISH_US) +#endif + +// APP_USBD_STRING_ID_MANUFACTURER - Define manufacturer string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_MANUFACTURER +#define APP_USBD_STRING_ID_MANUFACTURER 1 +#endif +// APP_USBD_STRINGS_MANUFACTURER_EXTERN - Define whether @ref APP_USBD_STRINGS_MANUFACTURER is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRINGS_MANUFACTURER_EXTERN +#define APP_USBD_STRINGS_MANUFACTURER_EXTERN 0 +#endif + +// APP_USBD_STRINGS_MANUFACTURER - String descriptor for the manufacturer name. + +// Note: This value is not editable in Configuration Wizard. +// Comma-separated list of manufacturer names for each defined language. +// Use @ref APP_USBD_STRING_DESC macro to create string descriptor from a NULL-terminated string. +// Use @ref APP_USBD_STRING_RAW8_DESC macro to create string descriptor from comma-separated uint8_t values. +// Use @ref APP_USBD_STRING_RAW16_DESC macro to create string descriptor from comma-separated uint16_t values. +// Alternatively, configure the macro to point to any internal variable pointer that already contains the descriptor. +// Setting string to NULL disables that string. +// The order of manufacturer names must be the same like in @ref APP_USBD_STRINGS_LANGIDS. +#ifndef APP_USBD_STRINGS_MANUFACTURER +#define APP_USBD_STRINGS_MANUFACTURER APP_USBD_STRING_DESC("Nordic Semiconductor") +#endif + +// + +// APP_USBD_STRING_ID_PRODUCT - Define product string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_PRODUCT +#define APP_USBD_STRING_ID_PRODUCT 2 +#endif +// APP_USBD_STRINGS_PRODUCT_EXTERN - Define whether @ref APP_USBD_STRINGS_PRODUCT is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRINGS_PRODUCT_EXTERN +#define APP_USBD_STRINGS_PRODUCT_EXTERN 0 +#endif + +// APP_USBD_STRINGS_PRODUCT - String descriptor for the product name. + +// Note: This value is not editable in Configuration Wizard. +// List of product names that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRINGS_PRODUCT +#define APP_USBD_STRINGS_PRODUCT APP_USBD_STRING_DESC("Secure DFU Bootloader") +#endif + +// + +// APP_USBD_STRING_ID_SERIAL - Define serial number string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_SERIAL +#define APP_USBD_STRING_ID_SERIAL 3 +#endif +// APP_USBD_STRING_SERIAL_EXTERN - Define whether @ref APP_USBD_STRING_SERIAL is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRING_SERIAL_EXTERN +#define APP_USBD_STRING_SERIAL_EXTERN 1 +#endif + +// APP_USBD_STRING_SERIAL - String descriptor for the serial number. + +// Note: This value is not editable in Configuration Wizard. +// Serial number that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRING_SERIAL +#define APP_USBD_STRING_SERIAL g_extern_serial_number +#endif + +// + +// APP_USBD_STRING_ID_CONFIGURATION - Define configuration string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_CONFIGURATION +#define APP_USBD_STRING_ID_CONFIGURATION 4 +#endif +// APP_USBD_STRING_CONFIGURATION_EXTERN - Define whether @ref APP_USBD_STRINGS_CONFIGURATION is created by macro or declared as global variable. + + +#ifndef APP_USBD_STRING_CONFIGURATION_EXTERN +#define APP_USBD_STRING_CONFIGURATION_EXTERN 0 +#endif + +// APP_USBD_STRINGS_CONFIGURATION - String descriptor for the device configuration. + +// Note: This value is not editable in Configuration Wizard. +// Configuration string that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRINGS_CONFIGURATION +#define APP_USBD_STRINGS_CONFIGURATION APP_USBD_STRING_DESC("Default configuration") +#endif + +// + +// APP_USBD_STRINGS_USER - Default values for user strings. + +// Note: This value is not editable in Configuration Wizard. +// This value stores all application specific user strings with the default initialization. +// The setup is done by X-macros. +// Expected macro parameters: +// @code +// X(mnemonic, [=str_idx], ...) +// @endcode +// - @c mnemonic: Mnemonic of the string descriptor that would be added to +// @ref app_usbd_string_desc_idx_t enumerator. +// - @c str_idx : String index value, can be set or left empty. +// For example, WinUSB driver requires descriptor to be present on 0xEE index. +// Then use X(USBD_STRING_WINUSB, =0xEE, (APP_USBD_STRING_DESC(...))) +// - @c ... : List of string descriptors for each defined language. +#ifndef APP_USBD_STRINGS_USER +#define APP_USBD_STRINGS_USER X(APP_USER_1, , APP_USBD_STRING_DESC("User 1")) +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// SLIP_ENABLED - slip - SLIP encoding and decoding + + +#ifndef SLIP_ENABLED +#define SLIP_ENABLED 1 +#endif + +// app_usbd_cdc_acm - USB CDC ACM class + +//========================================================== +// APP_USBD_CDC_ACM_ENABLED - Enabling USBD CDC ACM Class library + + +#ifndef APP_USBD_CDC_ACM_ENABLED +#define APP_USBD_CDC_ACM_ENABLED 1 +#endif + +// APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE - Send ZLP on write with same size as endpoint + + +// If enabled, CDC ACM class will automatically send a zero length packet after transfer which has the same size as endpoint. +// This may limit throughput if a lot of binary data is sent, but in terminal mode operation it makes sure that the data is always displayed right after it is sent. + +#ifndef APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE +#define APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE 1 +#endif + +// +//========================================================== + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 0 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 0 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 0 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_USB_DFU + +//========================================================== +// NRF_DFU_SERIAL_USB_RX_BUFFERS - nrf_dfu_serial_usb - USB DFU transport +// Number of buffers depends on flash access vs. +// transport throughtput. If value is too low it may lead +// to received packets being dropped. + +#ifndef NRF_DFU_SERIAL_USB_RX_BUFFERS +#define NRF_DFU_SERIAL_USB_RX_BUFFERS 3 +#endif + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..0f394a4 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x34000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x34000; +define symbol __ICFEDIT_region_ROM_end__ = 0x3dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000008; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007fff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0003E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; +define symbol __region_bootloader_settings_page_start = 0x0003F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb/iar/secure_bootloader_usb_mbr_pca10100e.ewd b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/iar/secure_bootloader_usb_mbr_pca10100e.ewd new file mode 100644 index 0000000..e79549f --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/iar/secure_bootloader_usb_mbr_pca10100e.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52820_xxaa + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb/iar/secure_bootloader_usb_mbr_pca10100e.ewp b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/iar/secure_bootloader_usb_mbr_pca10100e.ewp new file mode 100644 index 0000000..51337e2 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/iar/secure_bootloader_usb_mbr_pca10100e.ewp @@ -0,0 +1,1180 @@ + + + + + 2 + nrf52820_xxaa + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_USB_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_usb.c + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\class\cdc\acm\app_usbd_cdc_acm.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd_core.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd_serial_num.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd_string_desc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\slip\slip.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_clock.c + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_power.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_clock.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_power.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_systick.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_usbd.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52nf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52820.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52820.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_Serial_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + UTF8/UTF16 converter + $PROJ_DIR$\..\..\..\..\..\external\utf_converter\utf.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/ses/flash_placement.xml new file mode 100644 index 0000000..95d03bd --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/ses/flash_placement.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb/ses/secure_bootloader_usb_mbr_pca10100e.emProject b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/ses/secure_bootloader_usb_mbr_pca10100e.emProject new file mode 100644 index 0000000..bff10e1 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/ses/secure_bootloader_usb_mbr_pca10100e.emProject @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb/ses/secure_bootloader_usb_mbr_pca10100e.emSession b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/ses/secure_bootloader_usb_mbr_pca10100e.emSession new file mode 100644 index 0000000..4705334 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb/ses/secure_bootloader_usb_mbr_pca10100e.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e_debug.uvoptx b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e_debug.uvoptx new file mode 100644 index 0000000..9e8580f --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e_debug.uvoptx @@ -0,0 +1,221 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + nrf52820_xxaa_debug + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52820_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + flash_mbr + 0x4 + ARM-ADS + + + 1 + 1 + 0 + 1 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\_build\ + + 0 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + JL2CM3 + -U408001579 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP1($$Device:nRF52820_xxAA$Flash\nrf52xxx_uicr.flm) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0nrf52xxx -FS00 -FL0200000 -FP0($$Device:nRF52820_xxAA$Flash\nrf52xxx)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + +
+ + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e_debug.uvprojx b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e_debug.uvprojx new file mode 100644 index 0000000..402c8d8 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/arm5_no_packs/secure_bootloader_usb_mbr_pca10100e_debug.uvprojx @@ -0,0 +1,1487 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + nrf52820_xxaa_debug + 0x4 + ARM-ADS + + nRF52820_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x40000) IRAM(0x20000000,0x8000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52820.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\_build\ + nrf52820_xxaa_debug + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x0 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x2c000 + 0x12000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x7ff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEBUG_NRF DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT MBR_PRESENT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10100,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DDEVELOP_IN_NRF52833,-DFLOAT_ABI_SOFT,-DMBR_PRESENT,-DNRF52820_XXAA,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEBUG_NRF DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT MBR_PRESENT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + UTF8/UTF16 converter + + utf.c + 1 + ..\..\..\..\..\external\utf_converter\utf.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_clock.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_clock.c + nrf_drv_power.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_power.c + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_clock.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_clock.c + nrfx_power.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_power.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_systick.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_systick.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + nrfx_usbd.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_usbd.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_usbd.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd.c + app_usbd_cdc_acm.c + 1 + ..\..\..\..\..\components\libraries\usbd\class\cdc\acm\app_usbd_cdc_acm.c + app_usbd_core.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_core.c + app_usbd_serial_num.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_serial_num.c + app_usbd_string_desc.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_string_desc.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + nrf_log_backend_uart.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_uart.c + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_USB_DFU + + nrf_dfu_serial_usb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_usb.c + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + + flash_mbr + 0x4 + ARM-ADS + + nRF52820_xxAA + Nordic Semiconductor + NordicSemiconductor.nRF_DeviceFamilyPack.8.40.3 + http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ IROM(0x00000000,0x40000) IRAM(0x20000000,0x8000) CPUTYPE("Cortex-M4") CLOCK(64000000) ELITTLE + + + + 0 + $$Device:nRF52832_xxAA$Device\Include\nrf.h + + + + + + + + + + ..\..\..\..\..\modules\nrfx\mdk\nrf52820.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + ..\..\..\..\..\components\softdevice\mbr\hex\ + mbr_nrf52_2.4.1_mbr.hex + 1 + 0 + 1 + 1 + 1 + .\_build\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + + + + + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 1 + 0 + -1 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4099 + + 1 + Segger\JL2CM3.dll + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x0 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x2c000 + 0x12000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000008 + 0x7ff8 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + --reduce_paths + BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEBUG_NRF DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT MBR_PRESENT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + --cpreproc_opts=-DBOARD_PCA10100,-DCONFIG_GPIO_AS_PINRESET,-DDEBUG_NRF,-DDEVELOP_IN_NRF52833,-DFLOAT_ABI_SOFT,-DMBR_PRESENT,-DNRF52820_XXAA,-DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3,-DNRF_DFU_DEBUG_VERSION,-DNRF_DFU_SETTINGS_VERSION=2,-DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION,-D__HEAP_SIZE=0,-DuECC_ENABLE_VLI_API=0,-DuECC_OPTIMIZATION_LEVEL=3,-DuECC_SQUARE_FUNC=0,-DuECC_SUPPORT_COMPRESSED_POINT=0,-DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEBUG_NRF DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT MBR_PRESENT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_DFU_DEBUG_VERSION NRF_DFU_SETTINGS_VERSION=2 SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION __HEAP_SIZE=0 uECC_ENABLE_VLI_API=0 uECC_OPTIMIZATION_LEVEL=3 uECC_SQUARE_FUNC=0 uECC_SUPPORT_COMPRESSED_POINT=0 uECC_VLI_NATIVE_LITTLE_ENDIAN=1 + + ..\..\config;..\..\..\..\..\components\boards;..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd;..\..\..\..\..\components\libraries\atomic;..\..\..\..\..\components\libraries\atomic_fifo;..\..\..\..\..\components\libraries\balloc;..\..\..\..\..\components\libraries\bootloader;..\..\..\..\..\components\libraries\bootloader\dfu;..\..\..\..\..\components\libraries\bootloader\serial_dfu;..\..\..\..\..\components\libraries\crc32;..\..\..\..\..\components\libraries\crypto;..\..\..\..\..\components\libraries\crypto\backend\cc310;..\..\..\..\..\components\libraries\crypto\backend\cc310_bl;..\..\..\..\..\components\libraries\crypto\backend\cifra;..\..\..\..\..\components\libraries\crypto\backend\mbedtls;..\..\..\..\..\components\libraries\crypto\backend\micro_ecc;..\..\..\..\..\components\libraries\crypto\backend\nrf_hw;..\..\..\..\..\components\libraries\crypto\backend\nrf_sw;..\..\..\..\..\components\libraries\crypto\backend\oberon;..\..\..\..\..\components\libraries\crypto\backend\optiga;..\..\..\..\..\components\libraries\delay;..\..\..\..\..\components\libraries\experimental_section_vars;..\..\..\..\..\components\libraries\fstorage;..\..\..\..\..\components\libraries\log;..\..\..\..\..\components\libraries\log\src;..\..\..\..\..\components\libraries\mem_manager;..\..\..\..\..\components\libraries\memobj;..\..\..\..\..\components\libraries\queue;..\..\..\..\..\components\libraries\ringbuf;..\..\..\..\..\components\libraries\scheduler;..\..\..\..\..\components\libraries\sha256;..\..\..\..\..\components\libraries\slip;..\..\..\..\..\components\libraries\stack_info;..\..\..\..\..\components\libraries\strerror;..\..\..\..\..\components\libraries\usbd;..\..\..\..\..\components\libraries\usbd\class\cdc;..\..\..\..\..\components\libraries\usbd\class\cdc\acm;..\..\..\..\..\components\libraries\util;..\..\..\..\..\components\softdevice\mbr\headers;..\..;..\..\..\..\..\external\fprintf;..\..\..\..\..\external\micro-ecc\micro-ecc;..\..\..\..\..\external\nano-pb;..\..\..\..\..\external\nrf_oberon;..\..\..\..\..\external\nrf_oberon\include;..\..\..\..\..\external\segger_rtt;..\..\..\..\..\external\utf_converter;..\..\..\..\..\integration\nrfx;..\..\..\..\..\integration\nrfx\legacy;..\..\..\..\..\modules\nrfx;..\..\..\..\..\modules\nrfx\drivers\include;..\..\..\..\..\modules\nrfx\hal;..\config + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + --diag_suppress 6330 + + + + + + + Application + + dfu_public_key.c + 1 + ..\..\..\dfu_public_key.c + main.c + 1 + ..\..\main.c + sdk_config.h + 5 + ..\config\sdk_config.h + + Board Definition + + boards.c + 1 + ..\..\..\..\..\components\boards\boards.c + + UTF8/UTF16 converter + + utf.c + 1 + ..\..\..\..\..\external\utf_converter\utf.c + + nRF_Bootloader + + nrf_bootloader.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + nrf_bootloader_app_start.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + nrf_bootloader_app_start_final.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + nrf_bootloader_dfu_timers.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + nrf_bootloader_fw_activation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + nrf_bootloader_info.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + nrf_bootloader_wdt.c + 1 + ..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + + nRF_Crypto + + nrf_crypto_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + nrf_crypto_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + nrf_crypto_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + nrf_crypto_init.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + nrf_crypto_shared.c + 1 + ..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + + nRF_Crypto backend Oberon + + oberon_backend_chacha_poly_aead.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + oberon_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + oberon_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + oberon_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + oberon_backend_eddsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + oberon_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + oberon_backend_hmac.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + nRF_Crypto backend nRF sw + + nrf_sw_backend_hash.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + + nRF_Crypto backend uECC + + micro_ecc_backend_ecc.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + micro_ecc_backend_ecdh.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + micro_ecc_backend_ecdsa.c + 1 + ..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + + nRF_DFU + + dfu-cc.pb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + nrf_dfu.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + nrf_dfu_flash.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + nrf_dfu_handling_error.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + nrf_dfu_mbr.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + nrf_dfu_req_handler.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + nrf_dfu_settings.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + nrf_dfu_transport.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + nrf_dfu_utils.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + nrf_dfu_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + nrf_dfu_ver_validation.c + 1 + ..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + + nRF_Drivers + + nrf_drv_clock.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_clock.c + nrf_drv_power.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_power.c + nrf_drv_uart.c + 1 + ..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + nrf_nvic.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + nrf_nvmc.c + 1 + ..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + nrf_soc.c + 1 + ..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + nrfx_atomic.c + 1 + ..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + nrfx_clock.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_clock.c + nrfx_power.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_power.c + nrfx_prs.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + nrfx_systick.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_systick.c + nrfx_uart.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + nrfx_uarte.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + nrfx_usbd.c + 1 + ..\..\..\..\..\modules\nrfx\drivers\src\nrfx_usbd.c + + nRF_Libraries + + app_error_weak.c + 1 + ..\..\..\..\..\components\libraries\util\app_error_weak.c + app_scheduler.c + 1 + ..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + app_usbd.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd.c + app_usbd_cdc_acm.c + 1 + ..\..\..\..\..\components\libraries\usbd\class\cdc\acm\app_usbd_cdc_acm.c + app_usbd_core.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_core.c + app_usbd_serial_num.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_serial_num.c + app_usbd_string_desc.c + 1 + ..\..\..\..\..\components\libraries\usbd\app_usbd_string_desc.c + app_util_platform.c + 1 + ..\..\..\..\..\components\libraries\util\app_util_platform.c + crc32.c + 1 + ..\..\..\..\..\components\libraries\crc32\crc32.c + mem_manager.c + 1 + ..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + nrf_assert.c + 1 + ..\..\..\..\..\components\libraries\util\nrf_assert.c + nrf_atfifo.c + 1 + ..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + nrf_atomic.c + 1 + ..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + nrf_balloc.c + 1 + ..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + nrf_fprintf.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf.c + nrf_fprintf_format.c + 1 + ..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + nrf_fstorage.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + nrf_fstorage_nvmc.c + 1 + ..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + nrf_memobj.c + 1 + ..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + nrf_queue.c + 1 + ..\..\..\..\..\components\libraries\queue\nrf_queue.c + nrf_ringbuf.c + 1 + ..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + nrf_strerror.c + 1 + ..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + sha256.c + 1 + ..\..\..\..\..\components\libraries\sha256\sha256.c + slip.c + 1 + ..\..\..\..\..\components\libraries\slip\slip.c + + nRF_Log + + nrf_log_backend_rtt.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + nrf_log_backend_serial.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + nrf_log_backend_uart.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_backend_uart.c + nrf_log_default_backends.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + nrf_log_frontend.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + nrf_log_str_formatter.c + 1 + ..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + + nRF_Oberon_Crypto + + oberon_3.0.8.lib + 4 + ..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\oberon_3.0.8.lib + + nRF_Segger_RTT + + SEGGER_RTT.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + SEGGER_RTT_Syscalls_KEIL.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_KEIL.c + SEGGER_RTT_printf.c + 1 + ..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + + nRF_Serial_DFU + + nrf_dfu_serial.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + + nRF_USB_DFU + + nrf_dfu_serial_usb.c + 1 + ..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_usb.c + + nRF_micro-ecc + + micro_ecc_lib_nrf52.lib + 4 + ..\..\..\..\..\external\micro-ecc\nrf52nf_keil\armgcc\micro_ecc_lib_nrf52.lib + + nano-pb + + pb_common.c + 1 + ..\..\..\..\..\external\nano-pb\pb_common.c + pb_decode.c + 1 + ..\..\..\..\..\external\nano-pb\pb_decode.c + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/armgcc/Makefile b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/armgcc/Makefile new file mode 100644 index 0000000..cf48d67 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/armgcc/Makefile @@ -0,0 +1,279 @@ +PROJECT_NAME := secure_bootloader_usb_mbr_pca10100e_debug +TARGETS := nrf52820_xxaa_debug +OUTPUT_DIRECTORY := _build + +SDK_ROOT := ../../../../.. +PROJ_DIR := ../.. + +$(OUTPUT_DIRECTORY)/nrf52820_xxaa_debug.out: \ + LINKER_SCRIPT := secure_bootloader_gcc_nrf52.ld + +# Source files common to all targets +SRC_FILES += \ + $(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52820.S \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial_usb.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_rtt.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_serial.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_backend_uart.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_default_backends.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \ + $(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \ + $(SDK_ROOT)/components/boards/boards.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc/micro_ecc_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/util/app_error_weak.c \ + $(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd.c \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc/acm/app_usbd_cdc_acm.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_core.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_serial_num.c \ + $(SDK_ROOT)/components/libraries/usbd/app_usbd_string_desc.c \ + $(SDK_ROOT)/components/libraries/util/app_util_platform.c \ + $(SDK_ROOT)/components/libraries/crc32/crc32.c \ + $(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \ + $(SDK_ROOT)/components/libraries/util/nrf_assert.c \ + $(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \ + $(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \ + $(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf.c \ + $(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \ + $(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \ + $(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \ + $(SDK_ROOT)/components/libraries/queue/nrf_queue.c \ + $(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \ + $(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \ + $(SDK_ROOT)/components/libraries/sha256/sha256.c \ + $(SDK_ROOT)/components/libraries/slip/slip.c \ + $(SDK_ROOT)/modules/nrfx/mdk/system_nrf52820.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_clock.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_power.c \ + $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_uart.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_nvic.c \ + $(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd/nrf_soc.c \ + $(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_clock.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_power.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/prs/nrfx_prs.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_systick.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uart.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_uarte.c \ + $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_usbd.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \ + $(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \ + $(PROJ_DIR)/../dfu_public_key.c \ + $(PROJ_DIR)/main.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw/nrf_sw_backend_hash.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_dfu_timers.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \ + $(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \ + $(SDK_ROOT)/external/nano-pb/pb_common.c \ + $(SDK_ROOT)/external/nano-pb/pb_decode.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_req_handler.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_settings.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_transport.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c \ + $(SDK_ROOT)/external/utf_converter/utf.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_Syscalls_GCC.c \ + $(SDK_ROOT)/external/segger_rtt/SEGGER_RTT_printf.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \ + +# Include folders common to all targets +INC_FOLDERS += \ + $(SDK_ROOT)/modules/nrfx/drivers/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \ + $(SDK_ROOT)/components/libraries/memobj \ + $(SDK_ROOT)/components/libraries/sha256 \ + $(SDK_ROOT)/components/libraries/crc32 \ + $(SDK_ROOT)/components/libraries/experimental_section_vars \ + $(SDK_ROOT)/components/libraries/mem_manager \ + $(SDK_ROOT)/components/libraries/fstorage \ + $(SDK_ROOT)/components/libraries/util \ + $(SDK_ROOT)/modules/nrfx \ + $(SDK_ROOT)/external/nrf_oberon/include \ + $(SDK_ROOT)/components/libraries/crypto/backend/oberon \ + $(SDK_ROOT)/external/utf_converter \ + $(SDK_ROOT)/components/libraries/crypto/backend/cifra \ + $(SDK_ROOT)/components/libraries/atomic \ + $(SDK_ROOT)/integration/nrfx \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl \ + $(SDK_ROOT)/components/drivers_nrf/nrf_soc_nosd \ + $(SDK_ROOT)/components/libraries/log/src \ + $(SDK_ROOT)/components/libraries/bootloader/dfu \ + $(SDK_ROOT)/components/libraries/bootloader/serial_dfu \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc \ + $(SDK_ROOT)/components/libraries/usbd \ + $(SDK_ROOT)/external/segger_rtt \ + $(SDK_ROOT)/components/libraries/delay \ + $(SDK_ROOT)/integration/nrfx/legacy \ + $(SDK_ROOT)/components/libraries/stack_info \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_hw \ + $(SDK_ROOT)/components/libraries/log \ + $(SDK_ROOT)/external/nrf_oberon \ + $(SDK_ROOT)/components/libraries/strerror \ + $(SDK_ROOT)/components/libraries/crypto/backend/mbedtls \ + $(SDK_ROOT)/components/boards \ + $(SDK_ROOT)/components/libraries/crypto/backend/cc310 \ + $(SDK_ROOT)/components/libraries/bootloader \ + $(SDK_ROOT)/components/softdevice/mbr/headers \ + $(SDK_ROOT)/components/libraries/crypto \ + ../config \ + $(SDK_ROOT)/components/libraries/crypto/backend/optiga \ + $(SDK_ROOT)/components/libraries/scheduler \ + $(SDK_ROOT)/components/libraries/slip \ + $(SDK_ROOT)/modules/nrfx/hal \ + $(SDK_ROOT)/external/fprintf \ + $(SDK_ROOT)/components/toolchain/cmsis/include \ + $(SDK_ROOT)/components/libraries/usbd/class/cdc/acm \ + $(SDK_ROOT)/components/libraries/balloc \ + $(SDK_ROOT)/components/libraries/atomic_fifo \ + $(SDK_ROOT)/external/micro-ecc/micro-ecc \ + $(PROJ_DIR) \ + $(SDK_ROOT)/components/libraries/crypto/backend/nrf_sw \ + $(SDK_ROOT)/modules/nrfx/mdk \ + $(SDK_ROOT)/external/nano-pb \ + $(SDK_ROOT)/components/libraries/queue \ + $(SDK_ROOT)/components/libraries/ringbuf \ + +# Libraries common to all targets +LIB_FILES += \ + $(SDK_ROOT)/external/nrf_oberon/lib/cortex-m4/soft-float/liboberon_3.0.8.a \ + $(SDK_ROOT)/external/micro-ecc/nrf52nf_armgcc/armgcc/micro_ecc_lib_nrf52.a \ + +# Optimization flags +OPT = -Os -g3 +# Uncomment the line below to enable link time optimization +#OPT += -flto + +# C flags common to all targets +CFLAGS += $(OPT) +CFLAGS += -DBOARD_PCA10100 +CFLAGS += -DCONFIG_GPIO_AS_PINRESET +CFLAGS += -DDEBUG_NRF +CFLAGS += -DDEVELOP_IN_NRF52833 +CFLAGS += -DFLOAT_ABI_SOFT +CFLAGS += -DMBR_PRESENT +CFLAGS += -DNRF52820_XXAA +CFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +CFLAGS += -DNRF_DFU_DEBUG_VERSION +CFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +CFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +CFLAGS += -DuECC_ENABLE_VLI_API=0 +CFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +CFLAGS += -DuECC_SQUARE_FUNC=0 +CFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +CFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 +CFLAGS += -mcpu=cortex-m4 +CFLAGS += -mthumb -mabi=aapcs +CFLAGS += -Wall -Werror +CFLAGS += -mfloat-abi=soft +# keep every function in a separate section, this allows linker to discard unused ones +CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing +CFLAGS += -fno-builtin -fshort-enums + +# C++ flags common to all targets +CXXFLAGS += $(OPT) +# Assembler flags common to all targets +ASMFLAGS += -g3 +ASMFLAGS += -mcpu=cortex-m4 +ASMFLAGS += -mthumb -mabi=aapcs +ASMFLAGS += -mfloat-abi=soft +ASMFLAGS += -DBOARD_PCA10100 +ASMFLAGS += -DCONFIG_GPIO_AS_PINRESET +ASMFLAGS += -DDEBUG_NRF +ASMFLAGS += -DDEVELOP_IN_NRF52833 +ASMFLAGS += -DFLOAT_ABI_SOFT +ASMFLAGS += -DMBR_PRESENT +ASMFLAGS += -DNRF52820_XXAA +ASMFLAGS += -DNRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 +ASMFLAGS += -DNRF_DFU_DEBUG_VERSION +ASMFLAGS += -DNRF_DFU_SETTINGS_VERSION=2 +ASMFLAGS += -DSVC_INTERFACE_CALL_AS_NORMAL_FUNCTION +ASMFLAGS += -DuECC_ENABLE_VLI_API=0 +ASMFLAGS += -DuECC_OPTIMIZATION_LEVEL=3 +ASMFLAGS += -DuECC_SQUARE_FUNC=0 +ASMFLAGS += -DuECC_SUPPORT_COMPRESSED_POINT=0 +ASMFLAGS += -DuECC_VLI_NATIVE_LITTLE_ENDIAN=1 + +# Linker flags +LDFLAGS += $(OPT) +LDFLAGS += -mthumb -mabi=aapcs -L$(SDK_ROOT)/modules/nrfx/mdk -T$(LINKER_SCRIPT) +LDFLAGS += -mcpu=cortex-m4 +# let linker dump unused sections +LDFLAGS += -Wl,--gc-sections +# use newlib in nano version +LDFLAGS += --specs=nano.specs + +nrf52820_xxaa_debug: CFLAGS += -D__HEAP_SIZE=0 +nrf52820_xxaa_debug: ASMFLAGS += -D__HEAP_SIZE=0 + +# Add standard libraries at the very end of the linker input, after all objects +# that may need symbols provided by these libraries. +LIB_FILES += -lc -lnosys -lm + + +.PHONY: default help + +# Default target - first one defined +default: nrf52820_xxaa_debug + +# Print all targets that can be built +help: + @echo following targets are available: + @echo nrf52820_xxaa_debug + @echo flash_mbr + @echo sdk_config - starting external tool for editing sdk_config.h + @echo flash - flashing binary + +TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc + + +include $(TEMPLATE_PATH)/Makefile.common + +$(foreach target, $(TARGETS), $(call define_target, $(target))) + +.PHONY: flash flash_mbr erase + +# Flash the program +flash: default + @echo Flashing: $(OUTPUT_DIRECTORY)/nrf52820_xxaa_debug.hex + nrfjprog -f nrf52 --program $(OUTPUT_DIRECTORY)/nrf52820_xxaa_debug.hex --sectorerase + nrfjprog -f nrf52 --reset + +# Flash softdevice +flash_mbr: + @echo Flashing: mbr_nrf52_2.4.1_mbr.hex + nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/mbr/hex/mbr_nrf52_2.4.1_mbr.hex --sectorerase + nrfjprog -f nrf52 --reset + +erase: + nrfjprog -f nrf52 --eraseall + +SDK_CONFIG_FILE := ../config/sdk_config.h +CMSIS_CONFIG_TOOL := $(SDK_ROOT)/external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar +sdk_config: + java -jar $(CMSIS_CONFIG_TOOL) $(SDK_CONFIG_FILE) diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/armgcc/secure_bootloader_gcc_nrf52.ld b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/armgcc/secure_bootloader_gcc_nrf52.ld new file mode 100644 index 0000000..abbbc00 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/armgcc/secure_bootloader_gcc_nrf52.ld @@ -0,0 +1,120 @@ +/* Linker script to configure memory regions. */ + +SEARCH_DIR(.) +GROUP(-lgcc -lc -lnosys) + +MEMORY +{ + FLASH (rx) : ORIGIN = 0x2c000, LENGTH = 0x12000 + RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x7ff8 + uicr_bootloader_start_address (r) : ORIGIN = 0x10001014, LENGTH = 0x4 + uicr_mbr_params_page (r) : ORIGIN = 0x10001018, LENGTH = 0x4 + mbr_params_page (r) : ORIGIN = 0x0003E000, LENGTH = 0x1000 + bootloader_settings_page (r) : ORIGIN = 0x0003F000, LENGTH = 0x1000 +} + +SECTIONS +{ + . = ALIGN(4); + .uicr_bootloader_start_address : + { + PROVIDE(__start_uicr_bootloader_start_address = .); + KEEP(*(SORT(.uicr_bootloader_start_address*))) + PROVIDE(__stop_uicr_bootloader_start_address = .); + } > uicr_bootloader_start_address + . = ALIGN(4); + .uicr_mbr_params_page : + { + PROVIDE(__start_uicr_mbr_params_page = .); + KEEP(*(SORT(.uicr_mbr_params_page*))) + PROVIDE(__stop_uicr_mbr_params_page = .); + } > uicr_mbr_params_page + . = ALIGN(4); + .mbr_params_page(NOLOAD) : + { + PROVIDE(__start_mbr_params_page = .); + KEEP(*(SORT(.mbr_params_page*))) + PROVIDE(__stop_mbr_params_page = .); + } > mbr_params_page + . = ALIGN(4); + .bootloader_settings_page(NOLOAD) : + { + PROVIDE(__start_bootloader_settings_page = .); + KEEP(*(SORT(.bootloader_settings_page*))) + PROVIDE(__stop_bootloader_settings_page = .); + } > bootloader_settings_page +} + +SECTIONS +{ + . = ALIGN(4); + .mem_section_dummy_ram : + { + } + .fs_data : + { + PROVIDE(__start_fs_data = .); + KEEP(*(.fs_data)) + PROVIDE(__stop_fs_data = .); + } > RAM + .log_dynamic_data : + { + PROVIDE(__start_log_dynamic_data = .); + KEEP(*(SORT(.log_dynamic_data*))) + PROVIDE(__stop_log_dynamic_data = .); + } > RAM + .log_filter_data : + { + PROVIDE(__start_log_filter_data = .); + KEEP(*(SORT(.log_filter_data*))) + PROVIDE(__stop_log_filter_data = .); + } > RAM + +} INSERT AFTER .data; + +SECTIONS +{ + .mem_section_dummy_rom : + { + } + .crypto_data : + { + PROVIDE(__start_crypto_data = .); + KEEP(*(SORT(.crypto_data*))) + PROVIDE(__stop_crypto_data = .); + } > FLASH + .dfu_trans : + { + PROVIDE(__start_dfu_trans = .); + KEEP(*(SORT(.dfu_trans*))) + PROVIDE(__stop_dfu_trans = .); + } > FLASH + .nrf_queue : + { + PROVIDE(__start_nrf_queue = .); + KEEP(*(.nrf_queue)) + PROVIDE(__stop_nrf_queue = .); + } > FLASH + .log_const_data : + { + PROVIDE(__start_log_const_data = .); + KEEP(*(SORT(.log_const_data*))) + PROVIDE(__stop_log_const_data = .); + } > FLASH + .nrf_balloc : + { + PROVIDE(__start_nrf_balloc = .); + KEEP(*(.nrf_balloc)) + PROVIDE(__stop_nrf_balloc = .); + } > FLASH + .log_backends : + { + PROVIDE(__start_log_backends = .); + KEEP(*(SORT(.log_backends*))) + PROVIDE(__stop_log_backends = .); + } > FLASH + +} INSERT AFTER .text + + +INCLUDE "nrf_common.ld" diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/config/sdk_config.h b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/config/sdk_config.h new file mode 100644 index 0000000..1d9ea26 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/config/sdk_config.h @@ -0,0 +1,5890 @@ +/** + * Copyright (c) 2017 - 2021, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, 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. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR 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 SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_Bootloader + +//========================================================== +// nrf_bootloader - Bootloader settings + +//========================================================== +// Application integrity checks + +//========================================================== +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 - Skip CRC integrity check of the application when bit 1 (0-indexed) is set in the GPREGRET2 register. + + +// Only CRC checks can be skipped. For other boot validation types, the GPREGRET2 register is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_GPREGRET2 1 +#endif + +// NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET - Skip integrity check of the application when waking up from the System Off state. + + +// Only CRC checks can be skipped. For other boot validation types, the reset state is ignored. + +#ifndef NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET +#define NRF_BL_APP_CRC_CHECK_SKIPPED_ON_SYSTEMOFF_RESET 1 +#endif + +// NRF_BL_APP_SIGNATURE_CHECK_REQUIRED - Perform signature check on the app. Requires the signature to be sent in the init packet. + + +#ifndef NRF_BL_APP_SIGNATURE_CHECK_REQUIRED +#define NRF_BL_APP_SIGNATURE_CHECK_REQUIRED 0 +#endif + +// NRF_BL_DFU_ALLOW_UPDATE_FROM_APP - Whether to allow the app to receive firmware updates for the bootloader to activate. + + +// Enable this to allow the app to instruct the bootloader to activate firmware. +// The bootloader will do its own postvalidation. + +#ifndef NRF_BL_DFU_ALLOW_UPDATE_FROM_APP +#define NRF_BL_DFU_ALLOW_UPDATE_FROM_APP 0 +#endif + +// +//========================================================== + +// DFU mode enter method + +//========================================================== +// NRF_BL_DFU_ENTER_METHOD_BUTTON - Enter DFU mode on button press. +//========================================================== +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON +#define NRF_BL_DFU_ENTER_METHOD_BUTTON 1 +#endif +// NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN - Button for entering DFU mode. + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN +#define NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN 25 +#endif + +// + +// NRF_BL_DFU_ENTER_METHOD_PINRESET - Enter DFU mode on pin reset. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_PINRESET +#define NRF_BL_DFU_ENTER_METHOD_PINRESET 0 +#endif + +// NRF_BL_DFU_ENTER_METHOD_GPREGRET - Enter DFU mode when bit 0 is set in the NRF_POWER_GPREGRET register. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_GPREGRET +#define NRF_BL_DFU_ENTER_METHOD_GPREGRET 1 +#endif + +// NRF_BL_DFU_ENTER_METHOD_BUTTONLESS - Enter DFU mode when the Boolean enter_buttonless_dfu in DFU settings is true. + + +#ifndef NRF_BL_DFU_ENTER_METHOD_BUTTONLESS +#define NRF_BL_DFU_ENTER_METHOD_BUTTONLESS 0 +#endif + +// +//========================================================== + +// DFU timers + +//========================================================== +// NRF_BL_DFU_CONTINUATION_TIMEOUT_MS - Timeout in ms when expecting an update immediately. <100-60000000> + + +// This timeout is used after updating the SoftDevice, when there is +// already a valid application present. The bootloader will enter DFU mode +// for a short time instead of booting the old application to allow the host +// to immediately transfer a new application if it wishes. + +#ifndef NRF_BL_DFU_CONTINUATION_TIMEOUT_MS +#define NRF_BL_DFU_CONTINUATION_TIMEOUT_MS 10000 +#endif + +// NRF_BL_DFU_INACTIVITY_TIMEOUT_MS - Timeout in ms before automatically starting a valid application due to inactivity. <0-60000000> + + +// If 0, no inactivity timer will be used. Values 1-99 are invalid. + +#ifndef NRF_BL_DFU_INACTIVITY_TIMEOUT_MS +#define NRF_BL_DFU_INACTIVITY_TIMEOUT_MS 120000 +#endif + +// +//========================================================== + +// Watchdog timer + +//========================================================== +// NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS - Maximum latency of the scheduler in miliseconds +// Maximum latency of the scheduler is compared with +// watchdog counter reload value (CRV). If latency is big +// enough, the watchdog will be fed from internal timer +// handler along with feed from user function. If latency +// is smaller than CRV, the watchdog will not be internally fed once +// it will be externally fed. Maximum latency is mainly affected +// by flash operations. + +#ifndef NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS +#define NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS 10000 +#endif + +// +//========================================================== + +// Misc Bootloader settings + +//========================================================== +// NRF_BL_DEBUG_PORT_DISABLE - Disable access to the chip via the debug port. + + +// Disable access to the chip via the debug port. +// This modifies the APPROTECT and DEBUGCTRL registers. +// Enable this option in production code if such +// access should be prohibited. Read about the registers +// for more details. + +#ifndef NRF_BL_DEBUG_PORT_DISABLE +#define NRF_BL_DEBUG_PORT_DISABLE 0 +#endif + +// NRF_BL_FW_COPY_PROGRESS_STORE_STEP - Number of pages copied after which progress in the settings page is updated. +// Progress stored in the settings page allows the bootloader to resume +// copying the new firmware in case of interruption (reset). +// If the value is small, then the resume point is more accurate. However, +// it also impacts negatively on flash wear. + +#ifndef NRF_BL_FW_COPY_PROGRESS_STORE_STEP +#define NRF_BL_FW_COPY_PROGRESS_STORE_STEP 8 +#endif + +// NRF_BL_RESET_DELAY_MS - Time to wait before resetting the bootloader. +// Time (in ms) to wait before resetting the bootloader after DFU has been completed or aborted. This allows more time for e.g. disconnecting the BLE link or writing logs. + +#ifndef NRF_BL_RESET_DELAY_MS +#define NRF_BL_RESET_DELAY_MS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 1 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 0 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// nrf_crypto_rng - RNG Configuration + +//========================================================== +// NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED - Use static memory buffers for context and temporary init buffer. + + +// Always recommended when using the nRF HW RNG as the context and temporary buffers are small. Consider disabling if using the CC310 RNG in a RAM constrained application. In this case, memory must be provided to nrf_crypto_rng_init, or it can be allocated internally provided that NRF_CRYPTO_ALLOCATOR does not allocate memory on the stack. + +#ifndef NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED +#define NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1 +#endif + +// NRF_CRYPTO_RNG_AUTO_INIT_ENABLED - Initialize the RNG module automatically when nrf_crypto is initialized. + + +// Automatic initialization is only supported with static or internally allocated context and temporary memory. + +#ifndef NRF_CRYPTO_RNG_AUTO_INIT_ENABLED +#define NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// DFU security - nrf_dfu_validation - DFU validation + +//========================================================== +// NRF_DFU_APP_ACCEPT_SAME_VERSION - Whether to accept application upgrades with the same version as the current application. + + +// This applies to application updates, and possibly to SoftDevice updates. +// Bootloader upgrades always require higher versions. SoftDevice upgrades +// look at the sd_req field independently of this config. +// Disabling this protects against replay attacks wearing out the flash of the device. +// This config only has an effect when NRF_DFU_APP_DOWNGRADE_PREVENTION is enabled. + +#ifndef NRF_DFU_APP_ACCEPT_SAME_VERSION +#define NRF_DFU_APP_ACCEPT_SAME_VERSION 1 +#endif + +// NRF_DFU_APP_DOWNGRADE_PREVENTION - Check the firmware version and SoftDevice requirements of application (and SoftDevice) updates. + + +// Whether to check the incoming version against the version of the existing app and/or +// the incoming SoftDevice requirements against the existing SoftDevice. +// This applies to application updates, and possibly to SoftDevice updates. +// Disabling this causes the checks to always ignore the incoming firmware version and +// to ignore the SoftDevice requirements if the first requirement is 0. +// This does not apply the bootloader updates. If the bootloader depends on the SoftDevice +// e.g. for BLE transport, this does not apply to SoftDevice updates. +// See @ref lib_bootloader_dfu_validation for more information. +// When signed updates are required, version checking should always be enabled. + +#ifndef NRF_DFU_APP_DOWNGRADE_PREVENTION +#define NRF_DFU_APP_DOWNGRADE_PREVENTION 1 +#endif + +// NRF_DFU_EXTERNAL_APP_VERSIONING - Require versioning for external applications. + + +// This configuration is only used if NRF_DFU_SUPPORTS_EXTERNAL_APP is set to 1. +// Setting this will require that any FW images using the FW upgrade type +// DFU_FW_TYPE_EXTERNAL_APPLICATION must follow a monotonic versioning scheme +// where the FW version of an upgrade must always be larger than the previously stored +// FW version. + +#ifndef NRF_DFU_EXTERNAL_APP_VERSIONING +#define NRF_DFU_EXTERNAL_APP_VERSIONING 1 +#endif + +// NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES - Accept only dual-bank application updates. + + +// If not enabled then if there is not enough space to perform dual-bank update +// application is deleted and single-bank update is performed. In case it is considered +// security concern user can prefer to discard update request rather than overwrite +// current application. + +#ifndef NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES +#define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 0 +#endif + +// NRF_DFU_HW_VERSION - Device hardware version. +// This is used to determine if given update is targeting the device. +// It is checked against the hw_version value in the init packet + +#ifndef NRF_DFU_HW_VERSION +#define NRF_DFU_HW_VERSION 52 +#endif + +// NRF_DFU_REQUIRE_SIGNED_APP_UPDATE - Require a valid signature to update the application or SoftDevice. + + +#ifndef NRF_DFU_REQUIRE_SIGNED_APP_UPDATE +#define NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 1 +#endif + +// NRF_DFU_SINGLE_BANK_APP_UPDATES - Place the application and the SoftDevice directly where they are supposed to be. + + +// Note that this creates security concerns when signing and version checks +// are enabled. An attacker will be able to delete (but not replace) +// the current app or SoftDevice without knowing the signature key. + +#ifndef NRF_DFU_SINGLE_BANK_APP_UPDATES +#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 +#endif + +// +//========================================================== + +// NRF_DFU_SETTINGS_COMPATIBILITY_MODE - nrf_dfu_settings - DFU Settings + + +#ifndef NRF_DFU_SETTINGS_COMPATIBILITY_MODE +#define NRF_DFU_SETTINGS_COMPATIBILITY_MODE 1 +#endif + +// nrf_dfu - Device Firmware Upgrade + +//========================================================== +// DFU transport + +//========================================================== +// NRF_DFU_TRANSPORT_ANT - ANT transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_ANT +#define NRF_DFU_TRANSPORT_ANT 0 +#endif +// NRF_DFU_ANT_MTU - MTU size used for firmware bursts. +// Sets the maximum burst size used for DFU write commands. + +#ifndef NRF_DFU_ANT_MTU +#define NRF_DFU_ANT_MTU 1024 +#endif + +// ANT DFU buffers + +//========================================================== +// NRF_DFU_ANT_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_ANT_BUFFERS_OVERRIDE +#define NRF_DFU_ANT_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_ANT_BUFFERS - Number of buffers in the ANT transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_ANT_BUFFERS +#define NRF_DFU_ANT_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// ANT DFU Channel Configuration + +//========================================================== +// NRF_DFU_ANT_RF_FREQ - DFU RF channel. +#ifndef NRF_DFU_ANT_RF_FREQ +#define NRF_DFU_ANT_RF_FREQ 66 +#endif + +// NRF_DFU_ANT_DEV_TYPE - Device type field to use for DFU channel id. +#ifndef NRF_DFU_ANT_DEV_TYPE +#define NRF_DFU_ANT_DEV_TYPE 10 +#endif + +// NRF_DFU_ANT_CHANNEL_PERIOD - Channel period of DFU ANT channel. +#ifndef NRF_DFU_ANT_CHANNEL_PERIOD +#define NRF_DFU_ANT_CHANNEL_PERIOD 2048 +#endif + +// +//========================================================== + +// + +// NRF_DFU_TRANSPORT_BLE - BLE transport settings +//========================================================== +#ifndef NRF_DFU_TRANSPORT_BLE +#define NRF_DFU_TRANSPORT_BLE 0 +#endif +// NRF_DFU_BLE_SKIP_SD_INIT - Skip the SoftDevice and interrupt vector table initialization. + + +#ifndef NRF_DFU_BLE_SKIP_SD_INIT +#define NRF_DFU_BLE_SKIP_SD_INIT 0 +#endif + +// NRF_DFU_BLE_ADV_NAME - Default advertising name. +#ifndef NRF_DFU_BLE_ADV_NAME +#define NRF_DFU_BLE_ADV_NAME "DfuTarg" +#endif + +// NRF_DFU_BLE_ADV_INTERVAL - Advertising interval (in units of 0.625 ms) +#ifndef NRF_DFU_BLE_ADV_INTERVAL +#define NRF_DFU_BLE_ADV_INTERVAL 40 +#endif + +// BLE DFU security + +//========================================================== +// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer. + + +#ifndef NRF_DFU_BLE_REQUIRES_BONDS +#define NRF_DFU_BLE_REQUIRES_BONDS 0 +#endif + +// +//========================================================== + +// BLE DFU connection + +//========================================================== +// NRF_DFU_BLE_MIN_CONN_INTERVAL - Minimum connection interval (units). +// Minimum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MIN_CONN_INTERVAL +#define NRF_DFU_BLE_MIN_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_MAX_CONN_INTERVAL - Maximum connection interval (units). +// Maximum GAP connection interval, in 1.25 ms units. + +#ifndef NRF_DFU_BLE_MAX_CONN_INTERVAL +#define NRF_DFU_BLE_MAX_CONN_INTERVAL 12 +#endif + +// NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS - Supervision timeout (ms). +// GAP connection supervision timeout, in milliseconds. + +#ifndef NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS +#define NRF_DFU_BLE_CONN_SUP_TIMEOUT_MS 6000 +#endif + +// +//========================================================== + +// BLE DFU buffers + +//========================================================== +// NRF_DFU_BLE_BUFFERS_OVERRIDE + +// Check this option to override the default number of buffers. +//========================================================== +#ifndef NRF_DFU_BLE_BUFFERS_OVERRIDE +#define NRF_DFU_BLE_BUFFERS_OVERRIDE 0 +#endif +// NRF_DFU_BLE_BUFFERS - Number of buffers in the BLE transport. +// Number of buffers to store incoming data while it is being written to flash. +// Reduce this value to save RAM. If this value is too low, the DFU process will fail. + +#ifndef NRF_DFU_BLE_BUFFERS +#define NRF_DFU_BLE_BUFFERS 8 +#endif + +// + +// +//========================================================== + +// + +// +//========================================================== + +// DFU protocol + +//========================================================== +// NRF_DFU_PROTOCOL_FW_VERSION_MSG - Firmware version message support. + + +// Firmware version message support. +// If disabled, firmware version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_FW_VERSION_MSG +#define NRF_DFU_PROTOCOL_FW_VERSION_MSG 1 +#endif + +// NRF_DFU_PROTOCOL_REDUCED - Reduced protocol opcode selection. + + +// Only support a minimal set of opcodes; return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED +// for unsupported opcodes. The supported opcodes are:NRF_DFU_OP_OBJECT_CREATE, +// NRF_DFU_OP_OBJECT_EXECUTE, NRF_DFU_OP_OBJECT_SELECT, NRF_DFU_OP_OBJECT_WRITE, +// NRF_DFU_OP_CRC_GET, NRF_DFU_OP_RECEIPT_NOTIF_SET, and NRF_DFU_OP_ABORT. +// This reduced feature set is used by the BLE transport to reduce flash usage. + +#ifndef NRF_DFU_PROTOCOL_REDUCED +#define NRF_DFU_PROTOCOL_REDUCED 0 +#endif + +// NRF_DFU_PROTOCOL_VERSION_MSG - Protocol version message support. + + +// Protocol version message support. +// If disabled, protocol version requests will return NRF_DFU_RES_CODE_OP_CODE_NOT_SUPPORTED. + +#ifndef NRF_DFU_PROTOCOL_VERSION_MSG +#define NRF_DFU_PROTOCOL_VERSION_MSG 1 +#endif + +// +//========================================================== + +// Misc DFU settings + +//========================================================== +// NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. +// This area is found at the end of the application area, next to the start of +// the bootloader. This area will not be erased by the bootloader during a +// firmware upgrade. The size must be a multiple of the flash page size. + +#ifndef NRF_DFU_APP_DATA_AREA_SIZE +#define NRF_DFU_APP_DATA_AREA_SIZE 12288 +#endif + +// NRF_DFU_IN_APP - Specifies that this code is in the app, not the bootloader, so some settings are off-limits. + + +// Enable this to disable writing to areas of the settings that are protected +// by the bootlader. If this is not enabled in the app, certain settings write +// operations will cause HardFaults or will be ignored. Enabling this option +// also causes postvalidation to be disabled since this is meant to be done +// in the bootloader. NRF_BL_DFU_ALLOW_UPDATE_FROM_APP must be enabled in the bootloader. + +#ifndef NRF_DFU_IN_APP +#define NRF_DFU_IN_APP 0 +#endif + +// NRF_DFU_SAVE_PROGRESS_IN_FLASH - Save DFU progress in flash. + + +// Save DFU progress to flash so that it can be resumed if interrupted, instead of being restarted. +// Keep this setting disabled to maximize transfer speed and minimize flash wear. +// The init packet is always saved in flash, regardless of this setting. + +#ifndef NRF_DFU_SAVE_PROGRESS_IN_FLASH +#define NRF_DFU_SAVE_PROGRESS_IN_FLASH 0 +#endif + +// NRF_DFU_SUPPORTS_EXTERNAL_APP - [Experimental] Support for external app. + + +// External apps are apps that will not be activated. They can +// e.g. be apps to be sent to a third party. External app updates +// are verified upon reception, but will remain in bank 1, and +// will never be booted. An external app will be overwritten if +// a new DFU procedure is performed. Note: This functionality is +// experimental and not yet used in any examples. + +#ifndef NRF_DFU_SUPPORTS_EXTERNAL_APP +#define NRF_DFU_SUPPORTS_EXTERNAL_APP 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// NRFX_CLOCK_ENABLED - nrfx_clock - CLOCK peripheral driver +//========================================================== +#ifndef NRFX_CLOCK_ENABLED +#define NRFX_CLOCK_ENABLED 1 +#endif +// NRFX_CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef NRFX_CLOCK_CONFIG_LF_SRC +#define NRFX_CLOCK_CONFIG_LF_SRC 1 +#endif + +// NRFX_CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_CLOCK_CONFIG_IRQ_PRIORITY +#define NRFX_CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_CLOCK_CONFIG_LOG_ENABLED +#define NRFX_CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_CLOCK_CONFIG_LOG_LEVEL +#define NRFX_CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_INFO_COLOR +#define NRFX_CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_DEBUG_COLOR +#define NRFX_CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_POWER_ENABLED - nrfx_power - POWER peripheral driver +//========================================================== +#ifndef NRFX_POWER_ENABLED +#define NRFX_POWER_ENABLED 1 +#endif +// NRFX_POWER_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_POWER_CONFIG_IRQ_PRIORITY +#define NRFX_POWER_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_POWER_CONFIG_DEFAULT_DCDCEN - The default configuration of main DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef NRFX_POWER_CONFIG_DEFAULT_DCDCEN +#define NRFX_POWER_CONFIG_DEFAULT_DCDCEN 0 +#endif + +// NRFX_POWER_CONFIG_DEFAULT_DCDCENHV - The default configuration of High Voltage DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef NRFX_POWER_CONFIG_DEFAULT_DCDCENHV +#define NRFX_POWER_CONFIG_DEFAULT_DCDCENHV 0 +#endif + +// + +// NRFX_PRS_ENABLED - nrfx_prs - Peripheral Resource Sharing module +//========================================================== +#ifndef NRFX_PRS_ENABLED +#define NRFX_PRS_ENABLED 1 +#endif +// NRFX_PRS_BOX_0_ENABLED - Enables box 0 in the module. + + +#ifndef NRFX_PRS_BOX_0_ENABLED +#define NRFX_PRS_BOX_0_ENABLED 0 +#endif + +// NRFX_PRS_BOX_1_ENABLED - Enables box 1 in the module. + + +#ifndef NRFX_PRS_BOX_1_ENABLED +#define NRFX_PRS_BOX_1_ENABLED 0 +#endif + +// NRFX_PRS_BOX_2_ENABLED - Enables box 2 in the module. + + +#ifndef NRFX_PRS_BOX_2_ENABLED +#define NRFX_PRS_BOX_2_ENABLED 1 +#endif + +// NRFX_PRS_BOX_3_ENABLED - Enables box 3 in the module. + + +#ifndef NRFX_PRS_BOX_3_ENABLED +#define NRFX_PRS_BOX_3_ENABLED 0 +#endif + +// NRFX_PRS_BOX_4_ENABLED - Enables box 4 in the module. + + +#ifndef NRFX_PRS_BOX_4_ENABLED +#define NRFX_PRS_BOX_4_ENABLED 1 +#endif + +// NRFX_PRS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PRS_CONFIG_LOG_ENABLED +#define NRFX_PRS_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PRS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PRS_CONFIG_LOG_LEVEL +#define NRFX_PRS_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PRS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_INFO_COLOR +#define NRFX_PRS_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PRS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PRS_CONFIG_DEBUG_COLOR +#define NRFX_PRS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_SYSTICK_ENABLED - nrfx_systick - ARM(R) SysTick driver + + +#ifndef NRFX_SYSTICK_ENABLED +#define NRFX_SYSTICK_ENABLED 1 +#endif + +// NRFX_UARTE_ENABLED - nrfx_uarte - UARTE peripheral driver +//========================================================== +#ifndef NRFX_UARTE_ENABLED +#define NRFX_UARTE_ENABLED 1 +#endif +// NRFX_UARTE0_ENABLED - Enable UARTE0 instance +#ifndef NRFX_UARTE0_ENABLED +#define NRFX_UARTE0_ENABLED 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_HWFC +#define NRFX_UARTE_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_PARITY +#define NRFX_UARTE_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <8388608=> 31250 baud +// <10289152=> 38400 baud +// <15007744=> 56000 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UARTE_CONFIG_LOG_ENABLED +#define NRFX_UARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UARTE_CONFIG_LOG_LEVEL +#define NRFX_UARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_INFO_COLOR +#define NRFX_UARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_DEBUG_COLOR +#define NRFX_UARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UART_ENABLED - nrfx_uart - UART peripheral driver +//========================================================== +#ifndef NRFX_UART_ENABLED +#define NRFX_UART_ENABLED 1 +#endif +// NRFX_UART0_ENABLED - Enable UART0 instance +#ifndef NRFX_UART0_ENABLED +#define NRFX_UART0_ENABLED 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UART_DEFAULT_CONFIG_HWFC +#define NRFX_UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UART_DEFAULT_CONFIG_PARITY +#define NRFX_UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3866624=> 14400 baud +// <5152768=> 19200 baud +// <7729152=> 28800 baud +// <8388608=> 31250 baud +// <10309632=> 38400 baud +// <15007744=> 56000 baud +// <15462400=> 57600 baud +// <20615168=> 76800 baud +// <30924800=> 115200 baud +// <61845504=> 230400 baud +// <67108864=> 250000 baud +// <123695104=> 460800 baud +// <247386112=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UART_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UART_DEFAULT_CONFIG_BAUDRATE 30924800 +#endif + +// NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UART_CONFIG_LOG_ENABLED +#define NRFX_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UART_CONFIG_LOG_LEVEL +#define NRFX_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_INFO_COLOR +#define NRFX_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_DEBUG_COLOR +#define NRFX_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_USBD_ENABLED - nrfx_usbd - USBD peripheral driver +//========================================================== +#ifndef NRFX_USBD_ENABLED +#define NRFX_USBD_ENABLED 1 +#endif +// NRFX_USBD_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_USBD_CONFIG_IRQ_PRIORITY +#define NRFX_USBD_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_USBD_CONFIG_DMASCHEDULER_MODE - USBD DMA scheduler working scheme + +// <0=> Prioritized access +// <1=> Round Robin + +#ifndef NRFX_USBD_CONFIG_DMASCHEDULER_MODE +#define NRFX_USBD_CONFIG_DMASCHEDULER_MODE 0 +#endif + +// NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST - Give priority to isochronous transfers + + +// This option gives priority to isochronous transfers. +// Enabling it assures that isochronous transfers are always processed, +// even if multiple other transfers are pending. +// Isochronous endpoints are prioritized before the usbd_dma_scheduler_algorithm +// function is called, so the option is independent of the algorithm chosen. + +#ifndef NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST +#define NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST 1 +#endif + +// NRFX_USBD_CONFIG_ISO_IN_ZLP - Respond to an IN token on ISO IN endpoint with ZLP when no data is ready + + +// If set, ISO IN endpoint will respond to an IN token with ZLP when no data is ready to be sent. +// Else, there will be no response. + +#ifndef NRFX_USBD_CONFIG_ISO_IN_ZLP +#define NRFX_USBD_CONFIG_ISO_IN_ZLP 0 +#endif + +// NRFX_USBD_USE_WORKAROUND_FOR_ANOMALY_211 - Use workaround for anomaly 211 + + +// If set, workaround for anomaly 211 will be enabled. +// Anomaly 211 - Device remains in SUSPEND too long when host resumes +// bus activity (sending SOF packets) without a RESUME condition. + +#ifndef NRFX_USBD_USE_WORKAROUND_FOR_ANOMALY_211 +#define NRFX_USBD_USE_WORKAROUND_FOR_ANOMALY_211 0 +#endif + +// + +// NRF_CLOCK_ENABLED - nrf_drv_clock - CLOCK peripheral driver - legacy layer +//========================================================== +#ifndef NRF_CLOCK_ENABLED +#define NRF_CLOCK_ENABLED 1 +#endif +// CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef CLOCK_CONFIG_LF_SRC +#define CLOCK_CONFIG_LF_SRC 1 +#endif + +// CLOCK_CONFIG_LF_CAL_ENABLED - Calibration enable for LF Clock Source + + +#ifndef CLOCK_CONFIG_LF_CAL_ENABLED +#define CLOCK_CONFIG_LF_CAL_ENABLED 0 +#endif + +// CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef CLOCK_CONFIG_IRQ_PRIORITY +#define CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// POWER_ENABLED - nrf_drv_power - POWER peripheral driver - legacy layer +//========================================================== +#ifndef POWER_ENABLED +#define POWER_ENABLED 1 +#endif +// POWER_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef POWER_CONFIG_IRQ_PRIORITY +#define POWER_CONFIG_IRQ_PRIORITY 6 +#endif + +// POWER_CONFIG_DEFAULT_DCDCEN - The default configuration of main DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef POWER_CONFIG_DEFAULT_DCDCEN +#define POWER_CONFIG_DEFAULT_DCDCEN 0 +#endif + +// POWER_CONFIG_DEFAULT_DCDCENHV - The default configuration of High Voltage DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef POWER_CONFIG_DEFAULT_DCDCENHV +#define POWER_CONFIG_DEFAULT_DCDCENHV 0 +#endif + +// + +// SYSTICK_ENABLED - nrf_drv_systick - ARM(R) SysTick driver - legacy layer + + +#ifndef SYSTICK_ENABLED +#define SYSTICK_ENABLED 1 +#endif + +// UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver - legacy layer +//========================================================== +#ifndef UART_ENABLED +#define UART_ENABLED 1 +#endif +// UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef UART_DEFAULT_CONFIG_HWFC +#define UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef UART_DEFAULT_CONFIG_PARITY +#define UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef UART_DEFAULT_CONFIG_BAUDRATE +#define UART_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// UART_EASY_DMA_SUPPORT - Driver supporting EasyDMA + + +#ifndef UART_EASY_DMA_SUPPORT +#define UART_EASY_DMA_SUPPORT 1 +#endif + +// UART_LEGACY_SUPPORT - Driver supporting Legacy mode + + +#ifndef UART_LEGACY_SUPPORT +#define UART_LEGACY_SUPPORT 0 +#endif + +// UART0_ENABLED - Enable UART0 instance +//========================================================== +#ifndef UART0_ENABLED +#define UART0_ENABLED 1 +#endif +// UART0_CONFIG_USE_EASY_DMA - Default setting for using EasyDMA + + +#ifndef UART0_CONFIG_USE_EASY_DMA +#define UART0_CONFIG_USE_EASY_DMA 1 +#endif + +// + +// + +// USBD_ENABLED - nrf_drv_usbd - Software Component +//========================================================== +#ifndef USBD_ENABLED +#define USBD_ENABLED 1 +#endif +// USBD_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef USBD_CONFIG_IRQ_PRIORITY +#define USBD_CONFIG_IRQ_PRIORITY 6 +#endif + +// USBD_CONFIG_DMASCHEDULER_MODE - USBD SMA scheduler working scheme + +// <0=> Prioritized access +// <1=> Round Robin + +#ifndef USBD_CONFIG_DMASCHEDULER_MODE +#define USBD_CONFIG_DMASCHEDULER_MODE 0 +#endif + +// USBD_CONFIG_DMASCHEDULER_ISO_BOOST - Give priority to isochronous transfers + + +// This option gives priority to isochronous transfers. +// Enabling it assures that isochronous transfers are always processed, +// even if multiple other transfers are pending. +// Isochronous endpoints are prioritized before the usbd_dma_scheduler_algorithm +// function is called, so the option is independent of the algorithm chosen. + +#ifndef USBD_CONFIG_DMASCHEDULER_ISO_BOOST +#define USBD_CONFIG_DMASCHEDULER_ISO_BOOST 1 +#endif + +// USBD_CONFIG_ISO_IN_ZLP - Respond to an IN token on ISO IN endpoint with ZLP when no data is ready + + +// If set, ISO IN endpoint will respond to an IN token with ZLP when no data is ready to be sent. +// Else, there will be no response. +// NOTE: This option does not work on Engineering A chip. + +#ifndef USBD_CONFIG_ISO_IN_ZLP +#define USBD_CONFIG_ISO_IN_ZLP 0 +#endif + +// + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 1 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// APP_USBD_ENABLED - app_usbd - USB Device library +//========================================================== +#ifndef APP_USBD_ENABLED +#define APP_USBD_ENABLED 1 +#endif +// APP_USBD_VID - Vendor ID. + +// Note: This value is not editable in Configuration Wizard. +// Vendor ID ordered from USB IF: http://www.usb.org/developers/vendor/ +#ifndef APP_USBD_VID +#define APP_USBD_VID 0x1915 +#endif + +// APP_USBD_PID - Product ID. + +// Note: This value is not editable in Configuration Wizard. +// Selected Product ID +#ifndef APP_USBD_PID +#define APP_USBD_PID 0x521F +#endif + +// APP_USBD_DEVICE_VER_MAJOR - Major device version <0-99> + + +// Major device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_MAJOR +#define APP_USBD_DEVICE_VER_MAJOR 1 +#endif + +// APP_USBD_DEVICE_VER_MINOR - Minor device version <0-9> + + +// Minor device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_MINOR +#define APP_USBD_DEVICE_VER_MINOR 0 +#endif + +// APP_USBD_DEVICE_VER_SUB - Sub-minor device version <0-9> + + +// Sub-minor device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_SUB +#define APP_USBD_DEVICE_VER_SUB 0 +#endif + +// APP_USBD_CONFIG_SELF_POWERED - Self-powered device, as opposed to bus-powered. + + +#ifndef APP_USBD_CONFIG_SELF_POWERED +#define APP_USBD_CONFIG_SELF_POWERED 1 +#endif + +// APP_USBD_CONFIG_MAX_POWER - MaxPower field in configuration descriptor in milliamps. <0-500> + + +#ifndef APP_USBD_CONFIG_MAX_POWER +#define APP_USBD_CONFIG_MAX_POWER 100 +#endif + +// APP_USBD_CONFIG_POWER_EVENTS_PROCESS - Process power events. + + +// Enable processing power events in USB event handler. + +#ifndef APP_USBD_CONFIG_POWER_EVENTS_PROCESS +#define APP_USBD_CONFIG_POWER_EVENTS_PROCESS 1 +#endif + +// APP_USBD_CONFIG_EVENT_QUEUE_ENABLE - Enable event queue. + +// This is the default configuration when all the events are placed into internal queue. +// Disable it when an external queue is used like app_scheduler or if you wish to process all events inside interrupts. +// Processing all events from the interrupt level adds requirement not to call any functions that modifies the USBD library state from the context higher than USB interrupt context. +// Functions that modify USBD state are functions for sleep, wakeup, start, stop, enable, and disable. +//========================================================== +#ifndef APP_USBD_CONFIG_EVENT_QUEUE_ENABLE +#define APP_USBD_CONFIG_EVENT_QUEUE_ENABLE 0 +#endif +// APP_USBD_CONFIG_EVENT_QUEUE_SIZE - The size of the event queue. <16-64> + + +// The size of the queue for the events that would be processed in the main loop. + +#ifndef APP_USBD_CONFIG_EVENT_QUEUE_SIZE +#define APP_USBD_CONFIG_EVENT_QUEUE_SIZE 32 +#endif + +// APP_USBD_CONFIG_SOF_HANDLING_MODE - Change SOF events handling mode. + + +// Normal queue - SOF events are pushed normally into the event queue. +// Compress queue - SOF events are counted and binded with other events or executed when the queue is empty. +// This prevents the queue from filling up with SOF events. +// Interrupt - SOF events are processed in interrupt. +// <0=> Normal queue +// <1=> Compress queue +// <2=> Interrupt + +#ifndef APP_USBD_CONFIG_SOF_HANDLING_MODE +#define APP_USBD_CONFIG_SOF_HANDLING_MODE 1 +#endif + +// + +// APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE - Provide a function that generates timestamps for logs based on the current SOF. + + +// The function app_usbd_sof_timestamp_get is implemented if the logger is enabled. +// Use it when initializing the logger. +// SOF processing is always enabled when this configuration parameter is active. +// Note: This option is configured outside of APP_USBD_CONFIG_LOG_ENABLED. +// This means that it works even if the logging in this very module is disabled. + +#ifndef APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE +#define APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE 0 +#endif + +// APP_USBD_CONFIG_DESC_STRING_SIZE - Maximum size of the NULL-terminated string of the string descriptor. <31-254> + + +// 31 characters can be stored in the internal USB buffer used for transfers. +// Any value higher than 31 creates an additional buffer just for descriptor strings. + +#ifndef APP_USBD_CONFIG_DESC_STRING_SIZE +#define APP_USBD_CONFIG_DESC_STRING_SIZE 31 +#endif + +// APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED - Enable UTF8 conversion. + + +// Enable UTF8-encoded characters. In normal processing, only ASCII characters are available. + +#ifndef APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED +#define APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED 0 +#endif + +// APP_USBD_STRINGS_LANGIDS - Supported languages identifiers. + +// Note: This value is not editable in Configuration Wizard. +// Comma-separated list of supported languages. +#ifndef APP_USBD_STRINGS_LANGIDS +#define APP_USBD_STRINGS_LANGIDS APP_USBD_LANG_AND_SUBLANG(APP_USBD_LANG_ENGLISH, APP_USBD_SUBLANG_ENGLISH_US) +#endif + +// APP_USBD_STRING_ID_MANUFACTURER - Define manufacturer string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_MANUFACTURER +#define APP_USBD_STRING_ID_MANUFACTURER 1 +#endif +// APP_USBD_STRINGS_MANUFACTURER_EXTERN - Define whether @ref APP_USBD_STRINGS_MANUFACTURER is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRINGS_MANUFACTURER_EXTERN +#define APP_USBD_STRINGS_MANUFACTURER_EXTERN 0 +#endif + +// APP_USBD_STRINGS_MANUFACTURER - String descriptor for the manufacturer name. + +// Note: This value is not editable in Configuration Wizard. +// Comma-separated list of manufacturer names for each defined language. +// Use @ref APP_USBD_STRING_DESC macro to create string descriptor from a NULL-terminated string. +// Use @ref APP_USBD_STRING_RAW8_DESC macro to create string descriptor from comma-separated uint8_t values. +// Use @ref APP_USBD_STRING_RAW16_DESC macro to create string descriptor from comma-separated uint16_t values. +// Alternatively, configure the macro to point to any internal variable pointer that already contains the descriptor. +// Setting string to NULL disables that string. +// The order of manufacturer names must be the same like in @ref APP_USBD_STRINGS_LANGIDS. +#ifndef APP_USBD_STRINGS_MANUFACTURER +#define APP_USBD_STRINGS_MANUFACTURER APP_USBD_STRING_DESC("Nordic Semiconductor") +#endif + +// + +// APP_USBD_STRING_ID_PRODUCT - Define product string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_PRODUCT +#define APP_USBD_STRING_ID_PRODUCT 2 +#endif +// APP_USBD_STRINGS_PRODUCT_EXTERN - Define whether @ref APP_USBD_STRINGS_PRODUCT is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRINGS_PRODUCT_EXTERN +#define APP_USBD_STRINGS_PRODUCT_EXTERN 0 +#endif + +// APP_USBD_STRINGS_PRODUCT - String descriptor for the product name. + +// Note: This value is not editable in Configuration Wizard. +// List of product names that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRINGS_PRODUCT +#define APP_USBD_STRINGS_PRODUCT APP_USBD_STRING_DESC("Secure DFU Bootloader") +#endif + +// + +// APP_USBD_STRING_ID_SERIAL - Define serial number string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_SERIAL +#define APP_USBD_STRING_ID_SERIAL 3 +#endif +// APP_USBD_STRING_SERIAL_EXTERN - Define whether @ref APP_USBD_STRING_SERIAL is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRING_SERIAL_EXTERN +#define APP_USBD_STRING_SERIAL_EXTERN 1 +#endif + +// APP_USBD_STRING_SERIAL - String descriptor for the serial number. + +// Note: This value is not editable in Configuration Wizard. +// Serial number that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRING_SERIAL +#define APP_USBD_STRING_SERIAL g_extern_serial_number +#endif + +// + +// APP_USBD_STRING_ID_CONFIGURATION - Define configuration string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_CONFIGURATION +#define APP_USBD_STRING_ID_CONFIGURATION 4 +#endif +// APP_USBD_STRING_CONFIGURATION_EXTERN - Define whether @ref APP_USBD_STRINGS_CONFIGURATION is created by macro or declared as global variable. + + +#ifndef APP_USBD_STRING_CONFIGURATION_EXTERN +#define APP_USBD_STRING_CONFIGURATION_EXTERN 0 +#endif + +// APP_USBD_STRINGS_CONFIGURATION - String descriptor for the device configuration. + +// Note: This value is not editable in Configuration Wizard. +// Configuration string that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRINGS_CONFIGURATION +#define APP_USBD_STRINGS_CONFIGURATION APP_USBD_STRING_DESC("Default configuration") +#endif + +// + +// APP_USBD_STRINGS_USER - Default values for user strings. + +// Note: This value is not editable in Configuration Wizard. +// This value stores all application specific user strings with the default initialization. +// The setup is done by X-macros. +// Expected macro parameters: +// @code +// X(mnemonic, [=str_idx], ...) +// @endcode +// - @c mnemonic: Mnemonic of the string descriptor that would be added to +// @ref app_usbd_string_desc_idx_t enumerator. +// - @c str_idx : String index value, can be set or left empty. +// For example, WinUSB driver requires descriptor to be present on 0xEE index. +// Then use X(USBD_STRING_WINUSB, =0xEE, (APP_USBD_STRING_DESC(...))) +// - @c ... : List of string descriptors for each defined language. +#ifndef APP_USBD_STRINGS_USER +#define APP_USBD_STRINGS_USER X(APP_USER_1, , APP_USBD_STRING_DESC("User 1")) +#endif + +// + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 1 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 1 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 1 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 1 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 16 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 20 +#endif + +// +//========================================================== + +// + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// SLIP_ENABLED - slip - SLIP encoding and decoding + + +#ifndef SLIP_ENABLED +#define SLIP_ENABLED 1 +#endif + +// app_usbd_cdc_acm - USB CDC ACM class + +//========================================================== +// APP_USBD_CDC_ACM_ENABLED - Enabling USBD CDC ACM Class library + + +#ifndef APP_USBD_CDC_ACM_ENABLED +#define APP_USBD_CDC_ACM_ENABLED 1 +#endif + +// APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE - Send ZLP on write with same size as endpoint + + +// If enabled, CDC ACM class will automatically send a zero length packet after transfer which has the same size as endpoint. +// This may limit throughput if a lot of binary data is sent, but in terminal mode operation it makes sure that the data is always displayed right after it is sent. + +#ifndef APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE +#define APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE 1 +#endif + +// +//========================================================== + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_BACKEND_RTT_ENABLED - nrf_log_backend_rtt - Log RTT backend +//========================================================== +#ifndef NRF_LOG_BACKEND_RTT_ENABLED +#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#endif +// NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_RTT_TEMP_BUFFER_SIZE 64 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS - Period before retrying writing to RTT +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS +#define NRF_LOG_BACKEND_RTT_TX_RETRY_DELAY_MS 1 +#endif + +// NRF_LOG_BACKEND_RTT_TX_RETRY_CNT - Writing to RTT retries. +// If RTT fails to accept any new data after retries +// module assumes that host is not active and on next +// request it will perform only one write attempt. +// On successful writing, module assumes that host is active +// and scheme with retry is applied again. + +#ifndef NRF_LOG_BACKEND_RTT_TX_RETRY_CNT +#define NRF_LOG_BACKEND_RTT_TX_RETRY_CNT 3 +#endif + +// + +// NRF_LOG_BACKEND_UART_ENABLED - nrf_log_backend_uart - Log UART backend +//========================================================== +#ifndef NRF_LOG_BACKEND_UART_ENABLED +#define NRF_LOG_BACKEND_UART_ENABLED 0 +#endif +// NRF_LOG_BACKEND_UART_TX_PIN - UART TX pin +#ifndef NRF_LOG_BACKEND_UART_TX_PIN +#define NRF_LOG_BACKEND_UART_TX_PIN 6 +#endif + +// NRF_LOG_BACKEND_UART_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRF_LOG_BACKEND_UART_BAUDRATE +#define NRF_LOG_BACKEND_UART_BAUDRATE 30801920 +#endif + +// NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE - Size of buffer for partially processed strings. +// Size of the buffer is a trade-off between RAM usage and processing. +// if buffer is smaller then strings will often be fragmented. +// It is recommended to use size which will fit typical log and only the +// longer one will be fragmented. + +#ifndef NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE +#define NRF_LOG_BACKEND_UART_TEMP_BUFFER_SIZE 64 +#endif + +// + +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 1 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 8192 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 4 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 0 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 0 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 0 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_Segger_RTT + +//========================================================== +// segger_rtt - SEGGER RTT + +//========================================================== +// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. +// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE +// or this value is actually used. It depends on which one is bigger. + +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 4096 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of downstream buffer. +#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN +#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 +#endif + +// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Maximum number of downstream buffers. +#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS +#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 +#endif + +// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. + + +// The following modes are supported: +// - SKIP - Do not block, output nothing. +// - TRIM - Do not block, output as much as fits. +// - BLOCK - Wait until there is space in the buffer. +// <0=> SKIP +// <1=> TRIM +// <2=> BLOCK_IF_FIFO_FULL + +#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE +#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_USB_DFU + +//========================================================== +// NRF_DFU_SERIAL_USB_RX_BUFFERS - nrf_dfu_serial_usb - USB DFU transport +// Number of buffers depends on flash access vs. +// transport throughtput. If value is too low it may lead +// to received packets being dropped. + +#ifndef NRF_DFU_SERIAL_USB_RX_BUFFERS +#define NRF_DFU_SERIAL_USB_RX_BUFFERS 3 +#endif + +// +//========================================================== + +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/iar/secure_bootloader_iar_nRF5x.icf b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/iar/secure_bootloader_iar_nRF5x.icf new file mode 100644 index 0000000..9b5ad64 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/iar/secure_bootloader_iar_nRF5x.icf @@ -0,0 +1,61 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x2c000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x2c000; +define symbol __ICFEDIT_region_ROM_end__ = 0x3dfff; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000008; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007fff; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 2048; +define symbol __ICFEDIT_size_heap__ = 0; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_uicr_bootloader_start_address_start = 0x10001014; +define symbol __region_uicr_bootloader_start_address_length = 0x4; +define symbol __start_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start; +define symbol __stop_uicr_bootloader_start_address = __region_uicr_bootloader_start_address_start + __region_uicr_bootloader_start_address_length; +export symbol __start_uicr_bootloader_start_address; +export symbol __stop_uicr_bootloader_start_address; +define symbol __region_uicr_mbr_params_page_start = 0x10001018; +define symbol __region_uicr_mbr_params_page_length = 0x4; +define symbol __start_uicr_mbr_params_page = __region_uicr_mbr_params_page_start; +define symbol __stop_uicr_mbr_params_page = __region_uicr_mbr_params_page_start + __region_uicr_mbr_params_page_length; +export symbol __start_uicr_mbr_params_page; +export symbol __stop_uicr_mbr_params_page; +define symbol __region_mbr_params_page_start = 0x0003E000; +define symbol __region_mbr_params_page_length = 0x1000; +define symbol __start_mbr_params_page = __region_mbr_params_page_start; +define symbol __stop_mbr_params_page = __region_mbr_params_page_start + __region_mbr_params_page_length; +export symbol __start_mbr_params_page; +export symbol __stop_mbr_params_page; +define symbol __region_bootloader_settings_page_start = 0x0003F000; +define symbol __region_bootloader_settings_page_length = 0x1000; +define symbol __start_bootloader_settings_page = __region_bootloader_settings_page_start; +define symbol __stop_bootloader_settings_page = __region_bootloader_settings_page_start + __region_bootloader_settings_page_length; +export symbol __start_bootloader_settings_page; +export symbol __stop_bootloader_settings_page; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; +define block RO_END with alignment = 8, size = 0 { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +keep { section .intvec }; +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly, + block RO_END }; +place in RAM_region { readwrite, + block CSTACK, + block HEAP }; + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/iar/secure_bootloader_usb_mbr_pca10100e_debug.ewd b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/iar/secure_bootloader_usb_mbr_pca10100e_debug.ewd new file mode 100644 index 0000000..e1d6d34 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/iar/secure_bootloader_usb_mbr_pca10100e_debug.ewd @@ -0,0 +1,1350 @@ + + + + 2 + nrf52820_xxaa_debug + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/iar/secure_bootloader_usb_mbr_pca10100e_debug.ewp b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/iar/secure_bootloader_usb_mbr_pca10100e_debug.ewp new file mode 100644 index 0000000..b2438fb --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/iar/secure_bootloader_usb_mbr_pca10100e_debug.ewp @@ -0,0 +1,1198 @@ + + + + + 2 + nrf52820_xxaa_debug + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + nRF_USB_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_usb.c + nRF_Log + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_rtt.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_serial.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_backend_uart.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_default_backends.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_frontend.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\log\src\nrf_log_str_formatter.c + Board Definition + $PROJ_DIR$\..\..\..\..\..\components\boards\boards.c + nRF_Crypto backend uECC + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\micro_ecc\micro_ecc_backend_ecdsa.c + nano-pb + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_common.c + $PROJ_DIR$\..\..\..\..\..\external\nano-pb\pb_decode.c + nRF_Libraries + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_error_weak.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\scheduler\app_scheduler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\class\cdc\acm\app_usbd_cdc_acm.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd_core.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd_serial_num.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\usbd\app_usbd_string_desc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\app_util_platform.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crc32\crc32.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\mem_manager\mem_manager.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\util\nrf_assert.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic_fifo\nrf_atfifo.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\atomic\nrf_atomic.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\balloc\nrf_balloc.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf.c + $PROJ_DIR$\..\..\..\..\..\external\fprintf\nrf_fprintf_format.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\fstorage\nrf_fstorage_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\memobj\nrf_memobj.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\queue\nrf_queue.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\ringbuf\nrf_ringbuf.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\strerror\nrf_strerror.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\sha256\sha256.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\slip\slip.c + nRF_Drivers + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_clock.c + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_power.c + $PROJ_DIR$\..\..\..\..\..\integration\nrfx\legacy\nrf_drv_uart.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_nvic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\hal\nrf_nvmc.c + $PROJ_DIR$\..\..\..\..\..\components\drivers_nrf\nrf_soc_nosd\nrf_soc.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\soc\nrfx_atomic.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_clock.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_power.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\prs\nrfx_prs.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_systick.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uart.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_uarte.c + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\drivers\src\nrfx_usbd.c + nRF_Oberon_Crypto + $PROJ_DIR$\..\..\..\..\..\external\nrf_oberon\lib\cortex-m4\soft-float\short-wchar\liboberon_3.0.8.a + nRF_Crypto + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_init.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\nrf_crypto_shared.c + Application + $PROJ_DIR$\..\..\..\dfu_public_key.c + $PROJ_DIR$\..\..\main.c + $PROJ_DIR$\..\config\sdk_config.h + nRF_micro-ecc + $PROJ_DIR$\..\..\..\..\..\external\micro-ecc\nrf52nf_iar\armgcc\micro_ecc_lib_nrf52.a + nRF_Crypto backend nRF sw + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\nrf_sw\nrf_sw_backend_hash.c + nRF_Bootloader + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_app_start_final.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_dfu_timers.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_fw_activation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_info.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\nrf_bootloader_wdt.c + None + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\iar_startup_nrf52820.s + $PROJ_DIR$\..\..\..\..\..\modules\nrfx\mdk\system_nrf52820.c + nRF_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\dfu-cc.pb.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_flash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_handling_error.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_mbr.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_req_handler.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_settings.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_transport.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_utils.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_validation.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\dfu\nrf_dfu_ver_validation.c + nRF_Serial_DFU + $PROJ_DIR$\..\..\..\..\..\components\libraries\bootloader\serial_dfu\nrf_dfu_serial.c + UTF8/UTF16 converter + $PROJ_DIR$\..\..\..\..\..\external\utf_converter\utf.c + nRF_Segger_RTT + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_Syscalls_IAR.c + $PROJ_DIR$\..\..\..\..\..\external\segger_rtt\SEGGER_RTT_printf.c + nRF_Crypto backend Oberon + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_chacha_poly_aead.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecc.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdh.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_ecdsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_eddsa.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hash.c + $PROJ_DIR$\..\..\..\..\..\components\libraries\crypto\backend\oberon\oberon_backend_hmac.c + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/ses/flash_placement.xml b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/ses/flash_placement.xml new file mode 100644 index 0000000..95d03bd --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/ses/flash_placement.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/ses/secure_bootloader_usb_mbr_pca10100e_debug.emProject b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/ses/secure_bootloader_usb_mbr_pca10100e_debug.emProject new file mode 100644 index 0000000..a76f56b --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/ses/secure_bootloader_usb_mbr_pca10100e_debug.emProject @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/ses/secure_bootloader_usb_mbr_pca10100e_debug.emSession b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/ses/secure_bootloader_usb_mbr_pca10100e_debug.emSession new file mode 100644 index 0000000..2401344 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/pca10100e_usb_debug/ses/secure_bootloader_usb_mbr_pca10100e_debug.emSession @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/2.ble_app_dfu/secure_bootloader/secure_bootloader.eww b/2.ble_app_dfu/secure_bootloader/secure_bootloader.eww new file mode 100644 index 0000000..583f522 --- /dev/null +++ b/2.ble_app_dfu/secure_bootloader/secure_bootloader.eww @@ -0,0 +1,52 @@ + + + + $WS_DIR$\pca10056_usb\iar\secure_bootloader_usb_mbr_pca10056.ewp + + $WS_DIR$\pca10040_uart\iar\secure_bootloader_uart_mbr_pca10040.ewp + + $WS_DIR$\pca10100e_usb\iar\secure_bootloader_usb_mbr_pca10100e.ewp + + $WS_DIR$\pca10056_uart\iar\secure_bootloader_uart_mbr_pca10056.ewp + + $WS_DIR$\pca10040e_uart\iar\secure_bootloader_uart_mbr_pca10040e.ewp + + $WS_DIR$\pca10056e_uart\iar\secure_bootloader_uart_mbr_pca10056e.ewp + + $WS_DIR$\pca10056_s140_ble\iar\secure_bootloader_ble_s140_pca10056.ewp + + $WS_DIR$\pca10100_s113_ble\iar\secure_bootloader_ble_s113_pca10100.ewp + + $WS_DIR$\pca10040_s132_ble\iar\secure_bootloader_ble_s132_pca10040.ewp + + $WS_DIR$\pca10100_s140_ble\iar\secure_bootloader_ble_s140_pca10100.ewp + + $WS_DIR$\pca10040e_s112_ble\iar\secure_bootloader_ble_s112_pca10040e.ewp + + $WS_DIR$\pca10056e_s112_ble\iar\secure_bootloader_ble_s112_pca10056e.ewp + + $WS_DIR$\pca10100e_s112_ble\iar\secure_bootloader_ble_s112_pca10100e.ewp + + $WS_DIR$\pca10056_usb_debug\iar\secure_bootloader_usb_mbr_pca10056_debug.ewp + + $WS_DIR$\pca10100e_usb_debug\iar\secure_bootloader_usb_mbr_pca10100e_debug.ewp + + $WS_DIR$\pca10056_uart_debug\iar\secure_bootloader_uart_mbr_pca10056_debug.ewp + + $WS_DIR$\pca10040_uart_debug\iar\secure_bootloader_uart_mbr_pca10040_debug.ewp + + $WS_DIR$\pca10056_s140_ble_debug\iar\secure_bootloader_ble_s140_pca10056_debug.ewp + + $WS_DIR$\pca10040_s132_ble_debug\iar\secure_bootloader_ble_s132_pca10040_debug.ewp + + $WS_DIR$\pca10100_s140_ble_debug\iar\secure_bootloader_ble_s140_pca10100_debug.ewp + + $WS_DIR$\pca10100_s113_ble_debug\iar\secure_bootloader_ble_s113_pca10100_debug.ewp + + $WS_DIR$\pca10100e_s112_ble_debug\iar\secure_bootloader_ble_s112_pca10100e_debug.ewp + + $WS_DIR$\pca10040e_s112_ble_debug\iar\secure_bootloader_ble_s112_pca10040e_debug.ewp + + $WS_DIR$\pca10056e_s112_ble_debug\iar\secure_bootloader_ble_s112_pca10056e_debug.ewp + + \ No newline at end of file diff --git a/2.ble_app_dfu/test_image/app_00.hex b/2.ble_app_dfu/test_image/app_00.hex new file mode 100644 index 0000000..ea0880c --- /dev/null +++ b/2.ble_app_dfu/test_image/app_00.hex @@ -0,0 +1,3372 @@ +:020000022000DC +:1060000000000120756302005D6302005F6302000F +:106010006163020063630200656302000000000028 +:1060200000000000000000000000000067630200A4 +:1060300069630200000000006B6302006D630200F0 +:10604000C99D02006F630200CDA102006F630200D0 +:106050006F6302006F63020081A002006F630200A1 +:106060006F6302006F6302006F6302006F630200E0 +:106070006F6302006F6302006F6302006F630200D0 +:106080006F630200FD7B02006F6302006F6302001A +:106090006F6302006F630200650203006F6302001A +:1060A0006F6302006F6302006F6302006F630200A0 +:1060B0006F6302006F630200000000000000000038 +:1060C0006F6302006F6302006F6302006F63020080 +:1060D0006F6302006F6302006F6302000000000044 +:1060E00000000000000000000000000000000000B0 +:1060F00000000000000000000000000000000000A0 +:10610000000000000000000000000000000000008F +:10611000000000000000000000000000000000007F +:10612000000000000000000000000000000000006F +:10613000000000000000000000000000000000005F +:10614000000000000000000000000000000000004F +:10615000000000000000000000000000000000003F +:10616000000000000000000000000000000000002F +:10617000000000000000000000000000000000001F +:10618000000000000000000000000000000000000F +:1061900000000000000000000000000000000000FF +:1061A00000000000000000000000000000000000EF +:1061B00000000000000000000000000000000000DF +:1061C00000000000000000000000000000000000CF +:1061D00000000000000000000000000000000000BF +:1061E00000000000000000000000000000000000AF +:1061F000000000000000000000000000000000009F +:10620000354936480A1A02D0072291438D4634494F +:1062100034480A1A06D00722914381F309880222E2 +:1062200082F3148830483149314A00F044F831484B +:106230003149324A00F03FF831483249324A00F0E1 +:106240003AF832483249334A00F035F83248334997 +:10625000334A00F030F833483349344A00F02BF821 +:1062600033483449344A00F026F83448344900228F +:1062700000F02CF833483449002200F027F8334866 +:106280003349091A082902DB002202604160314AC1 +:1062900090471F481F49884205D00268043003B464 +:1062A000904703BCF7E700208646EC46002000211B +:1062B000294A9047FEE7884207D0521A05D0037852 +:1062C00001300B700131013AF9D17047884202D098 +:1062D00002700130FAE770470000012000E0002062 +:1062E00000000120000001202C3103007422002056 +:1062F00074230020D0630200D0630200F80703007B +:106300002C31030074220020742200208C09030029 +:106310008C0903008C0903008C0903008C0903001D +:106320008C0903008C0903008C0903002C31030045 +:106330002C320300742300207423002074230020D7 +:106340008C3500208C3500208C3500208C350020C9 +:106350008C5500209D63020079B30200FEE7FEE742 +:10636000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE705 +:1063700000F002B8FFF7FCBF0F484FF00701884359 +:1063800085460E4880470E48016841F4700101605F +:10639000BFF34F8FBFF36F8FFFF732BF09480A4932 +:1063A0000A4A884207D0521A05D0037801300B7090 +:1063B0000131013AF9D1704700000120ED6E020071 +:1063C00088ED00E07809030060220020742200209C +:1063D000F0B595B01D46164608460C4603F05EFA29 +:1063E0001A9B0D93CDE9086500252B46082205A9C7 +:1063F00020460A958DF82C500C9503F06BFA079BFC +:106400000293069B03939DF814308DF8115003F00E +:106410000302012A1DD1BDF81420059DC3F3C20358 +:10642000C2F383168DF81030B20008230EA920465F +:1064300003F050FAC5F3952508AB0093324602AB42 +:106440000EA9284600F0C8FB204603F02BFA15B031 +:10645000F0BD022AF8D1BDF81650C3F3C203C5F34C +:1064600089158DF810300827082D2E4628BF0826DC +:106470003B4632460EA9204603F02CFAAD1B08AB72 +:1064800002AA31460EA8374400F00AFC002DEBD1D9 +:10649000DAE70000014B01221A707047B523002093 +:1064A0007047000070B50E4D06460FCD88B06C46A3 +:1064B0000FC495E80F00002E84E80F00094A0A482F +:1064C0004FF0060308BF00226946009303F004FC66 +:1064D00008B100F0C9FF054B1E7008B070BD00BFC9 +:1064E0008C090300956402007422002074230020AC +:1064F00007B5044B0093044A4023FFF769FF03B03C +:106500005DF804FB0D6502007523002038B50D48C9 +:106510000D4C0E4D002323700378EB5CD2B263B1B7 +:10652000043004F0E1FA08B100F09EFF084B1A783D +:1065300012B12378002BFBD038BD0C3004F082F868 +:10654000F1E700BF74220020B5230020082C0020B2 +:106550007423002008B50848084A0378D35C3BB18F +:10656000043004F025FABDE808400020FFF79ABF88 +:106570000C3003F0F1FFF6E774220020082C002015 +:106580000120FFF78FBF000008B5FFF7F9FF0448AF +:10659000042100F08BFA034B01225A7108BD00BFA1 +:1065A0005409030088220020037813F0040216D057 +:1065B00003F00303012B03D0022B09D00120704705 +:1065C0000A6800880232C0F3831002440A60F5E7CB +:1065D0000B684288023303EB92130B60EEE7104620 +:1065E000704700002DE9F04FDFF81CA187B00F467F +:1065F00000230446861C0DF1070015468DF8073070 +:1066000001F08EF9DAF804203A60DAF8083003F580 +:1066100080739B1A0AF21C470AF583690AF2144830 +:10662000B3421AD30020002D69D004F00F039B0160 +:1066300043F0050363F30F00DAF80430DAB20332F3 +:1066400033444AF822009DF80700CAF8043001F0EC +:106650008BF9012007B0BDE8F08F0121384602F028 +:1066600089FB484602F0A1FB404602F09EFBDAF8A7 +:1066700008000290C0B203300AEB800002A9FFF7C5 +:1066800093FF029B30BBDAB20AEB8202D16803911E +:106690009A1C0133DBB20AEB83030292D3F80CB0ED +:1066A00001F00303012B22D0022B15D08346404674 +:1066B00002F07EFB10B1029BCAF8083059463846FA +:1066C00002F058FBDAF80830DAF8042003F580739A +:1066D0009B1AA5E7D8B2CEE7BDF80E30C3F38913F5 +:1066E00003334FEA1B4B02EB93030293DFE7BDF842 +:1066F0000C30C3F383134FEA1B4B1344F5E7A40597 +:1067000044F0060098E700BF88240020064B0748A5 +:1067100010B500221A7003F07AF8044610B9044844 +:1067200003F098F9204610BD882400206409030076 +:10673000E009030030B50A4C71B10A4A0A49121B3C +:10674000D20800239A4201D1002030BD31F82350F5 +:10675000854202D00133F5E7034654F83300F4E7ED +:106760005C0803002409030060220020094B013962 +:1067700003EBC000032909D8DFE801F00A02040690 +:1067800004207047007970474079704700207047B7 +:10679000022070475C08030070470000034BD3E9F8 +:1067A0000130C31A58425841704700BF8824002066 +:1067B0002DE9F04186B0FFF7F1FF0546002840F0D3 +:1067C000ED80774CC4F81804BFF34F8FA368029391 +:1067D000DBB2033304EB830002A9FFF7E5FE029B63 +:1067E00018B1D4F81824002A5AD0DAB2991C01330F +:1067F00004EB8202DBB204EB8303D268DB68049310 +:1068000002F00303022B0392029154D1BDF80E3023 +:106810006448C3F38917502F3E4628BF502606F11F +:10682000080166F38F13C1F30901ADF80E3003F0D0 +:1068300006F80546002800F09C8003F02FF800239E +:10684000082203A9284603F03BF80299CB43DBB2A8 +:106850000133C9B20331B6EB830F4FEA830204EB75 +:10686000810125D95FFA82F80823A6EB080628469D +:1068700003F026F8F6B208F108034B4903F0FC03D5 +:106880003246284603F01CF8029B033703EB9707B8 +:106890000297D4F81834002B43D1D4F8106453E095 +:1068A00062689A4294D8A260284606B0BDE8F0819A +:1068B00008233246E5E7012B5BD1BDF80C3039489F +:1068C000C3F38311062928BF062161F3891302311E +:1068D00001F00F018900ADF80C3002F0B0FF054661 +:1068E000002846D002F0DAFF0023082203A9284638 +:1068F00002F0E6FF0026BDF80C20C2F38312B300BD +:10690000964203F10803C4D202994A1CC9B203316A +:10691000029204EB81010422284602F0D1FF0136E5 +:10692000E9E7284602F0BEFFFFF738FF80F00100DC +:10693000C5B2B9E7F3685B7923B1336829461B68B0 +:1069400030469847F3681E68002EF3D1284602F0BF +:10695000A9FF0DF107008DF8076000F0E1FFD4F802 +:1069600018340BB9029BA3609DF8070000F0FCFFF0 +:10697000DAE7D4F8104454B90C4B0D480D49C01A4D +:10698000C008000440F0020000F05EF8CCE7236885 +:1069900020469B689847E3681C68ECE7002583E77E +:1069A0008824002064090300942400205C0803006C +:1069B00084080300C90903002DE9F34704460E4685 +:1069C000924601A9012218469946FFF70BFE1C4F7B +:1069D00010B3019D4FF00008AA1CC84508EB020146 +:1069E00025D11848002102F07EF980F31000000440 +:1069F00040EA1440E4006B1C04F03804DBB2EDB252 +:106A000044F0010407EB8303033544EA881444EAA5 +:106A10008624D86047F825403B781BB1FFF7C8FEB5 +:106A20000028FBD1FFF7B8FE02B0BDE8F087C9B27D +:106A300007EB81015AF82830CB6008F10108CCE758 +:106A400088240020A428002000231A46FFF7B4BFA2 +:106A500007B50123019201AAFFF7AEFF03B05DF86D +:106A600004FB07B5CDE9002302236A46FFF7A4FF24 +:106A700003B05DF804FB1FB5CDE90123069B03932A +:106A800001AA0323FFF798FF05B05DF804FB1FB5CB +:106A9000CDE90023069B0293079B03936A460423D8 +:106AA000FFF78AFF05B05DF804FB000030B50F4C1E +:106AB000D4F8102403460020114631B9D968087172 +:106AC0004AB9C4F810340A6030BDC9680D798542EE +:106AD00006D00968F1E7D26814680C601360F3E728 +:106AE00001300A28E8D14FF0FF30EDE7882400207C +:106AF00038B5084B0125D3F810441D7004B938BDD2 +:106B0000E3685D71236820465B689847E3681C680A +:106B1000F4E700BF8824002030B5C38885B0044660 +:106B20000D4633B1144A00921449154A284602F022 +:106B3000A2F9217A05291DD0637A4BB1A088FFF70D +:106B400015FE104B104953F82020284602F093F907 +:106B5000227A0E4BA08853F8222003920021FFF7DF +:106B6000E9FD039A0A490346284605B0BDE83040CE +:106B700002F081B905B030BD0C0A0300F40903002E +:106B8000EC090300780A0300732303009C0A030046 +:106B9000110A030007B503460846197A052911D0E2 +:106BA0005B7A2BB1094A0A49019002F064F9019815 +:106BB0000849019002F05FF9019803B05DF804EB19 +:106BC00002F04EB9002AF8D0F2E700BF0C0A030029 +:106BD00073230300090A03002DE9F04385B01F4623 +:106BE0000C9D002395F80C902B7306460C4690469E +:106BF00029463846FFF790FFB8F1060F09D8DFE8BD +:106C000008F00412181F283340003146284602F0CD +:106C100032F9002229463846FFF7BCFF85F80C9070 +:106C200005B0BDE8F08322683146284602F023F91A +:106C3000EFE7D4E900233146284602F01CF9E8E7E3 +:106C4000A36800933146D4E90023284602F013F9E3 +:106C5000DFE7E3680193A36800933146D4E900239A +:106C6000284602F008F9D4E723690293E368019308 +:106C7000A36800933146D4E90023284602F0FBF8CC +:106C8000C7E76369039323690293E3680193A368E9 +:106C900000933146D4E90023284602F0ECF8B8E727 +:106CA00008292DE9F74F80460E4617461C463DD869 +:106CB00000251B7B2573214610460193FFF72CFF0F +:106CC000DFF88CA0DFF88CB0AE4232D918F805207E +:106CD0005946204602F0CFF80135082DF4D11B4962 +:106CE000DFF874A0DFF874B0204602F0C4F84FF06B +:106CF00000094E4524D918F809507E2D1ED8284683 +:106D000009F0ACFC002814BF2A462E225946204622 +:106D100002F0B1F809F10109B9F1080FE9D1012236 +:106D200021463846FFF736FF019B237303B0BDE8C9 +:106D3000F08F5146204602F09EF8CDE72E22E5E77F +:106D40005146204602F097F8E4E700BF250A030009 +:106D5000210A03001B0A0300230A0300270A030079 +:106D6000054A4FF0A043105CD3F8043523FA00F035 +:106D7000C04300F001007047B40A0300044B1A5CE2 +:106D8000012393404FF0A042C2F80C35704700BF7A +:106D9000B40A0300044B1A5C012393404FF0A04255 +:106DA000C2F80835704700BFB40A030008B50020D8 +:106DB000FFF7F0FF0120FFF7EDFF0220FFF7EAFFEA +:106DC000BDE808400320FFF7E5BF08B50020FFF746 +:106DD000D5FF0120FFF7D2FF0220FFF7CFFFBDE86C +:106DE00008400320FFF7CABF074A4FF0A041105CDC +:106DF000D1F804350122824022EA03001340C1F891 +:106E00000805C1F80C357047B40A0300054A4FF075 +:106E1000A043105CD3F8103523FA00F0C04300F013 +:106E200001007047B00A03000D2809D00E2809D0D0 +:106E30000F2809D010280CBF03204FF0FF307047F7 +:106E4000002070470120704702207047014B185CFA +:106E5000704700BFB00A0300C20708B501460CD551 +:106E60004FF0A0430322C3F84427C3F84827C3F8D0 +:106E70004C27C3F85027FFF799FF8B070AD54FF02F +:106E8000A0430C22C3F83427C3F83827C3F83C27A3 +:106E9000C3F8402708BD4FF08053D3F83001421C9F +:106EA00004BF4FF0704393F8E00F831F58425841DE +:106EB000704700004FF0704393F8E02F062A09D185 +:106EC000D3F8E83FC3F30313033B042B02D8024A71 +:106ED000D05C704700207047C70A0300024AD2F80E +:106EE0000034002BFBD0704700E0014010B5FFF7E5 +:106EF000D2FF40B14FF08053944AD3F82433C3F308 +:106F00000423C2F84035FFF7D5FF10B1904B914AEA +:106F10005A67FFF7C0FF48B14FF080534FF08042EF +:106F2000D3F84432C3F34233C2F83C35FFF7C2FF13 +:106F300030B1894AD2F8FC3023F08073C2F8FC30BB +:106F4000FFF7A9FF40B14FF080430022C3F80C21A6 +:106F5000C3F81021C3F83825FFF7ACFF20B14FF07C +:106F600080430322C3F8A025FFF7A4FF60B17B4B49 +:106F70000522C3F810260122C3F888260022C3F890 +:106F800018263F22C3F814264FF08053D3F830213F +:106F9000511C09BF4FF07043D3F8343193F8E02F00 +:106FA000D3F8E83F08BFC3F30313062A4DD1033BD0 +:106FB000042B03D86A4AD35C002B46D04FF0805292 +:106FC000684BD2F80414C3F82015D2F80814C3F89B +:106FD0002415D2F80C14C3F82815D2F81014C3F8ED +:106FE0002C15D2F81414C3F83015D2F81814C3F8BD +:106FF0003415D2F81C14C3F84015D2F82014C3F885 +:107000004415D2F82414C3F84815D2F82814C3F84C +:107010004C15D2F82C14C3F85015D2F83014C3F81C +:107020005415D2F83414C3F86015D2F83814C3F8E4 +:107030006415D2F83C14C3F86815D2F84014C3F8AC +:107040006C15D2F84424C3F87025FFF724FF48B12B +:107050004FF080534FF08042D3F8583203F04F0383 +:10706000C2F8E43EFFF717FF48B14FF08043D3F872 +:107070000024D20744BF6FF00102C3F800244FF090 +:107080008053D3F83021062A0ED1D3F83431033B94 +:10709000042B02D8344AD35C33B1344AD2F83C379B +:1070A00043F48063C2F83C372B4AD2F8883043F46B +:1070B0007003C2F88830BFF34F8FBFF36F8F4FF06C +:1070C0008053D3F83021062A0FD1D3F83431033B53 +:1070D000042B02D8264AD35C3BB14FF01023D3F8DF +:1070E00008224FF08043C3F858254FF01023D3F8FF +:1070F0000022002A03DBD3F80432002B22DA1D49D8 +:1071000001234FF01020C1F804351524FFF7E6FEE7 +:10711000C0F80042FFF7E2FEC0F80442FFF7DEFECF +:107120000023C1F80435FFF7D9FEBFF34F8F0A499A +:10713000114BCA6802F4E0621343CB60BFF34F8F78 +:1071400000BFFDE70D4B0E4A1A6010BD0030014034 +:1071500000C007400DF0ADBA00ED00E00050004067 +:10716000B80A030000C00040BD0A03000010004040 +:10717000C20A030000E001400400FA05902200204A +:107180000090D003C30710B507D4F023054A400888 +:10719000145C23401943115410BD0901C9B20F23D7 +:1071A000F4E700BF5029002030B5094B1C78094B8B +:1071B000196800239C4202DC0022104630BD11F801 +:1071C0003350854201EBC302F7D00133F2E700BF31 +:1071D000402900206029002013B504460191FFF7E3 +:1071E000E3FF38B143682BB10199204602B0BDE8F6 +:1071F0001040184702B010BD034B04481968002224 +:10720000490800F055BA00BF442900209822002008 +:1072100010B5C0B2FFF7C8FF0446007802F026FFA1 +:1072200063785A1E53425341834208D1044BD3E939 +:107230000023134303D1BDE81040FFF7DDBF10BDAD +:107240004829002037B54308374AD35CC2074CBFF2 +:107250001B0903F00F0304460D46042B25D8DFE875 +:1072600003F003262F3C4000F9B10121FFF78AFF0C +:1072700000230DF107008DF8073000F051FB0120CD +:10728000A4F12003C4F12001284A20FA01F100FAF8 +:1072900003F30B43A040D2E9004120430B43C2E972 +:1072A00000039DF8070000F05FFB03B030BD00292C +:1072B00018BF0221204603B0BDE83040FFF762BF8F +:1072C00049B10321FFF75EFF0121204603B0BDE86D +:1072D0003040FFF781BF0121ECE70029E5D104210F +:1072E000E8E709B10321E5E7FFF74CFF294620460F +:1072F000FFF772FF0DF107008DF8075000F010FB4B +:107300000120A4F12003C4F12001084A20FA01F170 +:1073100000FA03F30B43A040D2E9004124EA000045 +:1073200021EA0303BBE700BF5029002048290020C1 +:107330002DE9F041124E134F00243378A34208DCAC +:10734000114BD3E90023134318D0BDE8F041FFF7F8 +:1073500053BF3D6805EBC40815F8340002F086FE03 +:1073600098F801305A1E53425341181A4142414184 +:1073700015F83400FFF766FF0134DEE7BDE8F08161 +:10738000402900206029002048290020092AF7B55B +:1073900005460C4616463ED902F0A0FDE8B11F4B4B +:1073A0001F481D601F4B204F1C70204B00211022D6 +:1073B0001E6009F0BEF91E4B00200021C3E9000148 +:1073C000013CE4B20326FF2C0DD11A4A1A480021D1 +:1073D00003B0BDE8F04000F059B902F047FD0028C5 +:1073E000DDD003B0F0BD9DF8063015F834008DF8FF +:1073F000046005EBC40223F007038DF8063001A9F1 +:1074000093788DF805303A4602F072FD013CE4B203 +:107410000028D8D0E5E70720E3E700BF6029002077 +:107420005029002040290020117202004429002028 +:107430004829002031730200D80A030070B5084DB6 +:10744000084E00242B789C4201D3002070BD336885 +:10745000012113F8340002F0C3FD0134F2E700BF4C +:1074600040290020602900201FB50021039001AAB7 +:1074700044F20100CDE9011100F004F805B05DF817 +:1074800004FB000038B572B6FFF732FBFFF790F946 +:107490000028FBD1104B114C114D1249E41AE4089D +:1074A000240444F00100FFF7CFFAD5F8F030DB07F1 +:1074B00000D500BE0C4944F00200FFF7C5FABFF347 +:1074C0004F8FEA68094B02F4E0621343EB60BFF3AD +:1074D0004F8F00BFFDE700BF5C0803008408030076 +:1074E00000ED00E0DC0A0300E80A03000400FA05EE +:1074F00010B5D0E90243D1E90202A04272EB0303C6 +:107500002CBF0120002010BD08B50A4800F05FFB29 +:10751000094AD2E90031C018084BD3E9002341F1F0 +:107520000001904271EB030303D210F1807041F12E +:10753000000108BDB822002068290020E0290020B1 +:1075400037B505460C460A4801A901F000FB60B1B9 +:107550000570446001A9064801F023FB18B10548F5 +:1075600000F03AFB002003B030BD0420FBE700BF71 +:10757000CC290020B8220020294B73B51E78044680 +:107580001EB90026304602B070BD0028F9D0FFF7C2 +:10759000BBFFD4E902239042994139D300230DF176 +:1075A00007008DF8073000F0BBF923692BB94FF0C5 +:1075B000FF324FF0FF33C4E902239DF8070000F0CB +:1075C000D3F9D4E90530984700250DF107008DF86F +:1075D000075000F0A5F92369C3B1D4E90212B2F152 +:1075E000FF3F08BFB1F1FF3F05D05B1842F1000239 +:1075F000C4E9023235469DF8070000F0B5F9002DC8 +:10760000BFD00848214602F044FABBE71D46F2E726 +:10761000B3F1FF3F08BFB2F1FF3FB2D0F1E700BFC7 +:1076200070290020040B030013B5114B1149186891 +:10763000019008231048582201F054FA044698B9E2 +:107640000E4A0F4801A900F0B3F9044660B90C488E +:10765000012100F09FFA01230A4A0948194600F067 +:1076600001FA094B01221A70204602B010BD00BF7A +:10767000000B030074290020CC2900206977020048 +:10768000B8220020FFFF7F007029002030B56AB1CA +:1076900003684FF0FF344FF0FF355A614A1E5142E4 +:1076A000C3E9024551411961002030BD0720FCE7C4 +:1076B000F7B5044600250DF1070017460E468DF874 +:1076C000075000F02DF9D4E90223B3F1FF3F08BFC2 +:1076D000B2F1FF3F07D1FFF717FF301841F100016A +:1076E000C4E9020101259DF8070000F03DF955B1FC +:1076F0002369A76103B126612146002003B0BDE8DC +:10770000F040FFF71DBF284603B0F0BD37B5054672 +:1077100000240DF107008DF8074000F001F9D5E9CC +:107720000223B3F1FF3F08BFB2F1FF3F1FBF4FF08D +:10773000FF324FF0FF33C5E9022301249DF8070013 +:1077400000F012F934B12946012003B0BDE8304001 +:10775000FFF7F6BE204603B030BD0000014800F040 +:1077600036BA00BFB82200202DE9F743064600F0E4 +:1077700019FA40B1624AD2E9003113F1807341F144 +:107780000001C2E900310021304600F01AFA38B198 +:107790005C4C236823B12068FFF7EEFE00232360D2 +:1077A0000121304600F00DFA20B1FFF7ADFE564B37 +:1077B000C3E900015548534C01A901F002FA4FF00A +:1077C000FF384FF0FF39A0B9DFF844814D4D4046F6 +:1077D00002F075F9002800F08580D0E90223B3F1AA +:1077E000FF3F08BFB2F1FF3F32D1404602F061F9DE +:1077F000EDE70378012B20D0022B08D1444D284619 +:1078000002F057F9002877D0C0E90289F7E75BB9A1 +:107810004168D1E90223B3F1FF3F08BFB2F1FF3F56 +:1078200002D03B4802F035F901A9384801F0F4F9DB +:1078300001A9364801F0C5F9C5E7416823689942B6 +:1078400002D100232360EFE7314802F03BF9EBE778 +:10785000296891B12968D1E9020182428B412FD276 +:107860002B68D3E90223B3F1FF3F08BFB2F1FF3F1A +:1078700003D02968404602F00CF9404602F019F99D +:10788000D0E902490746FFF73FFE201A69EB0109DC +:10789000012879F1000318DBB0F5350F13D3FFF79A +:1078A0005DFF1C4A02441C484FF49603002100F07F +:1078B000F9F890B92B6813B9304600F0CBF82F6077 +:1078C00003B0BDE8F0832246EDE71348002100F045 +:1078D0006EF93846FFF750FE01E00D28F9D000237D +:1078E0002B6074E7074B1B68002BE9D1304603B0CF +:1078F000BDE8F04300F0B2B8084B01221A7093E7DC +:1079000068290020E8290020E0290020CC29002057 +:10791000040B0300FFFFB400B822002070290020F0 +:1079200070B5EFF3108672B60C4A946801239CB9C7 +:1079300093600B4B0B4DD3F8801029401160C3F8B6 +:107940008050D3F8841051604FF0FF32C3F8842088 +:10795000047006B962B670BD0370FAE7EC29002026 +:1079600000E100E0FC06FFBD084B9A6810B55AB173 +:1079700050B9EFF3108172B6054A1C6814605C6858 +:107980005460986001B962B610BD00BFEC290020B8 +:1079900000E100E0435882B03BB10023435043581C +:1079A0000193019B012002B070471846FBE70000DD +:1079B000F8B5204B4479204E43F824201F4A204B31 +:1079C00006EBC4049B1A2279DB081B0432B143F096 +:1079D00002001C49FFF738F80820F8BD02680C883F +:1079E000C2F8084590F904508A7804795201002DB4 +:1079F000D2B219DB14494F1987F8002301226D090F +:107A000004F01F0402FA04F441F82540427906EB21 +:107A1000C201012446F832000C7143F003000B4907 +:107A2000FFF712F80020D8E7094904F00F040A55BF +:107A3000ECE700BF002A0020F82900205C080300C2 +:107A400094080300100B030000E100E0320B030078 +:107A500014ED00E0036801221A60704703680122F8 +:107A60005A60704773B501F15005AD000068ADB2C2 +:107A70004FF480348C400026C0F80843C0F84843D7 +:107A8000465101F5A8714559019522F07F42019DAB +:107A900040F82120C0F844430BB1C0F8044302B0C1 +:107AA00070BD00002DE9F74F0D4622F07F440268BB +:107AB0004FF4803705F150068F408046B60002EB48 +:107AC0008500C2F84873B6B2C2F80873D2F804153C +:107AD00099464FF0000BD0F84035C0F8401542F8F9 +:107AE00006B05B1A9259009223F07F43012B009A53 +:107AF0004FEA850A0CD1264B4FF4806043F0010316 +:107B00009847D8F8003043F806B09B590193019B81 +:107B1000D8F80010D1F80465C1F84473A31B23F012 +:107B20007F43012B1CD11A4B05F5A875013443F096 +:107B3000010341F825404FF480609847D8F80030A1 +:107B4000D3F804359E4209D1D8F800300020C3F89C +:107B50004473C3F8047303B0BDE8F08F0D20FAE757 +:107B60008A44C9F1FF13CAF84045D1F80405221A26 +:107B7000013A22F07F4203F57F439342EED3002A7D +:107B8000E2D10134CAF84045D1F804359842DAE729 +:107B9000500B030003680222C3F8442309B1C3F861 +:107BA0000423704700684FF48271FFF7F3BE4FF46F +:107BB000803303FA01F10368C3F84813C3F80813CC +:107BC000704750318900006889B2FFF7E3BE03684F +:107BD000D3F804057047000090F90430002B09DB4E +:107BE0005A09012103F01F0301FA03F3403202494D +:107BF00041F82230704700BF00E100E0024B034A29 +:107C00001B681068184700BF002A0020F8290020D0 +:107C100070B5064D0646002455F8043B0BB13046BE +:107C200098470134042CF7D170BD00BF102A002002 +:107C30004388033300EB830399420BD382884FF6CA +:107C4000FF739A4208D0038833B18068431C5842BE +:107C5000584170470220704701207047033080B2BE +:107C600040F2FE33984230B51FD8134B1A783AB918 +:107C70001C895D892C440444A4B2B4F5806F0AD9F0 +:107C80001A7DAAB99A8BDC8B2244024492B2B2F5D7 +:107C9000806F0DD801220A801446142202FB04339F +:107CA0005A8910445881002030BD48F20860FBE733 +:107CB00048F20660F8E700BF442A00200B4A0C494E +:107CC0005388142000FB0311CB6833B904204968A2 +:107CD00010700122074801F063BB074905231370A8 +:107CE00002238B80012209680023F3E7282A002061 +:107CF000442A0020602200200C2B002007B500231E +:107D000005490093054A09680548082301F0AEFAC1 +:107D100003B05DF804FB00BF0C2B0020640B0300D4 +:107D20006022002007B5002301460093034A04485F +:107D3000082301F09BFA03B05DF804FB5C0B030021 +:107D40006022002013B500230C4600930146084A28 +:107D50000848042301F08AFA38B9074B142101FBC3 +:107D6000043101230B7402B010BD48F20D60FAE734 +:107D7000580B030060220020442A002037B50A482F +:107D80000A4B42689C8819685388032503330570A1 +:107D90009BB2002000909B0001EB8401044801F09D +:107DA00065FA03B030BD00BF282A00200C2B00204C +:107DB0006022002010B50146044800F0C8FE1C22D5 +:107DC0000446002108F0B5FC204610BDF82A00202A +:107DD00068B10268084B9A4209D14068074B984243 +:107DE00007D00133984214BF0320012070470320BD +:107DF00070470020704700BFDEC0ADDEFE011EF1FF +:107E00002DE9F0410D460223154F2B80164600F553 +:107E1000805100F108044FF001088C420ED2236813 +:107E200001330BD02046FFF703FF48B10EB186F8AF +:107E30000080022809D14FF480632B80BDE8F081D7 +:107E4000A3683A68934200D93B602B886288033369 +:107E500013442B806388033304EB8304DDE700BF06 +:107E60003C2A002038B5144B14220D4602FB00308A +:107E70002B68446804F58051A3B15C88033403EB9C +:107E800084048C4215D22368013312D02046FFF7B8 +:107E9000CFFE012808D002280BD00028F1D12C6099 +:107EA000012038BD0834ECE76388033304EB830416 +:107EB000E7E70020F5E700BF442A0020426873B5D9 +:107EC00004460D466AB3234BD9688A4229D31B69FD +:107ED0009A4226D812F0030323D11F490089098949 +:107EE00088421ED12068916888421AD11B48416897 +:107EF0008A4203D901F580518A420DD381698A42B1 +:107F00000CD901F580518A4208D201222A80B3FAA5 +:107F100083F0400902B070BD1A46F7E748F20963E2 +:107F2000F5E700262E800196288801A9FFF79AFF21 +:107F300030B92B8801339BB2012B2B80F3D9E9E7B1 +:107F4000019B226899689142EED16360024B1B89C4 +:107F50002381DFE760220020282A0020442A002015 +:107F60002DE9F8431C461D4B1B7806460F46154667 +:107F700073B382B37CB3DFF86C804FF01409A3882D +:107F8000012B02D948F2096020E009FB03F318F83D +:107F900003302BB9A0882146FFF764FF20B9206089 +:107FA000A3880133A380EAE723681EB19988328849 +:107FB0009142EFD11FB119883A889142EAD19A686B +:107FC000C5E90023064B1B892B810020BDE8F883FF +:107FD00048F20160FAE748F20460F7E7202A00203F +:107FE000282A0020442A002008B5074B5888191D6C +:107FF000FFF738FF18B1BDE80840FFF7BFBEBDE886 +:108000000840FFF75BBE00BF282A00202DE9F0479B +:108010009F4FDFF8A08288B006463B6823B99D4891 +:10802000414600F0CEFD38603D6829784B1E052B97 +:1080300007D8DFE813F02000740074000601060181 +:108040005D0148F20E641422002103A808F071FBC0 +:1080500041F61D539C4208BF00243B6804941A78E3 +:10806000023A042A00F2FC81DFE812F0DD01E901A6 +:108070000B0213021A022EB1874B00225A604FF4F2 +:108080000644E0E72B79032B1CD8DFE803F0140249 +:108090002A35824A1378022B1AD0137D022B4FF017 +:1080A000010317D114214B43D1180020D054486844 +:1080B000FFF738FE03E001232B71FFF71FFE0028B6 +:1080C00000F0B980744B00225A6048F20D64BAE7A0 +:1080D0000023E7E7704A13700023536041F61D54F4 +:1080E000B1E76F496F48002302222B718A8009682B +:1080F000012201F055F9E2E76B4B684C5B88684A56 +:1081000014214B43E11800262E714D68106815604C +:10811000958848600D810221E6549180C8E7B5F842 +:1081200014A0AA7DDFF87491AEB1022AEB8806D9BB +:10813000142101FB0A91DA1C088902440A811422E5 +:1081400002FB0A99C3F57F43B9F80A20FD331344B3 +:10815000A9F80A3093E7142303FB0A9318895C6893 +:1081600004EB8004062A69D8DFE802F0274E364483 +:108170001D5A040041F61D54AA7DEB88022A06D937 +:10818000142101FB0A91DA1C088902440A81142295 +:1081900002FB0A99C3F57F43B9F80A20FD33134463 +:1081A000A9F80A304FE74148414900234360AB69D1 +:1081B0000360FFF783FE00285BD00223AB7500232A +:1081C00000930423EA182146364801F04FF80028AE +:1081D00031D048F20D64CFE72B69002B14BF032385 +:1081E0000123AB750023009305F10C02042304F175 +:1081F0000801E9E70123AB750022EB8800922A69A8 +:108200009B0004F10C01DFE703290CBF05230623C3 +:10821000AB7500230093042305F10802E118D3E7AE +:108220000623AB75224B1988204B5868FFF78AFD4F +:1082300004460028A0D108B0BDE8F08748F20E64DB +:108240009AE7002E7FF41BAF2B79012B34D0022B41 +:108250003FF444AF002B7FF4F4AE02232B710DF1F9 +:108260000A01EB68039303A8CDE90466FFF726FE35 +:1082700010B948F20964E6E60498BDF80A1083884C +:10828000EB8003882B81FFF75DFD044629E000BFEA +:10829000402A0020F82A0020202A0020442A00201A +:1082A0000C2B002060220020282A0020042A002015 +:1082B000182B0020382A0020DFF8009203AA4B4632 +:1082C0003146A81DFFF74CFE044670B9B9F80410FA +:1082D0000498FFF737FD044648F209639C423FF4D7 +:1082E000FDAE002C7FF4AFAEA5E7C9E90066F3E769 +:1082F000002E7FF4C4AE6C4B1A7BBAB11E731A7891 +:10830000013A062A3FF69DAE01A151F822F000BFC6 +:10831000BB830200E1830200FF83020005840200A8 +:10832000438002000B8402001D8402001A78072A91 +:10833000E5D801A151F822F059830200FF82020022 +:10834000FF8202007F83020093830200B783020052 +:10835000B78302007B8302001A89544901321A81D3 +:1083600000225A801A730A78B2FA82F252099A727B +:108370000A7DB2FA82F25209DA72012207E04C4910 +:1083800058688A884088033202448A8002221A7020 +:10839000B5E75C88454A4649142505FB0422086870 +:1083A000546850608888108102200C608880002109 +:1083B00011740622EBE70722E9E79A7A32B9DA7AF2 +:1083C0008AB900221A705A805A6087E6374900221B +:1083D0009A72CA68002AF2D1097C0029EFD05A802B +:1083E000FFF702FE51E70022DA72304A116A0029D3 +:1083F000E7D192F82420002AE3D00122EFE7FFF72B +:10840000BDFC42E7FFF75AFC3FE75A88274B14218F +:1084100001FB02335868FFF785FC36E700225A60FB +:10842000FFF76CFC31E701228DF80C201A89ADF8BA +:1084300018209A88DB68ADF81A20059310E0022214 +:108440008DF80C201A89ADF818209A88ADF81A20FA +:10845000DA689B7D05929A1F534253418DF81C3078 +:1084600003A8FFF7D5FB0026414612483E6000F006 +:10847000D3FB1148012100F089FC00287FF4CDAD29 +:10848000D9E603228DF80C20DA88ADF818201A8975 +:10849000D0E704228DF80C20DB88ADF81830DFE738 +:1084A00005238DF80C30DBE7282A0020442A002021 +:1084B0000C2B0020F82A0020082B00201C2B002069 +:1084C0004068FFF7A3BD000008B50548012100F092 +:1084D00045FC18B9BDE80840FFF798BD08BD00BFCE +:1084E000082B00202DE9F3419846374B1B780646B0 +:1084F0000D46002B5CD000295DD009884FF6FF7334 +:1085000099425BD06B88002B58D06B689B0758D181 +:108510004AB92F890DF102013846FFF79FFB30B1B0 +:1085200002B0BDE8F08113885788ADF8023001A889 +:10853000FFF740FC044660B9BDF80220234B14212C +:1085400001FB023358890338C01B588148F2076089 +:10855000E6E780F8008000238375BDF8023083824F +:108560006B68036101211A4800F004FC2B88238109 +:10857000B8F1030F6B88A38004BF0423A3754FF0E9 +:10858000000508BF3368E06008BFA3611148E780B9 +:10859000658101A900F005FB36B1E36833600E4B3D +:1085A00075601B89B5723381FFF78EFF0020B7E736 +:1085B00048F20160B4E748F20460B1E748F20360B2 +:1085C000AEE748F20260ABE7202A0020442A0020F0 +:1085D0003C2A0020F82A0020282A002008B503465B +:1085E00007480268042A08D00168064A42F8213088 +:1085F000012100F0BFFB002008BD48F20B60FBE743 +:10860000142B0020102A00202DE9F04FDFF82082E3 +:1086100089B01422002103A808F08BF898F80030E4 +:1086200003F0FF0200923BB103A8FFF7F1FA002725 +:10863000384609B0BDE8F08F08F1040000F0B2FB45 +:108640000028F4D1009BDFF8ECA1D3F8F83F5C1CC4 +:1086500008BF4FF010234FF0805208BF5B691169CB +:108660005269581C08BF02FB01F3CAF8103069496F +:10867000A3F5405300225046CAF80C3000F0C4FD68 +:1086800007460028D4D11C2363496448DFF8A8B109 +:108690008C2200F027FA0323B9463D4601933C465D +:1086A000DAF80C604E443046FFF792FB012867D0A1 +:1086B000032817D000283DD159494FF0140C0CFB6A +:1086C00004FC01EB0C0201F80C0056600CF11002E6 +:1086D0000CF1080C0A4430466144FFF791FB45F069 +:1086E00002054AE03268531C02D04E4B9A4239D1FF +:1086F000321D06F580511068013033D104329142A9 +:10870000F9D1DBF800203AB902220123CBF800604E +:10871000ABF8042000930BE014226243404B02208C +:1087200099189854404A4E60548001340881A4B28C +:1087300045F0010509F58059B9F5405FB0D1019BBD +:10874000012B98BF0025EDB2022D03D0062D36D0A7 +:10875000002D3ED1002388F8003048F20A67C8F89F +:10876000043065E7019B2E495A1E93B214226243DE +:10877000881801934660032088540134A4B2D9E7D5 +:10878000009B6BB1264B1422624399180220985427 +:10879000DBF800204A60244A088154800134A4B2E6 +:1087A00000222249CBF800603046FFF729FBBBF8D6 +:1087B0000420022A0CBF042208221543BAE7012331 +:1087C00088F8003003A80023C8F80430FFF720FA27 +:1087D0002EE702A8FFF7EEFAC8B10123013D0370AE +:1087E0000A2D09D8DFE805F006080608070807087B +:1087F0000F110F000023037102A9084800F0D1F9FE +:10880000FFF762FE14E70323F5E70223F3E748F2DC +:1088100007670DE7580D03006C2A0020F82A002096 +:10882000442A0020DEC0ADDE282A0020102B0020C4 +:10883000202A0020602200200C2B002073B50D465A +:108840000446C8B1C1B10DF10601FFF737FBB0B165 +:10885000BDF806300B486668142202FB03000121B4 +:108860000C3000F087FA63682E600C336B600123D4 +:10887000A372002002B070BD48F20460FAE748F22B +:108880000960F7E7442A002013B50446A8B10DF1AA +:108890000601FFF713FB98B1BDF806200B4B14211E +:1088A00001FB0233DA6872B1A27A62B1DA680020A1 +:1088B000013ADA60A07202B010BD48F20460FAE733 +:1088C00048F20960F7E748F20560F4E7442A00201F +:1088D00002230022FFF706BE18B103230022FFF790 +:1088E00001BE48F204607047114B1B7813B5044673 +:1088F000ABB14FF6FF73984214D001A8FFF75AFAB4 +:1089000098B10523037001230371C48001A90948AC +:1089100000F047F9FFF7D8FD002002B010BD48F283 +:108920000160FAE748F20360F7E748F20760F4E70E +:10893000202A0020F82A00200F4B1B7807B5A3B18E +:1089400001A8FFF737FA98B10623037001A90B4875 +:1089500000F027F90A4B1A780AB101221A73FFF7BF +:10896000B3FD002003B05DF804FB48F20160F9E7B5 +:1089700048F20760F6E700BF202A0020F82A00200E +:10898000282A002007B5ADF80600ADF804100DF157 +:10899000060001A9FFF7E4FA03B05DF804FB07B590 +:1089A0001346ADF806000A4600200DF10601FFF758 +:1089B000D7FA03B05DF804FB07B51346ADF806001F +:1089C0000A460DF106000021FFF7CAFA03B05DF870 +:1089D00004FB20B119B103680B600020704748F216 +:1089E000046070472DE9F84F3C4B1B780446002B80 +:1089F0006DD000286ED0DFF8E8901222002107F039 +:108A000098FE032323804FF0000A4F4614264FF0B0 +:108A10000108D9F80410B9F80AB0B9F808500846A6 +:108A2000FFF7D6F9032808BF2388628804BF03F143 +:108A3000FF33238006FB0A735D44DB6813446380C5 +:108A400023899B446389A4F808B0ADB22B446381A9 +:108A5000C5F58065A389ADB2AB4238BFA58101F1F0 +:108A6000080501F58051A94229D92B68013326D088 +:108A70002846FFF7DDF801280AD0022815D0002883 +:108A8000F1D1A3880133A3800AE04FF0010AC0E7C7 +:108A9000E3880133E380E3896A8803331344E38185 +:108AA0006B88033305EB8305DDE7E38884F81080EA +:108AB0004D1BE189013301EBA501E380E18109F15F +:108AC0001409BAF1000FE0D00020BDE8F88F48F299 +:108AD0000160FAE748F20460F7E700BF202A0020AF +:108AE000442A002010B561B1B2FBF3F403FB142457 +:108AF000A4B244B9C0E9001484608281C3812046D5 +:108B000010BD0E20FCE70920FAE782B050E8022FE2 +:108B1000C188B2EB324F4FF0000317BF92B241EA67 +:108B2000014142EA014104E04268B2EB324F08BF22 +:108B3000012340E80212002AE8D18DF807309DF8A1 +:108B40000730002B0CBF1120002002B0704737B552 +:108B500050E8013F9DB2C48925448489A54228BFBD +:108B60002D1B0489A54202BFBFF32F8F002207E00F +:108B7000C5EA030540E80154002CE9D14FF0010299 +:108B80008DF803200193019A0A609DF8031001F00B +:108B9000FF0321B1006810FA82F003B030BD18461F +:108BA000FBE70A884B889A4209D150E8012FC2EAB4 +:108BB000024240E80123002BF7D10120704700203A +:108BC000704737B550E8023F1FFAA3F5C488A542A5 +:108BD00002BFBFF32F8F00220DE0C4892544848992 +:108BE000A54228BF2D1BC3EA054540E80254002CCE +:108BF000E8D14FF001028DF803200193019A0A6039 +:108C00009DF8031001F0FF0321B1006800EB124052 +:108C100003B030BD1846FBE70A884B889A4209D159 +:108C200050E8022FC2EA224240E80223002BF7D18B +:108C3000012070470020704701F01F024B090121FD +:108C4000914000EB830000F065B84B0910B501F0CE +:108C50001F040121A14000EB830000F04FF8E04029 +:108C600000F0010010BD01F01F0301229A404B09E2 +:108C700000EB8300D14300F065B84B0901F01F0100 +:108C800050F82300C84000F0010070472DE9F0477C +:108C90004F1E7F0980460E460137002558F82540B3 +:108CA00008EB8509E44394FAA4F4B4FA84F44FEA97 +:108CB000451A202C06D10135AF42EFD83446204664 +:108CC000BDE8F0875444A642F5D921464046FFF757 +:108CD000BCFF0028F3D0D9F80040E44394FAA4F490 +:108CE000B4FA84F4E5E710B5034653E8000F0A46EA +:108CF00043E8002494F0000FF7D110BD10B50346EF +:108D000053E8000F40EA010243E8002494F0000F0A +:108D1000F6D110BD10B5034653E8002F42EA01001A +:108D200043E8000494F0000FF6D110BD10B50346DF +:108D300053E8000F00EA010243E8002494F0000F1A +:108D4000F6D110BD10B5034653E8002F02EA01002A +:108D500043E8000494F0000FF6D110BD10B50346AF +:108D600053E8000F00EB010243E8002494F0000FE9 +:108D7000F6D110BD10B5034653E8002F02EB0100F9 +:108D800043E8000494F0000FF6D110BD10B503467F +:108D900053E8002FA2EB010043E8000494F0000F19 +:108DA000F6D110BD0121FFF7A9BF0121FFF7B2BF26 +:108DB0000021FFF7BBBF10B590B1D0E901230168D6 +:108DC0009B1ADBB20A60013BDBB2FF2B026802D1C7 +:108DD0000020107110BD11684C1C14600B70F2E77C +:108DE0000E20F7E737B5054600240DF107008DF892 +:108DF0000740FEF795FD2A686B68116899420ED905 +:108E0000481E106011F8013CEC68298A01FB0344FC +:108E1000AB6811791B1ADBB2994238BF13719DF808 +:108E20000700FEF7A1FD204603B030BD37B505466B +:108E300000230DF107000C468DF80730FEF770FD9A +:108E40002A681368591C1160E968641A298AB4FBFE +:108E5000F1F41C709DF80700FEF786FD03B030BDED +:108E6000826810B504462AB14369016800699847D1 +:108E70000023A36010BD0EB403B5039921B104AB68 +:108E800001AA019300F076F802B05DF804EB03B09C +:108E900070470A2938B504460D4602D10D21FFF767 +:108EA000F8FFA3682268591CA160D554D4E90132A7 +:108EB0009A4204D32046BDE83840FFF7D1BF38BD01 +:108EC0002DE9F84F9846DDE90A43154682460F46DC +:108ED0000A464FF00109AA420FD2C14538BFC14628 +:108EE00013F0010B01D16CB900240126B8F1010F78 +:108EF0001BD908F1FF386E43F8E709F10109B2FB0D +:108F0000F5F2E8E79B070ED5B8F1000F0CBF30264D +:108F10002026A145E9D2013C31465046FFF7B9FF72 +:108F2000002CF6D1E0E72026F3E7B7FBF6F39D42ED +:108F3000E1D9DFF83C80B7FBF6F3504618F8031090 +:108F400006FB1377FFF7A5FF3346AB42B6FBF5F6FA +:108F5000F1D2BBF1000F02D00CB1A14501D3BDE8A5 +:108F6000F88F20215046013CFFF793FFF4E700BF44 +:108F70006C0B03002DE9F74F05461746884600297C +:108F800000F03E8118F8011B49B92B7B002B00F043 +:108F90003781284603B0BDE8F04FFFF761BF2529B0 +:108FA00040F0B780002698F800302D2B424608F19B +:108FB000010823D0302B24D02B2B25D000242A2BA2 +:108FC00002F1010123D13B681A1D1B683A601C4461 +:108FD0000A4613782E2B26D101324FF0000A104694 +:108FE00010F8011BA1F1300CBCF1090F1DD80A23A8 +:108FF00003FB0A13A3F1300A0246F0E746F001062C +:10900000D1E746F00206CEE746F00406CBE711F8BA +:10901000013CA3F130000928DBD80A2202FB04340A +:10902000303C0A46CBE74FF0000A12F8011B01F072 +:10903000FB0068289046F8D0782909D86F290CD809 +:10904000632962D022D8252963D0582900F088806E +:1090500098F80030002B95D197E770390829F7D898 +:1090600001A353F821F000BFDB91020051900200F0 +:109070005190020071910200519002004F91020044 +:10908000519002005190020061910200642901D0C8 +:109090006929DDD13A68D2F80090111D89EAE97298 +:1090A0003960A2EBE9724FF0010B092A35DCD34598 +:1090B00038BFD3462CB1B9F1000F01DB720700D5E0 +:1090C000013CB30702D5BAF1000F03D0F00701D479 +:1090D0004CBB0024B9F1000F2DDAC9F100092D2194 +:1090E0002846FFF7D6FE06F00302022A04D1BAF1A1 +:1090F000000F01D11CBB0024CDE9004653460A22D3 +:1091000049462846FFF7DCFEA2E73B681A1D19789E +:109110003A602846FFF7BDFE9AE70A230BF1010BE0 +:10912000B2FBF3F2C1E7A345D4D220212846013C8B +:10913000FFF7AFFECCE77107D5D52B21D0E7A345CC +:10914000DAD230212846013CFFF7A3FED2E7396886 +:10915000CDE900460A1D3A6053460A220968D0E765 +:1091600039680A1D3A60CDE9004653461022F5E7FA +:109170003B681A1D3A6016F00106D3F8009024D11E +:10918000B9F1000F03D0484607F006FB0646B4428B +:109190001DD809F1FF3919F8011F00293FF458AF14 +:1091A0002846FFF776FEF6E728460136FFF771FE00 +:1091B00019F806100029F7D1A642BFF449AF2021C3 +:1091C0002846013CFFF765FEF6E70026F0E7202180 +:1091D0002846013CFFF75DFED9E73B681A1D3A605F +:1091E000302128461C68FFF754FE78212846FFF7F7 +:1091F00050FE00220823CDE900322146102280E7EC +:1092000003B0BDE8F08F00BF13B50B46114680B91F +:10921000104B1148114AC01A0E23C0080093104B7E +:109220000004104940F00100FDF725FC0E2002B0BB +:1092300010BD4BB9074B08480B4AC01AC0080E2393 +:1092400000930004064BECE703601B6802B0BDE826 +:10925000104018475C080300AC0803007C0B0300B7 +:10926000380D0300810B0300B00B03002DE9F74319 +:10927000DDF8288088B93E4B3E483F4AC01AC008F6 +:109280000E243E4B009400043D4940F00100FDF7E0 +:10929000F2FB204603B0BDE8F0834AB9344B3548B1 +:1092A000384AC01AC0080E24344B00940004EBE77F +:1092B000D0F800E0BEF1000F09D12D4B2D48324A05 +:1092C000C01AC00808242D4B00940004DCE74BB9F9 +:1092D000274B28482D4AC01AC0080924274B009460 +:1092E0000004D1E74568D5F80490B3FBF9F509FB14 +:1092F00015354DB11E4B1F48254AC01AC008092418 +:109300001E4B00940004BFE78D0709D0184B194885 +:10931000204AC01AC0081024184B00940004B3E778 +:1093200012F0030F09D0124B12481B4AC01AC00892 +:109330001024124B00940004A6E7C568A9420DD37F +:109340004D1EEC180569AC4208D8CDF82880DEF82F +:109350000C40A44603B0BDE8F0436047044B054809 +:109360000E4AC01AC0081024044B009400048BE776 +:109370005C080300AC0803007C0B0300250D030010 +:10938000810B0300FE0B0300AA0B0300BD0B0300BF +:10939000040C03002E0C0300460C0300690C0300B0 +:1093A000F7B580B92A4B2B482B4AC01AC0080E24A7 +:1093B0002A4B009400042A4940F00100FDF75BFBB2 +:1093C000204603B0F0BDD0F800C0BCF1000F09D1B9 +:1093D0001F4B2048234AC01AC00808241F4B009482 +:1093E0000004E8E74AB91A4B1A481F4AC01AC008D5 +:1093F00009241A4B00940004DDE74568D5F800E025 +:109400000EF1FF350D4209D0114B1248174AC01A10 +:10941000C0081024114B00940004CCE7C568A94291 +:109420000CD34D1E0EFB02540569AC4206D8DCF885 +:109430001040A44603B0BDE8F0406047044B054827 +:109440000B4AC01AC0081024044B00940004B2E771 +:109450005C080300AC0803007C0B0300120D030042 +:10946000810B0300AA0B0300BD0B0300900C03004B +:10947000B60C030029DF704728DF704770B503681A +:109480009E6886B004460D466EB1142200216846DF +:1094900007F04FF9A3680593237901952BB1012BB0 +:1094A0000DD06846B04706B070BD01238DF800307E +:1094B00023690293E368039363690493F1E702234A +:1094C0008DF80030E3681B030293F5E70846704708 +:1094D00000207047024B187A003818BF01207047EF +:1094E000C02B0020034B187A0122B0FA80F05A7486 +:1094F00040097047C02B002008B510461A4607F0F7 +:10950000EFF8002008BD000008B51422002104482F +:1095100007F00FF90348FFF7F8FA002008BD00BF75 +:10952000C02B0020B02B002010B5094C094B436024 +:109530002046FFF737FC40B906F07AFE0649207452 +:109540001C2306488C22FFF7CDFA002010BD00BF77 +:10955000C02B00204C0D0300242B0020B02B00203A +:1095600038B5234D234C2B7A3BB923492348FFF7C9 +:1095700028FB206008B9686038BD022324682B727C +:10958000237973B1012B24D020460321FFF776FF06 +:1095900000232B726B6018491848BDE83840FFF76C +:1095A0003BBBD4E90523D21AB2F5805FD4E903109E +:1095B00028BF4FF480529208012A38BF0122194473 +:1095C0001844FFF757FF50B11128DDD101232B724A +:1095D000D2E7D4E903031844FFF74EFFF3E72B7CEF +:1095E000002BC9D1BDE83840022000F009B800BF07 +:1095F000C02B0020D82B0020D42B0020B02B002023 +:1096000038B5234C237A002B41D0022B09D10328F3 +:1096100030D0204B00221B68E2601A793AB1012A4F +:1096200022D0637C7BBBBDE83840FFF799BFD3E90C +:1096300005128D1AB5F5805F94BF521902F580525C +:109640009A619142EDD102284FF0000308BF1946FC +:109650002372104B18BF0D211868FFF70FFF0E493A +:109660000E48FFF7D9FADCE71A6901321A615B6923 +:109670009A42E7E7E3680133082B01D8E360D0E7BB +:109680000023E360DFE7BDE8384006F0C1BD38BD28 +:10969000C02B0020D82B0020D42B0020B02B002082 +:1096A000831E012B01D8FFF7ABBF704700F0FD030D +:1096B000012B08D1044B00225A74421E50425041E3 +:1096C0001874FFF74DBF7047C02B002010B5064C33 +:1096D000201DFFF767FB28B9637C1BB9BDE810406C +:1096E000FFF73EBF10BD00BFC02B00202DE9F341A6 +:1096F00080460D46104801A916461F46FFF727FA77 +:109700000446B0B118220021043007F012F82D0BE6 +:109710000123237101A90848C4F80080A760E5600F +:109720006661FFF73EFAFFF7D1FF002002B0BDE807 +:10973000F0810420FAE700BFB02B00202DE9F341AF +:1097400080460F460F4801A916461D46FFF7FFF950 +:109750000446A8B118220021043006F0EAFF089B55 +:10976000A36001A9C4E903670648C4F800806561E5 +:10977000FFF717FAFFF7AAFF002002B0BDE8F0815B +:109780000420FAE7B02B00202DE9F84FB0F806A02E +:109790004579D2F800B09DF828900AFB05F5043D04 +:1097A00088460BEB0301A94203F1040488BFA5EB33 +:1097B000030BB4FBFAF607460AFB1644C2F800B0E6 +:1097C0004EB9AAEB04055D4528BF5D46BBF1000F0D +:1097D00004D1BDE8F88F3F68013EF1E7043408EB9F +:1097E00006003C442A46B9F1000F0DD02146ABEBF0 +:1097F000050B06F075FFDA452E443F6855464FF0DD +:10980000000428BF5D46E1E701462046EFE7FFF789 +:10981000D2BAF8B546790146721E05460023934236 +:109820002D6803D30024A64202D8F8BD0133F6E721 +:109830000F682846FFF7FAFA01343946F3E72DE9B5 +:10984000F843068ACD1C0746FFF7CCFA043E3544A0 +:109850000446B5FBF6F5F0B14FF48073EDB28380AA +:10986000C680013D076081464FF00008A84512D22E +:109870003846FFF7B7FA064648B16379013363719A +:1098800008F10108C9F8000007608146EEE72046AC +:10989000FFF7BFFF34462046BDE8F88301210430BE +:1098A000FFF768BA10B5012104460430FFF76EFADD +:1098B000C0B220B92046BDE81040FFF7AABF10BDD6 +:1098C0001FB503920022009203AAFFF75DFF05B0C7 +:1098D0005DF804FB1FB503920122009203AAFFF773 +:1098E00053FF05B05DF804FB33DF704741DF70477D +:1098F0000D4A08B5002313700C4A1360BFF35F8F45 +:109900000B490C4800F0AFF80B4A0C480121FDF759 +:10991000BDFE024630B9BDE8084009484FF4804119 +:10992000FDF7C6BE08BD00BFE52B0020E82B0020D8 +:10993000880D0300DC2B0020419A0200840D0300F7 +:10994000C022002007B500230DF107008DF8073075 +:10995000FDF7E6FFF1EE103A23F09F03E1EE103A37 +:10996000BFF35F8F0A4B4022C3F884219DF80700A4 +:10997000FDF7FAFF06F05CFC20B103B05DF804EBE4 +:10998000FFF7B4BF20BF40BF20BF03B05DF804FBAA +:1099900000E100E070B5244D044601212846FFF7A0 +:1099A000A2F9BFF35F8F38B9042C0AD01F4B1A7885 +:1099B0001AB1BFF35F8F286070BD1D4A1470012279 +:1099C0001A701C4C1A4E6368BBB9FDF791F8FCF78E +:1099D000EFFE0028FBD1164B1B78023B012B15D85C +:1099E000BFF34F8F1449154BCA6802F4E06213436A +:1099F000CB60BFF34F8F00BFFDE71B6830789847FF +:109A00000028D6D0204600F038F8DCE706F010FC3D +:109A100008B1FFF769FF4FF080430122C3F800252A +:109A2000BFF34F8F20BFFDE7E82B0020E52B002080 +:109A3000E42B0020DC2B002000ED00E00400FA0500 +:109A4000034B1B7813B10420FFF7A4BF704700BF7E +:109A5000E52B0020836800225A60C3E904229A6043 +:109A6000DA601A6070470B684A684360934208BF27 +:109A70000023016008BF43607047436843B1026838 +:109A8000916852680B449342436004BF00234360D3 +:109A9000704770B5446806460D46206818B1B36833 +:109AA0002946984718B923682B60256070BD246843 +:109AB000F3E74368186808B102681A6070474368A2 +:109AC000186870474368186800B97047884203D126 +:109AD00002681A600120704703460068F4E700003E +:109AE00010B50D49A1F59472914201D800200FE004 +:109AF0008C1AE30F03EBE4035B1002EBC30452F890 +:109B00003330834205D802D204F10802ECE76068E2 +:109B100010BD2146E8E700BF9412030008B5FFF727 +:109B2000DFFF024B002808BF184608BD571103008D +:109B300038B5074C051E04F1080318BF1C462368FE +:109B40002BB11A6822605B6828469847F7E738BD52 +:109B5000F42B002020B9054B01225A70FFF7E8BF13 +:109B6000012802D1014A9070F8E77047EC2B0020E1 +:109B700020B9034B01225A70FFF7DABF704700BFCC +:109B8000EC2B002038B50E4C2378B3B90D48636038 +:109B9000A3602361E36000F0E7F8054606F048FBA8 +:109BA00008B900F0EDF801232370074BD3F8003417 +:109BB0000BB10123A370284638BD8525F5E700BF0A +:109BC000EC2B0020559B02000000014037B50D4CE6 +:109BD00000230DF107008DF80730FDF7A1FEE368C3 +:109BE000013BE360E36833B9074BD3F8005415B980 +:109BF00000F0D8F8A5709DF80700FDF7B5FE03B09A +:109C000030BD00BFEC2B002000000140012813B53F +:109C10000CD0032820D038B9134B0122C3F8802080 +:109C2000BFF34F8FBFF36F8F02B010BD0F4C0023F7 +:109C30000DF107008DF80730FDF772FE23780BB9A0 +:109C4000FFF7A0FFE3689DF807000133E3600123FD +:109C5000A370FDF789FEE7E700F092F802B0BDE8D7 +:109C60001040FFF7B3BF00BF00E100E0EC2B002085 +:109C70001FB503788DF800304368019383688DF831 +:109C80000830C368054A0393054B684653F82130F2 +:109C900052F82110984705B05DF804FB002C002015 +:109CA000042C00201FB503788DF800304368019321 +:109CB00083688DF80830C368054A0393054B6846EE +:109CC00053F8213052F82110984705B05DF804FB95 +:109CD000002C0020042C0020F0B5194B90F800C097 +:109CE00091F81DE043F82C20164B16460A6943F8FC +:109CF0002C20154B03F80CE00C4607460FCC89B01E +:109D00006D460FC594E80F0085E80F00CDF810C030 +:109D1000BEF1000F09D0002E0C4A694608BF32463A +:109D2000381D00F083FD09B0F0BD002E084A6946D9 +:109D300008BF324607F10C0000F05AFBF3E700BF02 +:109D4000042C0020002C0020082C0020719C020014 +:109D5000A59C020000F18040002382B003600368EC +:109D60000193019B02B07047044A137923B9012182 +:109D70001060918018467047852070470C2C002099 +:109D8000074B1A68D20704D4C02283F800230122AB +:109D90001A604FF080430122C3F81825704700BFB6 +:109DA00000E100E04FF0804208B50223C2F808331A +:109DB0004FF48270FFF7CEFF0123D360D2F818343E +:109DC000DB03FBD408BD00004FF0804110B5D1F893 +:109DD000003163B14FF48070FFF7BCFF0D4B587931 +:109DE0000122C1F8082310B95A711B6898474FF037 +:109DF0008042D2F8043163B14FF48270FFF7AAFFBA +:109E00000223C2F80833034BBDE810401B68012051 +:109E1000184710BD0C2C002000F1804000F5C04018 +:109E2000002382B0036003680193019B02B0704776 +:109E3000800000F1A040D0F8002722F44032C0F8A2 +:109E40000027D0F8003743EA0141C0F800177047F7 +:109E5000054B4FF0FF32072843F8202084BFC0187D +:109E600080F84820704700BF142C002010B5184916 +:109E700091F8583053BB4FF0FF3222FA03F0C0077D +:109E800048BFC81803F1010348BF80F83020202BD9 +:109E9000F3D10024E0B20134FFF7DAFF0C2CF9D142 +:109EA0000C4B0022C0204A6583F80603402018604E +:109EB0004FF4BE70FFF7B0FF074B4FF00040C3F800 +:109EC0000403012381F85830104610BD0820FCE738 +:109ED000142C002000E100E000600040034B93F8E8 +:109EE0005800003818BF0120704700BF142C002014 +:109EF000F0B5394E331893F93030002B69DA8D788C +:109F0000C5F34005002D0BBF082300230C240824B3 +:109F1000A34201D10420F0BD56F82370013743D18C +:109F200037185CB246F8232087F8304015B9F2188C +:109F300082F848008A78550716D4D70736D58200AC +:109F400002F1A042D2F8005725F00205C2F80057EE +:109F5000224FC50800F0070C012202FA0CF217F894 +:109F600005C042EA0C027A558A780D7812F0020296 +:109F700025D09B0003F1804303F5C0430002D3F8D2 +:109F8000102522F4473222F44072C3F810252D0424 +:109F9000D3F8102500F4F85005F440352843104359 +:109FA000C3F810050020B6E70133B1E74D7800F59E +:109FB000E0724FF0A047AD0047F82250C8E7083CD8 +:109FC00046FA84F494F8500040EA851584F850501D +:109FD000E8E708209FE700BF142C0020682C002031 +:109FE00038B5204C251895F93020072A18DD083A95 +:109FF00044FA82F494F850309B09032B0BD14FF0B4 +:10A00000A043D3F81015C14001F001010231BDE8B1 +:10A010003840FFF70DBF012B0CBF02210321F6E7EB +:10A02000D3B2072B1DD8930003F1804303F5C0433F +:10A03000D3F8100540F00100C3F8100502F140000C +:10A0400040B2800080B2FFF7E7FE51B195F93030A1 +:10A0500054F823302BB1012303FA02F2024BC3F868 +:10A06000042338BD142C0020006000404FF0A043B2 +:10A07000D3F8103523FA00F000F00100704700001B +:10A080002DE9F74F00244E4D01944FF480720121C9 +:10A0900002F1804303F5C04390B21B68012B06D147 +:10A0A000D5F804330B4202D0FFF7B6FE0C4304325E +:10A0B000B2F5907F4FEA4101EAD1414BD3F87C31B0 +:10A0C000012B0CD14FF4BE70FFF7A6FE4FF0A0435A +:10A0D00044F00044D3F820250192C3F82025E3B2D0 +:10A0E000D3B1384F00250126344210D0AB0003F124 +:10A0F000804303F5C043D3F81005D3F8101557F883 +:10A10000253023B1C1F30141C0F304209847013544 +:10A11000082D4FEA4606E7D1002C48DA294D4FF0CA +:10A12000A048294E4FF00009012716F9013B5A1C9F +:10A1300031D0C3F3C20208326A44DCB212F8042CF4 +:10A1400003F03F0A03F0070307FA03F31A4222D091 +:10A150000AF5E073504658F82330C3F3014BBBF1C6 +:10A16000020F0CBF03210221FFF762FE07FA0AF378 +:10A17000C8F8203505EB0A0393F9303055F8233041 +:10A180004BB1A109032904D0BBF1020F12D101295F +:10A1900001D15046984709F10109B9F1040FC4D122 +:10A1A000D8F820350193C8F82035002BB9D103B079 +:10A1B000BDE8F08FBBF1030FEDD10229E8E700BF46 +:10A1C00000600040142C0020642C0020014B1B6810 +:10A1D000184700BF702C00200E4B984237B50C4634 +:10A1E00002D0002003B030BD00230DF107008DF830 +:10A1F0000730FDF795FB084B1D7915B901221C604E +:10A200001A719DF80700FDF7AFFB002DE9D0112072 +:10A21000E8E700BF00200040702C0020034B98426C +:10A2200001BF034B00221A601A71704700200040E2 +:10A23000702C00200023435082B043580193019BAF +:10A2400002B070470A4610B54FF48E71FFF7F2FF67 +:10A25000136A9168C95C136A01331362C0F81C1554 +:10A2600010BD8B690A4610B54FF4847123B9FFF70E +:10A27000E1FFD0F8183510BDFFF7DCFF536AD16855 +:10A28000D0F81805C854536A01335362F3E700004D +:10A290001FB501238DF80030044BCDE90110D3E93F +:10A2A00000126846904705B05DF804FB782C00204A +:10A2B00030B54D4DD5F804339A0585B051D5D5F854 +:10A2C0002431002B4DD04FF492712846FFF7B2FF96 +:10A2D0004FF40173C5F80833444B93F829200AB9A9 +:10A2E00001226A60404902228DF80020D1F88024C2 +:10A2F000C1F8802403929A690292DA6801920022DE +:10A30000C3E906226846D3E9001290473648D0F8E0 +:10A310001C315BB1354A5169136A99424DD992F8A3 +:10A320002830002B49D11146FFF78CFF2E48D0F87A +:10A330004431002B56D04FF4A271FFF77BFF2B4B1B +:10A3400093F829200AB1012202609A69002A49D0B3 +:10A35000586AD96800229A6105B0BDE83040FFF71D +:10A3600097BFD5F804335B07D0D5D5F80831002B5B +:10A37000CCD01E4C1C482146FFF773FF636AA269CC +:10A380009A42C3D1E369E1684BB1A3612369E360F9 +:10A390000023606AE3616362FFF77AFFB6E794F82F +:10A3A00029300BB901236B600F4B4FF40172C3F8D6 +:10A3B00008230023606AA361EEE70B484FF48E7117 +:10A3C000FFF738FF5369002BB0D051690291002389 +:10A3D00091688DF80030019153616846D2E900130D +:10A3E0009847A3E705B030BD00200040782C00203E +:10A3F0002DE9F843534D90F804802C2303FB0853B8 +:10A40000064693F82A300C469146002B40F0968081 +:10A410004D490068FFF7E0FE0746002840F09080B5 +:10A4200022683068511C0BD04FF0A04101239340AB +:10A43000C1F8083502F5E0734FF0030C41F823C072 +:10A4400061684B1C1FBF01F5E0734FF0A04C4FF04B +:10A45000000E4CF823E0A369C0F8243594F814C02A +:10A46000637DBCF1010F4CEA0303C0F86C35C0F802 +:10A470001415C0F80C251DD1A268531C1FBF02F58E +:10A48000E0734FF0A0414FF0000C41F823C0E368A7 +:10A49000591C0BD04FF0A04C01219940CCF8081565 +:10A4A00003F5E0714FF0030E4CF821E0C0F80835D9 +:10A4B000C0F810252C2202FB08F2AB18C3F8049058 +:10A4C0002369AB50B9F1000F20D04FF48E71247F77 +:10A4D000FFF7B0FE4FF4A2713068FFF7ABFE3268B1 +:10A4E0001A4BC2F80433130B42F307326101002AFE +:10A4F000C9B21EDB1648841884F8001301215209E2 +:10A5000003F01F0301FA03F340F8223033680422FA +:10A51000C3F800252C2303FB08530022C3E90622BD +:10A5200083F829205A61012283F82A203846BDE8A1 +:10A53000F883084A03F00F03D154E7E70827F5E74B +:10A540001127F3E7782C0020B1A20200800002005E +:10A5500000E100E014ED00E0F8B503680579304C47 +:10A560000022C3F800252C2202FB05425268A2B14A +:10A570002C4AC3F808231A0B43F30733002B0CDBD8 +:10A5800002F01F015B0901228A402033264941F86D +:10A590002320BFF34F8FBFF36F8F0068D0F80C6597 +:10A5A000D0F81415D0F80835D0F810254FF0FF3743 +:10A5B000BE42C0F8147518BF06F5E076C0F80C75F9 +:10A5C000C0F80875C0F810751EBF4FF0A0474FF0D7 +:10A5D000020C47F826C04E1C1FBF4FF0A04601F5E5 +:10A5E000E071022746F82170511C1FBF4FF0A041B7 +:10A5F00002F5E072022641F822605A1C1FBF03F5E3 +:10A60000E0734FF0A042022142F82310FFF706FE4C +:10A610002C2303FB0544002384F82A306360F8BD33 +:10A62000782C00208402020000E100E00279044B53 +:10A630002C2101FB02335869003818BF01207047F4 +:10A64000782C00202DE9F84F064690F804808946C2 +:10A650009246FFF7EBFF044600283CD1204F2C2503 +:10A6600008FB057B4FF48E71CBF814A0CBF8089053 +:10A67000CBF820008BF828003068FFF7DBFD30684E +:10A68000012383605946FFF7DDFDDBF804305D46AA +:10A690001BBB3068DBF814402B6A9C4211D833682E +:10A6A000D3F81C21002AFBD00122DA6000202C23E1 +:10A6B00003FB087700237B61BDE8F88F95F828300D +:10A6C0003BB9D0F81C31002BF8D05946FFF7BAFD42 +:10A6D000E2E70F20EBE71120EEE72046ECE700BFB2 +:10A6E000782C00200023435082B043580193019BF3 +:10A6F00002B070471FB501238DF80030044BCDE93F +:10A700000110D3E900126846904705B05DF804FBDC +:10A71000A42C00207FB5434AD2F82461002E60D0DB +:10A7200010464FF49271FFF7DDFF02238DF80030E1 +:10A73000D2F88034C2F880340393D2F83C350293C7 +:10A74000394BDA6801920022C3E906226846D3E950 +:10A75000001290473348D0F8443173B14FF4A271DE +:10A76000FFF7C0FF304B9A693AB10022C3E90622D5 +:10A77000D968D0F83C05FFF7BDFF2A48D0F8203152 +:10A78000ABB14FF49071FFF7ADFF0123C360264BCF +:10A790005A6962B1D0F84C150291002299688DF87F +:10A7A000002001915A616846D3E9001290471D4884 +:10A7B000D0F858319BB14FF4AC71FFF793FF1A4BAF +:10A7C0005A6962B1D0F84C150291002299688DF84F +:10A7D000002001915A616846D3E90012904704B005 +:10A7E00070BDD2F81031002BB4D04FF488711046F0 +:10A7F000FFF778FF0C4BD2F83C0599698842A9D144 +:10A80000DC69D96864B1D2F8005225F02005C2F89D +:10A8100000521A699C61DA60DE61FFF76BFF99E70D +:10A820009C61FAE700200040A42C00202DE9F843A9 +:10A830005A4E90F80480242303FB0863044693F8DF +:10A8400020300D469146002B40F0A380544900680B +:10A85000FFF7C2FC0746002840F09D802A68206868 +:10A86000511C0BD04FF0A04101239340C1F8083593 +:10A8700002F5E0734FF0030C41F823C069684B1CEC +:10A880001FBF01F5E0734FF0A04C4FF0000E4CF8E5 +:10A8900023E0AB69C0F8243595F814C06B7DBCF19A +:10A8A000010F4CEA0303C0F86C35C0F80C25C0F862 +:10A8B00014151DD1AA68531C1FBF02F5E0734FF099 +:10A8C000A0414FF0000C41F823C0EB68591C0BD09D +:10A8D0004FF0A04C01219940CCF8081503F5E07128 +:10A8E0004FF0030E4CF821E0C0F80835C0F81025F1 +:10A8F000242202FB08F2B318C3F804902B69B3506A +:10A90000B9F1000F2FD04FF488712A7FFFF7EAFECC +:10A9100020684FF49071FFF7E5FE20684FF49271C4 +:10A92000FFF7E0FE20684FF4A271FFF7DBFE4FF463 +:10A93000AC712068FFF7D6FE23681A49C3F80413E8 +:10A94000190B43F307335201002BD2B21CDB16481C +:10A95000C51885F8002301225B0901F01F0102FAE6 +:10A9600001F140F8231023680822C3F800252423AE +:10A9700003FB08660023C6E906337361012386F8EA +:10A9800020303846BDE8F883084B01F00F015A54D7 +:10A99000E9E70827F5E71127F3E700BFA42C00201B +:10A9A00015A702001003420000E100E014ED00E0F2 +:10A9B000F8B5444C0579242303FB054302465B6844 +:10A9C0000068ABB1404BC0F8083340F30733002BAD +:10A9D0004FEA10310CDB01F01F065B090121B14089 +:10A9E00020333A4E46F82310BFF34F8FBFF36F8FDB +:10A9F000D0F8003223F02003C0F80032242303FBF8 +:10AA000005439B692BB14FF4A271FFF76BFE012345 +:10AA100043604FF4AC71FFF765FE0123C36024234C +:10AA200003FB0543D0F858110029FBD0996919B1EF +:10AA3000D0F844110029F5D00023C0F80035136880 +:10AA4000D3F80C75D3F81465D3F80825D3F810158E +:10AA50004FF0FF3C6745C3F80CC518BF07F5E0771A +:10AA6000C3F814C5C3F808C5C3F810C51EBF4FF01E +:10AA7000A0434FF0020C43F827C0771C1FBF4FF0D4 +:10AA8000A04306F5E076022743F826704E1C1FBF50 +:10AA900001F5E0714FF0A043022643F82160531CFA +:10AAA0001FBF4FF0A04302F5E072022143F82210CD +:10AAB000FFF7B4FB242303FB0544002384F8203074 +:10AAC0006360F8BDA42C00201003420000E100E008 +:10AAD0000279044B242101FB02335869003818BF66 +:10AAE00001207047A42C002001F06043B3F1005F07 +:10AAF0002DE9F0470646884692463BD190F80490EF +:10AB0000FFF7E6FF0446002836D11D4F30682425A4 +:10AB100005FB09754FF49071C5F814A0C5F80880BD +:10AB2000FFF7E0FD4FF4AC713068FFF7DBFD3368F1 +:10AB30006A69A968C3F84415C3F8482501229A60D8 +:10AB40006A68DAB9D3F82021D3F858011AB9002875 +:10AB5000F8D00F2007E00028FBD10122DA60D3F8FB +:10AB60005821002AFBD0242303FB097700237B61B3 +:10AB7000BDE8F0871020FBE71120F9E72046F7E752 +:10AB8000A42C00200220FCF72FB900002DE9F0478B +:10AB900080460D46FCF748F90328044610D8012DDD +:10ABA00010D0022D30D05DB91A48FCF7AFFD1A4B1A +:10ABB00004EB440213449D78184B1B5DAB4219D043 +:10ABC000BDE8F087144E00EB4003F218F55C5378B3 +:10ABD000470053B1DFF84C900E484A464FF480418D +:10ABE000FCF766FD08B989F8008027443E440B4B0A +:10ABF000B2781A55002DE3D0094B1B68002BDFD02B +:10AC00002846BDE8F047184700EB400402480444DA +:10AC10006578EFE700230020CA2C0020E52C0020F7 +:10AC2000E02C0020C82C002000780221FFF7AEBFE6 +:10AC300008B5094B1B7853B10020FCF7ABF8012095 +:10AC4000FCF7A8F8BDE808400320FCF7A3B8BDE86E +:10AC50000840FCF7ABB800BFC92C0020F8B57A4C0F +:10AC6000237805461BB100232370FFF7E1FF172D62 +:10AC700000F28780DFE805F00C1717425364757FF8 +:10AC8000878C878C949999999999C3C8D0D8E3E314 +:10AC9000FFF7CEFF6D48FCF739FD6D4B00220446EF +:10ACA0001A702046F8BD0020FCF75AF8F0B10020D9 +:10ACB000FCF770F8022D0CBF4FF4E1644FF47A6496 +:10ACC000634B1D7000254FF400464FF47A702946FF +:10ACD0004FF4FA620023E4FB060105F009FC2A4662 +:10ACE0000146BDE8F8405948FCF7E2BCFCF746F8DD +:10ACF000022D0CBFC8244FF4C874E1E70020FCF714 +:10AD00002FF840B10020FCF745F84FF44874504B41 +:10AD100003221A70D6E7FCF731F8C824F7E70020C1 +:10AD2000FCF71EF838B10020FCF734F84FF47A64D1 +:10AD3000474B0422EDE7FCF721F84FF4C874F7E71E +:10AD40000020FCF70DF848B10020FCF723F8404B39 +:10AD500005221A7040F6CD410022C2E7FCF70EF83A +:10AD6000F5E70020FCF740F8394B06221A70002264 +:10AD700040F26661B5E70020FCF700F8344B07228B +:10AD80001A7000248DE701202070FCF72DF8EEE703 +:10AD900001202070FCF728F800224FF40051A0E7B2 +:10ADA000FCF713F82A4B0C22EAE72A482A4EFCF754 +:10ADB000ADFCD5F1110504461CD0D8B9012D13D036 +:10ADC000C820454321464FF400474FF47A704FF4B2 +:10ADD000FA620023C5FB070105F08AFB2246014603 +:10ADE0001C48FCF765FC04460220FBF7C7FF012363 +:10ADF000337056E70220FBF7CDFF0023F8E7FFF79B +:10AE000017FF134B1222BBE7FFF712FF0020FBF7DF +:10AE1000B5FF0F4B1322B3E7FFF70AFF0120FBF743 +:10AE2000ADFF0B4B1422ABE7FFF702FF0020FBF74F +:10AE3000A5FF0120FBF7A2FF054B1522A0E7FBF7BA +:10AE4000C4FF034B1D709CE7DC2C00202023002056 +:10AE5000E42C0020E0220020C92C0020044B1B68B9 +:10AE6000DB0703D5034B1878FFF7F8BE704700BF28 +:10AE7000D82C0020E42C002010B5002914BF032496 +:10AE80000024FBF7E3FF800000F1A040D0F800278A +:10AE900022F44032C0F80027D0F8003743EA0443D8 +:10AEA000C0F80037002010BD032801D8FBF7AEBF63 +:10AEB00000207047044B1B6813F0010301D0FFF71B +:10AEC000CDBE1846704700BFD82C002038B51C4BAB +:10AED00018601C4B10F00204054619601AD01A4B7A +:10AEE0001A480E221A700F22DA7010229A7111225B +:10AEF0005A72042140F23332FCF748FA044648B94A +:10AF0000FCF79CFA044628B90146114A1148FCF79F +:10AF1000BDFB0446EB0711D50120FBF79DFF6CB983 +:10AF200021460D4A0D48FCF7B1FB044630B9BDE897 +:10AF300038400B4A0B480121FCF7A8BB204638BD1E +:10AF4000D82C0020E02C0020CA2C0020B8120300CE +:10AF500029AC0200DC1203005DAE0200E012030027 +:10AF600085AB0200D8120300032811D8012A0AD1A8 +:10AF700001290FD100F10E02D2B20D4B00EB4000BF +:10AF80001A54002070470129F7D0022904D049B192 +:10AF9000072070470022F8E7054B00EB40001844FB +:10AFA0004270EEE7024B00EB400018448270E8E785 +:10AFB000CA2C0020032802D80121FFF75DBF06201C +:10AFC000704708B5012202210020FFF7CDFF08B12C +:10AFD000072810D1072202210120FFF7C5FF08B181 +:10AFE000072808D100210A220846FFF7BDFF10B14B +:10AFF000072808BF002008BD0388102B10B502D019 +:10B00000112B1ED010BD1A4C2168B1B9012208467F +:10B01000FFF7AAFF08B1072824D107220221012047 +:10B02000FFF7A2FF08B107281CD10422022100204B +:10B03000FFF79AFF08B1072814D123680133236072 +:10B04000E0E70B4A1368013B1360002BDAD1FFF7EE +:10B05000B8FF0028D6D0074B1B68002BD2D0BDE824 +:10B0600010401847034B1B68002BE6D09847E4E7D5 +:10B07000F02C0020EC2C002008B50020FFF79AFFF0 +:10B0800008B1062806D10120FFF794FF10B1062869 +:10B0900008BF002008BD00000D4B10B518600C461D +:10B0A00029B10120FFF700FF40B102232370094BB3 +:10B0B0001B6853B9BDE81040FFF783BFFFF7F4FEEC +:10B0C00008B10B23F2E72070F1E7002010BD00BFAC +:10B0D000EC2C0020F02C002076DF70477ADF7047E0 +:10B0E0007CDF70478FDF7047FCF7BEB903883B2BCE +:10B0F00013B5044608D005D8102B0AD0212B1BD03D +:10B1000002B010BD562BFBD1A0881321FFF7E4FF3E +:10B110000BE00720FFF7CEFE08B1FCF7A5F90D4BB9 +:10B12000A1880D48198002F01FFB0028E8D002B06A +:10B13000BDE81040FCF798B9002380888DF80430F2 +:10B1400001A98DF80530FFF7CDFF0028D8D0FCF716 +:10B150008BF9D5E7442300203C31002010B504468C +:10B1600003F084FE204603F0A5FE2046BDE8104013 +:10B1700003F038BC10B5204B204A9B1ADB088CB07A +:10B180001B04032836D8DFE800F002272F3343F0F2 +:10B19000030420461A49FBF757FC2C22002101A882 +:10B1A00005F0C7FA44F250624FF496710123CDE9DD +:10B1B000051214488DF8083001A98DF8043000F00C +:10B1C000BEFE0021104801F05FF9104902462046FA +:10B1D000FBF73EFC0CB010BD0D4943F003000CB072 +:10B1E000BDE81040FBF730BC0A4943F00100F6E728 +:10B1F0000949FAE70949F8E7840803005C080300F5 +:10B20000E4120300F42C002021B202001213030008 +:10B21000291303004C13030085130300B21303002A +:10B2200013B513210190FFF757FF019A034660B150 +:10B230000748084C0849241AE408240444F0020092 +:10B2400002B0BDE81040FBF70CBC02B010BD00BF5F +:10B250005C08030084080300D9130300022807B523 +:10B260000ED1094B09480A49C01AC008000440F031 +:10B2700003000190FBF7E8FB06490198FBF7E4FBAC +:10B28000012003B05DF804FB5C08030084080300A0 +:10B290001A14030047140300032807D14FF080431A +:10B2A000A922C3F820250020FEF774BB70470000D8 +:10B2B00008B503784BB9054B3B211888FFF70CFF05 +:10B2C00018B1BDE80840FCF7CFB808BD4423002002 +:10B2D000072808B51FD00A280AD0042807D1134B25 +:10B2E00013211888FFF7F8FE30F008030FD108BDCE +:10B2F0000020FFF7DFFD08B1FCF7B6F8FFF7BCFE52 +:10B3000008B1FCF7B1F804F053FF0028EFD0BDE816 +:10B310000840FCF7A9B8054B1A884FF6FF739A420C +:10B32000E5D1034800F0EDFDDEE700BF4423002037 +:10B33000F42C002008B50548032100F0A3FC18B147 +:10B34000BDE80840FCF790B808BD00BFF42C002011 +:10B3500008B548B103280BD10220FFF7ABFD38B187 +:10B36000BDE80840FCF780B8BDE80840FFF7E2BF41 +:10B3700008BDFCF779B8000030B54FF48041AFB09C +:10B380000020FBF7C3F908B1FCF76EF8FBF7FCF8F7 +:10B3900004F0CEFD08B1FCF767F8FCF745F908B1F9 +:10B3A000FCF762F8FEF7A4FA08B1FCF75DF86F4904 +:10B3B0000320FFF78BFD08B1FCF756F803A9002026 +:10B3C000FFF76AFE08B1FCF74FF89DF80C5004F047 +:10B3D000B1FE08B1FCF748F8002303A9012003934C +:10B3E00004F074FF08B1FCF73FF803A805F012F869 +:10B3F00008B1FCF739F802F0B5FF08B1FCF734F8F2 +:10B4000031238DF80C3007238DF80D3010238DF883 +:10B410000E3003A803238DF80F308DF8103003F0A1 +:10B4200041F808B1FCF720F8514803F023F808B1BF +:10B43000FCF71AF8082211234E498DF808300DEB5D +:10B440000200FFF74DFE08B1FCF70EF80023ADF83F +:10B4500010301823ADF80C305023ADF80E3003A88F +:10B460004FF4C873ADF81230FFF738FE08B1FBF7A0 +:10B47000FBFF4148002102F065F808B1FBF7F4FF3B +:10B48000AC22002103A805F054F902238DF80C30FA +:10B4900040F20163ADF80E300124384B08930021CF +:10B4A0002C2221A8ADF81C4005F043F94FF4967109 +:10B4B00044F25063CDE925133148324B8DF8884072 +:10B4C00003A92C9300F061FB08B1FBF7CDFF2C48DA +:10B4D000012100F057FB002303932B482B4B0293D1 +:10B4E00002A902F02FF908B1FBF7BEFF284B039326 +:10B4F00003A804F0A1FC08B1FBF7B6FF1422002159 +:10B5000003A805F016F94FF4F0234FF4A032CDE96B +:10B51000042303238DF818301E4B089303A81E4BF9 +:10B52000099300F019FE08B1FBF79EFF1B4B1C4866 +:10B530001C49C01AC008000440F003000190FBF74A +:10B5400083FA022D0FD118490198FBF77DFA02F01A +:10B55000D5FF08B1FBF788FFFBF72AF90028FBD1DC +:10B56000FEF7F0F9F8E7FFF7E5FEF5E7D1B20200E4 +:10B570005DB1020076140300283100204023002032 +:10B58000F42C002051B302003C310020E9B002004D +:10B5900075B10200B1B2020073B302005C0803008F +:10B5A000840803007F140300A314030013DF704713 +:10B5B00038B50023134CD3F8F85F134BE41AE408B2 +:10B5C0006A1C4FEA044404D14FF010235D696B1CE0 +:10B5D00011D02A460D4944F00300FBF739FA2846FA +:10B5E000FFF7E4FF054620B1094944F00100FBF7ED +:10B5F0002BFA284638BD074944F00100FBF724FA2E +:10B600000425F6E7840803005C080300B014030077 +:10B61000DB1403000E15030038B50B4B0B4C0C4A22 +:10B620000C49E41AE408240444F00300FBF710FA80 +:10B630000748FFF7BBFF054620B1074944F001006A +:10B64000FBF702FA284638BD5C08030084080300B3 +:10B650000060020026150300DB1403006DDF704755 +:10B6600079DF70477DDF704764DF70472DE9F04F69 +:10B6700085B000250E9CBDF83CB0B4F800A0019147 +:10B68000074690461E46A9463A884A450DDC45B114 +:10B690002388013BA3EB0A039BB2FF2B3AD806F8A1 +:10B6A0000A30002005B0BDE8F08F7A6852F8290012 +:10B6B000039000220DF10B0103A8FFF7D5FF00282E +:10B6C000F0D19DF80B20424521D12288002D14BFD6 +:10B6D0000020022002EB0801014459451ADC3DB963 +:10B6E000013292B2019B2280B3542288013222801F +:10B6F00022880DF10B01324403A8FFF7B5FF0028A3 +:10B70000D0D121889DF80B200A442280012509F11F +:10B710000109B9E70C20C5E72DE9F341089FBDF801 +:10B7200024801546CDE90078022204461E46FFF724 +:10B730009DFF50B93346102229462046CDE90878AE +:10B7400002B0BDE8F041FFF791BF02B0BDE8F08163 +:10B750002DE9F04F00231788138090F82D3085B025 +:10B7600006460D4614465BB3082F01D80C2028E18D +:10B7700002A8FFF773FF002840F023812388DDF83B +:10B7800009100822EA54238801339BB21B2223802C +:10B79000EA54238801339BB2EA182380E950BDF8AC +:10B7A0000D30938023889DF8082006339BB212F059 +:10B7B000FE0218BF01222380EA542388013323802C +:10B7C000B378FBB123880433BB42CFD802A8FFF77C +:10B7D00047FF002840F0F58023880322EA5423889D +:10B7E00001339BB219222380EA542388BDF8082034 +:10B7F00001339BB2E9182380EA54120A4A70238865 +:10B8000002332380F2789AB12388D91CB942ADD88B +:10B810000221E954238801339BB201212380E9549A +:10B8200023880B449BB22380EA5423880B44238053 +:10B830007268AAB12388D91CB94297D8022192F91B +:10B840000020E954238801339BB20A212380E95464 +:10B85000238801339BB22380EA5423880133238059 +:10B860003389002B40F0A180338A5BB1CDE90047DA +:10B870002B460722032106F11000FFF74DFF002899 +:10B8800040F09F80338B5BB1CDE900472B461522FA +:10B89000142106F11800FFF73FFF002840F09180C7 +:10B8A000326A002A40F09080D6F82480B8F1000F68 +:10B8B00030D0B8F804302188981C8A1C0244BA425F +:10B8C0003FF654AFFE283FF651AF03336B54238845 +:10B8D00001339BB2FF222380EA54238801339BB2B9 +:10B8E0002380B8F80020EA54E918120A4A70208828 +:10B8F000023080B22080B8F804205AB1D8F808107D +:10B9000000296BD0284404F0EBFE2388B8F804200B +:10B910001344238096F82C30002B40F09880307828 +:10B9200000284ED03388012B58D0228802F1020C17 +:10B93000BC453FF61BAF012805D173780233134491 +:10B940009F42FFF413AF023FBF1ABFB202A905EB3B +:10B950000C00ADF80870FFF785FE90BB3178BDF89C +:10B960000830022900F0B98072789A4202D39F42CF +:10B9700080F0B180012940F0B280974293B2C0F0CC +:10B98000AE80ADF808300821BDF80830FE2B3FF638 +:10B99000EDAE22880133AB542288013292B222806C +:10B9A000A9542288134423800BE0CDE900472B469D +:10B9B0000622022106F10800FFF7AEFE00283FF440 +:10B9C00053AF05B0BDE8F08FB4F800C00CF106032A +:10B9D000BB423FF6CBAE1188052901D80720F0E71E +:10B9E0006FF4486E01EB0E039BB24FF27D3E734540 +:10B9F000F4D95388052BF1D96FF44860181880B238 +:10BA00007045EBD94FF6FF70814201D09942E5D8DD +:10BA1000052305F80C30238801339BB212212380C3 +:10BA2000E954238801339BB223801188E954E81834 +:10BA3000090A4170238802339BB223805288EA545A +:10BA4000E918120A4A702388023323802CE7B36A6C +:10BA5000002BC3D04FF000084FF00C0A4FF0160B2C +:10BA6000B16A5FFA88F20AFB02F201EB0209B9F847 +:10BA70000430981CFE283FF679AE208803332B54FF +:10BA8000238801339BB2238005F803B02388013358 +:10BA90009BB223808A5AEA54E918120A4A70208815 +:10BAA000023080B22080B9F804205AB1D9F80810C9 +:10BAB000002993D0284404F013FE2388B9F8042009 +:10BAC0001344238096F82C2008F101085FFA88F3CC +:10BAD0009A42C5D823E7092156E79F42FBD2ADF829 +:10BAE000087050E730B5C8B1F2B10024651C8D4232 +:10BAF00006DA1588A54212D805196D789D420ED137 +:10BB0000A14211D9005D48B1013880B230B1023490 +:10BB1000A3B210FA84F4A14206DB138030BD055DA8 +:10BB200001352C44A4B2E1E70020F7E713B5134632 +:10BB30000022ADF806200DF106020446FFF7D2FF01 +:10BB400010B1BDF80630E01802B010BD72DF7047CA +:10BB500073DF704774DF704738B5012204460D4625 +:10BB6000B0F81414D0F81004FFF7E0FF00B105702E +:10BB700004F13C0204F5826104F15400BDE8384050 +:10BB8000FFF7E4BF80F830107047F8B504460F4661 +:10BB9000002973D0002871D091F87A301BB191F848 +:10BBA0009830002B6CD1D7F8A030042B68D0D7F890 +:10BBB0009C30042B64D04FF0000C84F802C007F1D5 +:10BBC00078060FCE251D0FC50FCE0FC596E80700CE +:10BBD00085E8070084F830C0D7F8A4306363D7F84D +:10BBE000A830A36304F582624FF6FF73C4F826C43D +:10BBF000A4F82434C4F82024C4F829C422780AB94B +:10BC000084F8543094F82430002B14BFEE231F2303 +:10BC100004F15501C4F81014A4F8143404F21442C9 +:10BC20003846FFF795FD40BB94F82430002B14BF35 +:10BC3000EE231F2304F23121C4F81814A4F81C3495 +:10BC400004F21C4207F13C00FFF782FDA8B9A3698A +:10BC5000A4F848304FF480730125A4F8503063698C +:10BC60002064014684F83C50636404F13C0204F112 +:10BC70005400FFF76BFF00B92570F8BD0E20FCE7FC +:10BC80000720FAE7F8B5077804460D46002F00F0C4 +:10BC900001810023C0F82634C0F82934C38881709C +:10BCA00000F226460BB1012903D0E37943B1022DFE +:10BCB00006D1636BABB1012284F82D24082098478C +:10BCC00004F2274304F22D4113F8012B12B99942D3 +:10BCD000FAD117466B1E032B4ED8DFE803F0050B95 +:10BCE0000F1284F82D34EBE7A3791BB194F82430BC +:10BCF00003B95FB9E3790BB1002F3FD1237A002B51 +:10BD00003ED1637A002B0CBF00250425636BA57020 +:10BD1000002B37D0033D012D34D8627992B394F8CB +:10BD20002E247ABB84F83024012284F82F240720A3 +:10BD3000984704F13C0518220021284604F0F9FC3C +:10BD4000E26A531E0121022B28BF0A4684F85120C3 +:10BD500094F8242084F83C1032B1A36A581E0228BB +:10BD600028BF0B4684F85230A378042B1CD8DFE898 +:10BD700003F0780D23365A000025C7E70225C5E7F2 +:10BD80000325C3E7002384F82F34D2E7012384F886 +:10BD900031300023C4E91063C4F82034022384F84E +:10BDA0003C308023A4F84830A378002B5DD1636B2E +:10BDB000002B6BD1002068E00223002A84F8313088 +:10BDC00014BF0723032384F83C302369A4F84830C8 +:10BDD0000023C4F82034E36826646364E4E76369FD +:10BDE0006364A369A4F8483012B1062384F83C3098 +:10BDF0006379B3B194F82E349BB994F8303483B19D +:10BE0000022384F8503004212046FFF7A5FE0028C5 +:10BE1000CAD1052384F8313004F58263C4F8203494 +:10BE2000C2E70323F6E7E3696364236AA4F84830B2 +:10BE300012B1062384F83C30637983B194F82E3430 +:10BE40006BB994F8303453B1022384F85030042194 +:10BE50002046FFF781FE0028A6D10623DAE7042357 +:10BE6000D8E7002384F831309EE7D4F820142A461E +:10BE700004F15400FFF76AFE38B994F8301094F8D2 +:10BE80005400FFF765FE002891D0F8BD94F831000A +:10BE900098478FE70820F8E70388112B10B50C4668 +:10BEA0000AD0262B1FD0102B05D1C37B012B02D12A +:10BEB0008388A1F8243410BD0022838881F82E24C1 +:10BEC000B1F824249A42F6D10B79002BF3D1012149 +:10BED0002046FFF7D7FE0028EDD0A36B002BEAD059 +:10BEE000BDE810401847037A013B012BE3D889785D +:10BEF00005230131B1FBF3F303EB8303C91AC9B284 +:10BF0000E6E738B5044690F85400FFF723FE012316 +:10BF100084F82E34002384F8303484F8503006211D +:10BF20002046FFF719FE054638B9A1782046FFF7ED +:10BF3000A9FE10B1A36B03B19847284638BD30B5B0 +:10BF40000D46041D0FCD0FC40FCD0FC495E807009B +:10BF500084E8070030BD75DF704776DF70477ADF11 +:10BF600070477BDF70470000034B1A8882420CBF8A +:10BF700018460020704700BF64310020024B9B69C7 +:10BF800003B11847704700BF4831002073B585B230 +:10BF90002846FFF7E9FF044638B3174E027A337B91 +:10BFA0009A420CD200F10A012846FFF7D4FFF0B103 +:10BFB00011281AD002B0BDE87040FFF7DFBF0023A0 +:10BFC0000372337C43B13B212846FFF7C6FF30F0B4 +:10BFD000080301D0FFF7D2FF736933B100228DF857 +:10BFE0000420ADF8065001A8984702B070BD237A2E +:10BFF00001332372F9E700BF4831002037B50B4603 +:10C00000497A0F4A79B9D2E901141D7A0246002D06 +:10C0100018BF21465868FBF74BFB78B103B0BDE869 +:10C020003040FFF7ABBF00211972536933B10122D1 +:10C03000ADF806008DF8042001A8984703B030BD84 +:10C04000483100204B8802889A4212D842889A428E +:10C050000FD380888B8840F2F311884294BF021A74 +:10C06000421A9A4205D80844984234BF0020012061 +:10C0700070470020704700000388122B70B50146FE +:10C0800059D004D8102B1ED0112B44D070BD502B8A +:10C09000FCD12F4BC288DB899A42F7D1038A022B4D +:10C0A000F4D186883046FFF75FFF05460028EDD0C3 +:10C0B00001F1120000F023FA38BB6868FBF726FB99 +:10C0C0000028E3D009E0C37B012BDFD14FF6FF70DE +:10C0D000FFF74AFF054620B90420BDE87040FFF78E +:10C0E0004DBF1C4A8E880680002303721368C0F877 +:10C0F0000A305368C0F80E3010310A30FFF7A2FF43 +:10C10000134B6872DB89002BC0D129463046BDE84D +:10C110007040FFF773BF8088FFF726FF04460028B2 +:10C12000B4D04068FBF7F2FA08B1FFF727FF4FF6EB +:10C13000FF732380AAE786883046FFF715FF054680 +:10C140000028A3D008310A30FFF77CFF6872DCE7D3 +:10C150004831002078310020F8B5064648B305463E +:10C160000FCD154F3C460FC495E8070084E8070043 +:10C170003068124C3C60B0B1FFF7F1FEC0B93268D4 +:10C1800013682360536863600D480E4A4FF6FF73CF +:10C1900003800D4B40F8043F0021FBF777FA00289D +:10C1A00018BF032004E02046FFF7DBFE0028EBD099 +:10C1B000F8BD0E20FCE700BF483100207831002098 +:10C1C000643100208DBF020080310020F7B5174692 +:10C1D00001900E4691B1019C6CB100252C46294678 +:10C1E00001A8FCF74AFD18B13946A8B2B04701349E +:10C1F0000135142DF3D1204603B0F0BD0C46FAE70B +:10C200000AB1FCF719BDFCF72EBD73B50191019C75 +:10C2100006466CB100252C46294601A8FCF72DFDE9 +:10C2200018B106EB440301349D800135142DF3D180 +:10C230003046346002B070BD2DE9F0470388848831 +:10C24000103B8CB005460A2B21D8DFE803F00640EE +:10C2500020202020202020654700DFF8E880D8F843 +:10C260000830DB430093D8F804106846FCF76AFDF9 +:10C27000009901A8FFF7C9FF0DF108090027019BEC +:10C280009F4207D3132C12D90420FBF7EDF80CB012 +:10C29000BDE8F08739F802AB00260136514608EBBD +:10C2A0008600FCF7E0FC1E2EF7D10137E7E71F48B8 +:10C2B0002146FCF7C1FC1E482146FCF7BDFCEB7B88 +:10C2C000022BE4D11B482146FCF7B6FCDFE71748F8 +:10C2D00021460CB0BDE8F047FCF7C5BC027A164811 +:10C2E0003F2A4FEA1215214694BF00220122FFF790 +:10C2F00087FF022D94BF0022012210482146FFF73C +:10C300007FFF012D0E4894BF0022012221460CB070 +:10C31000BDE8F047FFF774BF037A002BB7D1427A2C +:10C320000548C2F3C0022146F1E700BFA831002052 +:10C33000A4310020AC310020B8310020B4310020FD +:10C34000B0310020A03100201328014602D8024855 +:10C35000FCF793BC00207047A431002007B5019082 +:10C36000FFF7F2FF019930B10448FCF786FC002882 +:10C3700014BF0220012003B05DF804FBAC310020A3 +:10C3800007B50190FFF7E0FF019930B10448FCF7D1 +:10C3900074FC002814BF0220012003B05DF804FBE8 +:10C3A000A831002007B50190FFF7CEFF019928B111 +:10C3B000044803B05DF804EBFCF75FBC03B05DF824 +:10C3C00004FB00BFB031002007B50190FFF7BCFFB0 +:10C3D000019928B1044803B05DF804EBFCF74DBCAB +:10C3E00003B05DF804FB00BFB431002007B5019035 +:10C3F000FFF7AAFF019928B1044803B05DF804EBE8 +:10C40000FCF73BBC03B05DF804FB00BFB831002073 +:10C4100008B518210248FCF739FCC0B208BD00BFBE +:10C42000A031002070B50A4E054630460C46FCF798 +:10C4300024FC58B12846FFF787FF38B10734294656 +:10C4400006EB8400BDE87040FCF717BC002070BD0F +:10C45000A0310020F8B50B4F054638460C4616466D +:10C46000FCF70BFC60B12846FFF76EFF40B10734C4 +:10C470003246294607EB8400BDE8F840FFF7C0BE0E +:10C48000F8BD00BFA0310020034B9B680A4601465F +:10C490001846FFF79BBE00BFA031002073B50B4DBF +:10C4A000019204460E4601462846FCF7E6FB50B1D1 +:10C4B000063405EB8404019A6068314602B0BDE899 +:10C4C0007040FFF783BE02B070BD00BFA0310020F6 +:10C4D000AADF7047002301380B70042806D8DFE874 +:10C4E00000F00306080A0C0011230B70704721238B +:10C4F000FBE73123F9E71223F7E72223F5E700886A +:10C5000000F0010070470088C0F340007047F0B5AC +:10C510008B7891B00C46012B38BF012300278DF892 +:10C520000E3005460B88607CADF80C306946ADF8DE +:10C5300000708DF80270FFF7CDFFA07C0DF10101B6 +:10C54000FFF7C8FF1646237BE27B217D43EAC20347 +:10C55000227C43EA02139DF80220B94222F019021C +:10C5600003F0190314BF02210121134361F34203B5 +:10C570001C22394609A88DF8023004F0DAF8637BF2 +:10C5800013F0300F14D00DF10901E07CADF8087004 +:10C590008DF80A70FFF79EFF11238DF808309DF883 +:10C5A0000A30012102AA61F342038DF80A300E928B +:10C5B000637B8DF82430A37B8DF825300023CDE9F3 +:10C5C0000633089303AB0493A388ADF81C30A3682B +:10C5D000CDF814D01BB1E288ADF818200893A369F8 +:10C5E00073B301A90022ADF804208A701A88ADF84F +:10C5F0002C205A88ADF82E205A680D91187B0A928B +:10C60000FFF768FFA3690DF10501587BFFF762FF93 +:10C61000A3699A7A197A41EAC201DA7A9B7B41EAE4 +:10C6200002119DF80620002B01F0190122F01902D9 +:10C6300014BF02230123114363F342018DF8061056 +:10C64000E36903B10C93334604AA09A92846FFF70E +:10C650003FFF11B0F0BDA0DF7047A1DF7047ADDF35 +:10C660007047B3DF7047B4DF704710B504464088A9 +:10C6700000F0B8FDA0802046BDE8104001F06CBE7F +:10C6800030B587B005460C461422002101A804F0FD +:10C6900050F8082301A88DF80430ADF80650039433 +:10C6A000FFF7E3FF07B030BD70B586B00546142232 +:10C6B000002101A804F03DF84FF6FF739D42ADF84C +:10C6C00006503FD0284600F07FFC1128044633D0A6 +:10C6D00016D8D8B10B2820D02046FDF71FFA1A4EE5 +:10C6E0001A4902461A48361AF608360446F001007E +:10C6F0002B46FAF7B6F921462846FFF7C1FF03E0BB +:10C7000043F202039842E7D1002216E00F238DF88E +:10C71000043001A8FFF7A9FFF6E710238DF80430D5 +:10C7200009480B4B0B49C01AC00800042A4640F0C8 +:10C730000200FAF78DF9ECE70122074B2846197839 +:10C74000FFF788FE06B070BDD4080300CF150300C4 +:10C750005C0803004F15030023320020FFF7A4BF3D +:10C76000024B034918780022FFF798BE25320020BB +:10C7700075C702002DE9F047DFF8348188B098F8DA +:10C7800000100446FFF74EFE0646002840F0848065 +:10C79000204600F07DFC0828054632D016D808B3A4 +:10C7A00006285BD02846FDF7B9F93D4F3D490246C2 +:10C7B0003D483F1AFF083F0447F001002346FAF7BF +:10C7C00050F929462046FFF75BFF09E043F20203D8 +:10C7D000984205D043F20143984259D01128E1D143 +:10C7E000012546E03146142203A803F0A2FF1123DD +:10C7F00003A88DF80C30ADF80E400126FFF735FF89 +:10C80000EEE70DF10600FFF72CFF354601274FF04C +:10C81000020A0DF10809BDF80630BB421ED90022FC +:10C8200049463846CDE903A9FFF71DFFB0B9BDF869 +:10C8300008303DB942F605255B1B5D425D4101377D +:10C84000BFB2E8E742F602129342F8D101AB03AA65 +:10C85000394620460493FFF702FF30B1204600F02E +:10C86000C1FC00F041FC002503E0BDF80430002BC2 +:10C87000F4D00E4B2A4619782046FFF7EBFD98F8C6 +:10C8800000103246204608B0BDE8F047FFF7E2BD91 +:10C890002046FFF709FFA3E708B0BDE8F08700BF17 +:10C8A000D4080300201603005C0803002532002092 +:10C8B0002632002013B5044600F094FC00236A469B +:10C8C000092101F0E3F8052805D1044B012219786C +:10C8D0002046FFF7BFFD02B010BD00BF213200208F +:10C8E00008B5084B084918780022FFF7D7FD024623 +:10C8F00030B9064B06491878BDE80840FFF7CEBDB1 +:10C9000008BD00BF2432002051C90200213200209E +:10C9100015C9020037B542F6A623ADF800300A4B20 +:10C92000044618680190012501AA69462046ADF821 +:10C930000250FFF790FE28B9044B2A46197820468A +:10C94000FFF788FD03B030BD5E18030020320020E1 +:10C9500070B5012186B006462B48FCF7C4F90446A1 +:10C96000BFF35F8F00284AD1304600F0A1FA1128AA +:10C97000054639D018D8002843D00B2832D0284695 +:10C98000FDF7CCF8214C224902462248241AE4083B +:10C99000240444F001003346FAF763F82946304690 +:10C9A000FFF76EFE00241DE0862803D043F2020349 +:10C9B0009842E3E71422214601A803F0BAFE0723B8 +:10C9C0008DF804301148134B1349ADF80660C01AB6 +:10C9D000C008000440F002003246FAF739F801A816 +:10C9E000FFF743FE224600E001220C4B3046197847 +:10C9F000FFF730FD1CB9BFF35F8F034B1C6006B01F +:10CA000070BD01240246F0E71C320020D408030068 +:10CA1000951603005C080300601603002432002012 +:10CA200038B503780446A3B94088FFF73DFE658812 +:10CA3000284600F01BFB28B1064B01221978284636 +:10CA4000FFF708FD6088FFF735FFBDE83840FFF7C6 +:10CA500047BF38BD2532002037B50378092B04467F +:10CA600030D1427A72BB057A072D1BD0082D2ED00B +:10CA7000012D27D180886A46294601F08DFA08BB2E +:10CA8000019B1B78F3B1A08800F0DAFB4FF6FF732F +:10CA9000984217D0124B2A461978FFF7DBFCFFF7B4 +:10CAA0005FFE0FE0808800F0CBFB4FF6FF739842EB +:10CAB000044607D00B4B01221978FFF7CBFC204628 +:10CAC000FFF7F8FE03B0BDE83040FFF709BF064BA3 +:10CAD00019680129F6D1BFF35F8F1A60F2E700BF32 +:10CAE00025320020243200201C3200202DE9F8439A +:10CAF000FFF78EFCDFF8B090DFF8B08089F8000017 +:10CB0000FFF786FC88F80000FFF782FC1D4F1E4EE1 +:10CB10003870FFF77DFC3070FFF77AFC1B4D1C4C22 +:10CB20002870FFF775FC2070FFF772FC194B187026 +:10CB300099F80030182B11D098F80030182B0DD030 +:10CB40003B78182B0AD03378182B07D02B78182B6A +:10CB500004D02378182B01D018280CD10E4B0F4885 +:10CB60000F49C01AC008000440F00100F9F76CFF3B +:10CB70000320BDE8F8830B4B00201860BFF35F8FE4 +:10CB8000F7E700BF253200202632002021320020A6 +:10CB900020320020223200205C080300D408030069 +:10CBA000D21603001C320020243200202332002041 +:10CBB00037B5134B0022CDE90032124B0D461978E0 +:10CBC0000446FFF747FC1049104B2046002D08BFD4 +:10CBD0000B46019300F006FB0022694600F0C2FFFD +:10CBE00060B1FCF79BFF0A4B0A4902460A481B1A30 +:10CBF000DB081B0443F00200F9F72AFF03B030BD45 +:10CC000001000900213200206418030068180300A5 +:10CC1000D4080300411703005C08030070B50388C3 +:10CC20008488502B86B0054639D00FD8352B49D093 +:10CC3000362B00F08D80584B584918780022FFF7AA +:10CC40002DFC06B0BDE87040FFF78ABD522B22D004 +:10CC5000542BF0D11422002101A803F06AFD122305 +:10CC600020468DF80430ADF8064000F0BBFAADF870 +:10CC7000080000F039FA4A4B204619780022FFF7E5 +:10CC8000E9FB484B204619780022FFF7E3FB01A897 +:10CC9000FFF7EBFCCFE72046FFF706FDCBE7037B72 +:10CCA000012BC8D1827A012AC5D1018942F602132B +:10CCB0009942C0D13C4B20461978FFF7CBFBFFF7D8 +:10CCC0000FFEB8E7394E20463178FFF7ABFB00285E +:10CCD000B1D0002231782046FFF7BCFBEA88B2F5DC +:10CCE000857F0AD072B13248324BC01AC0080004A6 +:10CCF000314940F00200F9F7ABFE00212046FFF772 +:10CD000057FF98E76A89012A09D02948294B2B49FE +:10CD1000C01AC008000440F00200F9F799FEAE897D +:10CD2000012E07D02248234BC01AC0080004324607 +:10CD30002349DEE7E98900222046FFF78EFC002820 +:10CD4000DBD1204B324619782046FFF783FB72E790 +:10CD50001C4E20463178FFF765FB00283FF46BAF8F +:10CD6000317800222046FFF775FBEE8836B1104877 +:10CD7000104BC01AC00800043246B9E7EA89012AFC +:10CD800005D00B480B4BC01AC0080004D0E7297C23 +:10CD9000003918BF0121B1E7233200205DC702002E +:10CDA00026320020253200202432002020320020AC +:10CDB000D40803005C0803009E170300D817030083 +:10CDC0001218030022320020AFDF7047B1DF704736 +:10CDD000B2DF7047B3DF704710B50446808800F0BB +:10CDE0002FFA60802046BDE8104001F0B7BA00007D +:10CDF000F0B5204B204E93E8030089B001AD85E8E3 +:10CE000003004FF6FF773088B84217D0002229463A +:10CE100000F0A8FE044638B31422002103A803F052 +:10CE200088FC3388ADF81030112C07D0862C07D140 +:10CE300007238DF80C3003A8FFF7CEFF09B0F0BD33 +:10CE40002046FCF76BFE0D4D33880D4902460D4818 +:10CE50002D1AED082D0445F00100F9F702FE082314 +:10CE60008DF80C300594E6E7308800F0E8FE30805D +:10CE7000C9E700BF501A030028320020DC08030075 +:10CE80006C1803005C080300044B1A884FF6FF730C +:10CE90009A4201D0FFF7ACBF704700BF2832002094 +:10CEA000024B4FF6FF721A80002070472832002094 +:10CEB0002DE9F04F87B0804600F094F94FF6FF73EC +:10CEC0009842064675D03C4D3C4BED1AED082D04BA +:10CED00045F0010501273A4602AB0821304601F032 +:10CEE0005FF80137BFB2044600285DD1DDF80CB011 +:10CEF000DA464FF003094AF8069B4B460BF1040251 +:10CF000051464046FFF764FF034698BB04AA082138 +:10CF1000304601F041F858B1052814D0FCF7FEFD69 +:10CF20002749024643462846F9F79BFD4B4610E049 +:10CF30000599BBF804308A889A4204D106315046DC +:10CF400003F094FB48B132460821304601F0ECF87A +:10CF50000346184607B0BDE8F08F0821304601F0BF +:10CF600091F828B1FCF7DAFD164903463246DAE7B4 +:10CF70000B23EEE70C2815D0052800D12346082105 +:10CF80003046019301F07EF8019B40B1FCF7C6FDED +:10CF90000C49034632462846F9F763FD0323002C6B +:10CFA00099D1D6E70124EAE7072814BF03460C23EA +:10CFB000CFE743F20203CCE7DC0803005C08030080 +:10CFC000C1180300F91803002DE9F341054600F0EC +:10CFD00009F94FF6FF73984222D100240326274611 +:10CFE0004FF001083346224639462846FFF7EEFE49 +:10CFF00004282BD0082830D00B2828D116F00203A3 +:10D0000019D1E7B9FCB91648164B17491B1ADB08AA +:10D010001B042A4643F00100F9F71AFD0B2019E022 +:10D020006A46082100F0B8FF0028D6D1019B9C88F1 +:10D030001E689F1DD4E701264FF00008D2E70326A3 +:10D040001C461F46F8E703263C46F5E71120B8F1D9 +:10D05000000FE3D002B0BDE8F0810020F7E700BF89 +:10D060005C080300DC080300781903001FB50DF10C +:10D070000703039300F0B6F802AA012100F08CFF29 +:10D0800020B9039B187805B05DF804FB0020FAE78F +:10D0900070B505461048FFF79DFE70B90E4C43F27F +:10D0A000030621884FF6FF722846FFF78DFEB04237 +:10D0B00011D1238801332380F3E7FCF72FFD074BC1 +:10D0C0000749024607481B1ADB081B0443F001000E +:10D0D000F9F7BEFC032070BD2A320020DC080300F3 +:10D0E000F01903005C08030013B5074A044692E8F0 +:10D0F00003006B4683E8030000221946204600F037 +:10D1000031FD02B010BD00BF581A030046DF704762 +:10D11000421E00F10F0312F8010F10B99A42FAD122 +:10D1200070470120704708B570B171B103780A7873 +:10D13000534013F0FE0F08D106220131013003F0F5 +:10D1400095FAB0FA80F0400908BD0020FCE72DE90F +:10D15000F04700F101084F1C06460D4600F1110989 +:10D1600001F1110A10223946404603F07FFA0446C5 +:10D17000D0B94046FFF7CCFF18B13846FFF7C8FFDB +:10D18000044651464846FFF7CEFF737C03F0FC038C +:10D19000042B05D06B7C03F0FC03042B18BF044662 +:10D1A00004F00100BDE8F0870024EAE77FB50546FA +:10D1B0000E4600F0A1FC02AA0DF10601072000F0C6 +:10D1C000A3FC10B94FF6FF7409E0BDF80640B44265 +:10D1D000F1D003992846FFF7BAFF0028EBD020468C +:10D1E00004B070BD132810B5044602D94FF6FF7085 +:10D1F00010BDFFF7A9F80028F8D00A20014B4443DE +:10D20000185BF5E72C320020132838B505460C468C +:10D2100002D943F2020038BDFFF796F80028F8D093 +:10D22000064B0A2000FB0530D0F802302360C3888B +:10D23000A380037AA3710020EDE700BF2C32002009 +:10D240004FF6FF7398422DE9F04105460CD00C4F84 +:10D2500000244FF00A0808FB04F3A6B2DB5BAB42E4 +:10D2600005D00134142CF6D14FF6FF7604E0304699 +:10D27000FFF76AF80028F4D03046BDE8F08100BF1F +:10D280002C320020038843B9821C0A3012F8013B7B +:10D290001BB98242FAD1184670470120704710B579 +:10D2A0000446FFF7EFFF58B122880B889A4208D155 +:10D2B00008220231A01C03F0D9F9B0FA80F040092D +:10D2C00010BD0020FCE730B585B0044600F014FC2A +:10D2D00002AA0DF10601072000F016FC10B94FF666 +:10D2E000FF700FE0039D204605F14601FFF7D7FFD1 +:10D2F00030B905F12A012046FFF7D1FF0028E7D019 +:10D30000BDF8060005B030BD13289FBF0A2358435F +:10D31000014B1952704700BF2C32002038B505462A +:10D32000FFF78EFF0446284600F0B6FE38B9132CEE +:10D3300005D80A235C43024B4FF6FF721A5338BDDF +:10D340002C32002070B58CB014466A460D4600F1B0 +:10D350001003164613F8011D02F8011B9842F9D17B +:10D360000D22002104A803F0E4F92B788DF81F307A +:10D370006B788DF81E303046AB788DF81D30FFF796 +:10D38000C5FE9DF82F3023709DF82E3063709DF8F8 +:10D390002D30A3700CB070BD1FB5034608461A7837 +:10D3A00002F0FE02042A1BD1DA78B3F801108DF8DE +:10D3B00006209A88ADF804109B79ADF80C2003A9DB +:10D3C00002AA8DF80E30FFF7BDFF032202A901A8C3 +:10D3D00003F04CF9B0FA80F0400905B05DF804FBA9 +:10D3E0000020FAE730B50388102B93B04ED1041D0E +:10D3F0000FCC07AD0FC50FCC0FC594E807009DF803 +:10D40000203003F0FE03062B85E8070009D000F06A +:10D4100073FB9DF82030032B4FEA530204D9022AF4 +:10D420003DD04FF6FF7310E002AA0DF10601072070 +:10D4300000F06AFB0028F4D0039908A81131FFF727 +:10D4400072FE0028F0D0BDF80630BDF81C40184828 +:10D450000A226243811883529DF8262008980A7296 +:10D460004FF6FF72C1F802009342BDF82400C88055 +:10D470000CD0ADF80C3002A80023ADF80A408DF8AE +:10D48000083000F06DFF02A8FFF7CAFA13B030BDF4 +:10D49000039908A80131FFF77FFF0028D3D102AA22 +:10D4A0000DF10601072000F02FFB0028F0D1B8E7AE +:10D4B0002C32002090DF7047A5DF7047B5DF704742 +:10D4C0007FB50023ADF80810ADF80A106A4602A92E +:10D4D0000646ADF80C30ADF80E300093ADF80430D0 +:10D4E000FFF7E8FF054600B3114B124CE41AE408BD +:10D4F000FCF714FB240444F0010403460E493246B1 +:10D500002046F9F7AEFABDF80020BDF8023052EA25 +:10D51000030103D009492046F9F7A3FABDF8042016 +:10D520001AB107492046F9F793FA284604B070BDAE +:10D530005C080300A4080300781A0300C21A030061 +:10D54000011B030078B14FF0171303601B23037115 +:10D550001723C380038141F61B32002301614381FD +:10D560008281184670470E207047000013B50346AD +:10D5700080880C46B8B91A88242A00F09B8014D8F9 +:10D58000112A74D0232A00F0A680102A3ED0A37A54 +:10D590004BB1E1880020FFF78FFF002840F0A18009 +:10D5A0004FF48073638102B010BD3A2A67D0552AC8 +:10D5B000EDD1DB88C988A072172B38BF17238B42A7 +:10D5C00028BF0B462381FFF779FF60B1FCF7A6FA6D +:10D5D0004D4B4E4902464E481B1ADB081B0443F0D4 +:10D5E0000100F9F735FAE27A002AD0D12369002B3D +:10D5F000CDD040F67721ADF802202289ADF8001099 +:10D60000ADF80420694620469847C0E7DB7B0A79DD +:10D610000A73012B13D0022B14D0E18823898B428B +:10D6200005D20020FFF748FF70B90123E372217B88 +:10D63000637B8B42ABD20020FFF742FFA7E70B884A +:10D64000E380EAE74B88FBE7112802D10123A372AC +:10D65000EDE7FCF763FA2C4B2E4902462C481B1AC7 +:10D66000DB081B0443F00100F9F7F2F9DFE71723A9 +:10D67000CB800B8141F61B3348818B8187E75B8927 +:10D68000CA88934228BF1346172B0A6938BF17234D +:10D690000B8162B1C97A51B140F67721ADF8001023 +:10D6A000ADF80200ADF804306946204690470023EB +:10D6B00063816CE71A7A0B694A73002B3FF467AFFA +:10D6C0004DF67A218DF80500ADF80010ADF8020096 +:10D6D0008DF8042096E7197A237B994228BF1946D2 +:10D6E000AAE711283FF45FAFFCF718FA064B094987 +:10D6F000024607481B1ADB081B0443F0010002B076 +:10D70000BDE81040F9F7A4B9A4080300881B030082 +:10D710005C080300571B0300B0DF704766DF7047EB +:10D7200010B5002104464088FFF7F8FF034608B90A +:10D73000237210BD112801D10123F9E76368BDE808 +:10D740001040184760B159B10378DE2B0AD00B683E +:10D750004360DE2303704FF6FF7343800020704761 +:10D760000E2070470820704728B10378DE2B04D1C3 +:10D770004180002070470E20704708207047F0B5A8 +:10D78000054685B00C46002942D0002840D00B78D1 +:10D79000DE2B3DD182884B889A4204D10B7A13B19B +:10D7A0000846FFF7BDFF2B88112B33D0512B0FD02C +:10D7B000012B2DD12B7A012B2AD1A9886288914285 +:10D7C00026D12046237205B0BDE8F040FFF7A8BF80 +:10D7D000AE886388B3421BD1AF79022F18D1AD7BDD +:10D7E0002B1F022B14D800211022684602F0A1FF43 +:10D7F000052D18BF4FF4C0736946304618BFADF809 +:10D8000004308DF80070FFF787FF08B16368984710 +:10D8100005B0F0BD6388AA889A4204BF4FF6FF7333 +:10D820006380F5E7012804D0043805288CBF002068 +:10D83000012070474FF6FF73438000F0DBBA000011 +:10D840002DE9F041264F00238AB04FF6FF70CDE955 +:10D8500000333B7000F01CFD4FF6FF78044648F2A1 +:10D860000966444513D0A4F58045ADB26A4602A9C5 +:10D870002846FBF7A1F8B0420CD02846FBF734F855 +:10D8800048F20763984206460CD101233B700AB068 +:10D89000BDE8F081204600F09DFC204600F0F8FC39 +:10D8A0000446DEE7002EF2D00E480F4D0F492D1A28 +:10D8B000ED082D042346324645F00100F9F7D1F872 +:10D8C000142200210DEB020002F033FF082305A80B +:10D8D0008DF81430ADF818400796FFF7ABFFD6E788 +:10D8E000FC3200205C080300FC080300C41B03009A +:10D8F00070B5044686B014263246002101A802F015 +:10D9000018FFA0892378304D00F5804080B2042BA9 +:10D91000ADF808003CD008D85A1E022A11D92B783D +:10D920000BB1FFF78DFF06B070BD052BF7D1636813 +:10D93000002B43D18DF804604FF6FF73ADF808302B +:10D940001DE043F6FE76B042E18904D901F580423C +:10D9500092B2B242E3D8DA1E534253418DF80D30F1 +:10D96000A368049363688DF80C1063B909238DF8DC +:10D9700004309DF8143043F001038DF8143001A8F1 +:10D98000FFF758FFCBE70A228DF804200593F6E74E +:10D9900043F6FE739842C2D8E389002BBFD1636877 +:10D9A0003BB90B238DF8043000F014FC01232B70DD +:10D9B000E5E70C228DF804200393F7E715228DF894 +:10D9C00004200393B8E700BFFC32002007B5002312 +:10D9D000A1F58041A0F58040CDE9003389B26B46C6 +:10D9E00080B2FAF7CFFF002818BF052003B05DF81A +:10D9F00004FB000030B5204889B0FAF7EFFD70B1A4 +:10DA00001E4A1F4B1F499B1ADB081B04024643F0AA +:10DA10000100F9F71DF80324204609B030BDFAF7DC +:10DA2000F3FD044660B1154B15481749C01AC008EC +:10DA30000004224640F00100F9F70AF88624EBE7DB +:10DA400000F0A8FBCDE9034403AA05A94CF20700A6 +:10DA5000FAF7A5FF0028DFD101A905A8FAF7EEFE25 +:10DA6000019B9D8805F58045ADB205A8FAF70CFF2E +:10DA7000284600F097FBE7E7F1D802005C080300B6 +:10DA8000FC080300101C0300521C0300F0B5FF2823 +:10DA900087B004460E4615461F462BD80846FFF7AA +:10DAA000C1FE38B303AA2046FFF790FF18B1052442 +:10DAB000204607B0F0BD01A903A8FAF7BFFE04464F +:10DAC0000028F4D1019BAE705E8802992E8027B9A0 +:10DAD000696003A8FAF7D8FEEAE73F686868B6000D +:10DAE000B74228BF37463A4602F0FAFDBE42F0D9A7 +:10DAF0000C24DDE70724DBE7024B0022C3E9002208 +:10DB0000704700BFF4320020F0B587B00646FFF73B +:10DB100089FE0F4615460446F8B1A6F58040104A26 +:10DB200003A980B2FAF73BFF18B10024204607B0E2 +:10DB3000F0BD01A903A8FAF781FE0028F5D1019BE9 +:10DB4000AE705A889B882A8003F58043029A6A60E7 +:10DB500003A83B80FAF798FEE8E70124E6E700BF58 +:10DB6000F432002070B5FF2886B006460B461546F5 +:10DB70004AD889780846FFF755FE002844D0A6F514 +:10DB80008042ADF80020A1F58042ADF802205A682D +:10DB900001921B88029303AA3046FFF717FF05285E +:10DBA000694603A812D1FAF793FE0446A8B1A0F57E +:10DBB0000643023B0B2B19D80B2B17D8DFE803F0D9 +:10DBC000141616160926161616161626FAF784FEC9 +:10DBD000EBE78624204606B070BD002DFAD029461A +:10DBE00003A8FAF7F6FEF5E71024F3E70848094D15 +:10DBF00009492D1AED082D042246334645F001004F +:10DC0000F8F72FFF0324E5E70724E3E71124E1E712 +:10DC10005C080300FC080300901C03004FF6FF7033 +:10DC200000F0C0BAFF2808B505D800F0C1FAFFF728 +:10DC300007FE002008BD0720FCE700F0E1BA00F075 +:10DC40000DBB00F025BB00000A68084B70B50C2521 +:10DC5000032A01D9002006E005FB02F4E65A8642B9 +:10DC600002D10A60181970BD0132F1E75434002066 +:10DC700037B500230D460446019301A9FFF7E4FFE1 +:10DC800038B18378AB4206D1837A9B0703D14368CE +:10DC90000BB903B030BD019B0133019301A92046AC +:10DCA000ECE710B5044600F00FFD204601F072FFCE +:10DCB0002046FFF7E9F82046BDE81040FEF7CCBE4D +:10DCC00070B50E4E04460025237AAB420DD84FF6B0 +:10DCD000FF732380A370002363604FF47F4323818D +:10DCE000A37A23F00303A37270BD617A2944C9B2F9 +:10DCF000304601F034F90135E6E700BF4434002036 +:10DD000037B50023CDE90033417A83788DF80230AE +:10DD10000446324801F00AF960B93148314B627A61 +:10DD20003149C01AC008000440F00100F8F790FE25 +:10DD3000032046E0237AA2788DF8022003EB8303C8 +:10DD40009B00ADF80030531E0190072B08D8DFE888 +:10DD500003F022070707072204241423ADF800303C +:10DD60002246694632F8040BFFF7FCFE11282AD040 +:10DD700017D810B3072824D0FBF7D0FE184D2388FE +:10DD80001A49024617482D1AED082D0445F00100E6 +:10DD9000F8F767FECCE70123E0E7838809339B08A7 +:10DDA000DCE78628E8D1A37A23F0030343F00103DC +:10DDB000A3720F4B01221A7003E0A37A23F003032E +:10DDC000A37203B030BDA37A23F0030343F0020330 +:10DDD000A372074B01221A700020F2E7443400209E +:10DDE000F40803005C080300F71C0300371D030060 +:10DDF000403400202DE9F0473E4FC16886B005460B +:10DE00003A4600233E46506881421BD10C2000FB5D +:10DE100003602B78DFF8EC800A2B1AD0142B4AD041 +:10DE2000092B4AD16C7A002C47D1002847D0FFF744 +:10DE300047FF2846FFF735FF98F800308BB906B04A +:10DE4000BDE8F0870133042B02F10C02DBD1002086 +:10DE5000DFE76C7A8CBB90B3837A446043F00203B3 +:10DE60008372002588F800504FF00C094FF0010A2A +:10DE700009FB05639B7A9907C3F3400201D4DB07D2 +:10DE800032D588F800A002B974B33846FFF738FFDE +:10DE900050B34FF6FF72ADF806200C22554386288A +:10DEA000725BADF808200CD107238DF8043001A86F +:10DEB000FFF7F7FEC3E70124BBE70024B9E70446F8 +:10DEC000B7E708228DF804200390FBF727FE0A4CE1 +:10DED000735B0A4902460A48241AE408240444F001 +:10DEE0000100F8F7BEFDE2E70135042D07F10C074C +:10DEF000BED1A4E754340020F4080300661D0300DB +:10DF00005C080300403400201C4BF7B500221E467D +:10DF10004FF6FF754FF0FF0C0C27104607FB02640D +:10DF20001D809D7083F809C0A17A013221F00301A0 +:10DF3000042AA17203F10C0303F8040C43F8080C43 +:10DF4000ECD15023CDE900230D490E4B0E484FF480 +:10DF5000A07200F0D7FF034668B1FBF7DFFD0B4B63 +:10DF60000B4902460B481B1ADB081B0443F0010057 +:10DF7000F8F76EFD0323184603B0F0BD54340020BB +:10DF8000003300208434002044340020F4080300CF +:10DF9000C61D03005C0803000023FFF777BD0000E7 +:10DFA0002DE9F04180460E4614461F46002B5DD0F9 +:10DFB000CB1F012B5CD8531E032B59D8FFF758FEFB +:10DFC000054610BBFF214FF6FF70FFF751FE0546D7 +:10DFD000C8B1A0F8008086706B7AFF2B1AD1254853 +:10DFE000214600F0D4FFFF28687229D14FF6FF7355 +:10DFF0002B8000236B604FF47F432B81AB7AA8709A +:10E0000023F00303AB72112018E0037AA342E3D09C +:10E010000F2013E04FF00008697A16482C7200F0C8 +:10E0200085FF80B9144B15486A7A1549C01AC00893 +:10E03000000440F00100F8F70BFD0320BDE8F0817B +:10E040004FF00108E8E704EB840424010334C4F32F +:10E050008D04BE7078603C80B8F1000F04D0082EAB +:10E0600002D1A400063C84800020E7E70E20E5E70B +:10E070000720E3E7443400205C080300F4080300B1 +:10E08000E41D030008B5FFF7F3FD18B1FFF718FE14 +:10E09000002008BD0520FCE77FB50023054603935B +:10E0A00003A9FFF7D1FD0446A8B92846FFF7BAFD3A +:10E0B000014640B3072826D0FBF730FD164C174920 +:10E0C00003461748241AE40824042A4644F00100B1 +:10E0D000F8F7C7FC16E0A1782846FFF7D3FFA8B1F0 +:10E0E000052813D0FBF71AFD0B4EA37800930246C8 +:10E0F0000B480C49361AF60836042B4646F0010048 +:10E10000F8F7B9FC0321084604B070BD039B013346 +:10E11000039303A92846C4E7F4080300AE1E0300D6 +:10E120005C080300581E0300CB1F012B70B5064688 +:10E130000C46154601D9072070BD1046FFF77DFD3E +:10E140000028F8D021463046FFF792FD28B18470B0 +:10E150000580BDE87040FFF7D3BD0520ECE710B5A2 +:10E160004FF6FF7304469C4208460AD14FF4807173 +:10E17000FAF78CFD84B2B4F5807F09D14FF6FF74B5 +:10E1800006E0FF2CFAD82146FAF75FFD0028F5D10A +:10E19000204610BD02484022002102F0CABA00BF4A +:10E1A000883400200149FFF7DABF00BF883400201F +:10E1B0004FF6FF73984210B5044606D00449FFF7A6 +:10E1C000CEFF231A5842584110BD0020FCE700BF83 +:10E1D000A8340020FF2807B501460AD80190064858 +:10E1E000FAF741FD0199054803B05DF804EBFAF731 +:10E1F0003ABD03B05DF804FB88340020A834002049 +:10E20000FF28014602D80248FAF737BD00207047C0 +:10E2100088340020FF28014602D80248FAF72DBDB5 +:10E2200000207047A83400204FF6FF73984270B565 +:10E2300018BF441C0E4614BFA4B20024A5B2FF2D83 +:10E2400002D94FF6FF7506E021463046FAF715FD74 +:10E2500001340028F2D0284670BD000070B50B498B +:10E260000A4EFFF7E1FF4FF6FF750446AC4201D1BD +:10E27000204670BD2046FFF7CDFF0028F8D020468D +:10E280003146FFF7D1FF0446F0E700BF8834002095 +:10E290000149FFF7C9BF00BFA8340020F8B5074DFA +:10E2A000074E074600243378A34200DCF8BD55F83A +:10E2B000043B384698470134F5E700BFD0340020CE +:10E2C000DF34002070B5204B1B7886B00446002B4D +:10E2D00037D0038885881D4E102B2DD100211422A4 +:10E2E00001A88DF8031002F024FA01238DF8043000 +:10E2F0004FF6FF73ADF8083004F10803039301A84B +:10E300000DF103030493ADF80650FFF7C7FF28464D +:10E310009DF803203178FEF79DF89DF8030080B941 +:10E320002046FFF75FF8204601F082FC204606B049 +:10E33000BDE87040FEF772BC31782846FEF772F8EF +:10E34000EDE706B070BD00BFDE340020462300209C +:10E3500008B1FFF7A3BF7047FFF7A0BFFFF79EBF4D +:10E36000FFF79CBF10B5FFF745FB80B1FBF7D6FB6D +:10E37000324C334A334903463348241AE408240410 +:10E3800044F00100F8F76DFB0324204610BDFFF7B1 +:10E39000BBFD50B1FBF7C2FB284C294A2B49034671 +:10E3A0002948241AE4082404EAE701F013FC50B1D8 +:10E3B000FBF7B4FB214C224A254903462248241A84 +:10E3C000E4082404DCE700F015FF50B1FBF7A6FBDE +:10E3D0001A4C1B4A1F4903461B48241AE40824040C +:10E3E000CEE7FEF783FB50B1FBF798FB134C144AC2 +:10E3F000194903461448241AE4082404C0E7FEF728 +:10E400004FFD044650B1FBF789FB0C4C0C4A1349F5 +:10E4100003460D48241AE4082404B1E7104B4FF6D4 +:10E42000FF721A800F4B18600F4B18700F4B0122B0 +:10E430001A70FDF7EDFF0E4B1870A6E7CC0803002D +:10E4400004210300111F03005C0803003B1F0300AD +:10E45000651F03008E1F0300B81F0300E21F0300A7 +:10E46000DC340020E4340020E0340020DE340020DE +:10E4700046230020084B1B7853B1084A1378022B1F +:10E4800008D8074941F82300013313700020704772 +:10E490000820704704207047DE340020DF3400205D +:10E4A000D0340020034B1B780BB101F0DBBB0820FC +:10E4B000704700BFDE34002008B5054B1B782BB138 +:10E4C00001F0EEFB082808BF112008BD0820FCE77A +:10E4D000DE340020034B1B780BB101F0B9BA0820E1 +:10E4E000704700BFDE340020034B1B780BB1FEF7F2 +:10E4F00015BF0820704700BFDE340020F0B5224B66 +:10E500001B7889B0002B3CD0204F01234FF6FF70C1 +:10E510003B70FFF794FB4FF6FF76B042044619D1EB +:10E5200000251422294603A83D7002F002F90D23AC +:10E5300003A88DF80C30ADF81040ADF80E40FFF791 +:10E54000ADFE284609B0F0BD2046FFF778FBB0428B +:10E550000446F6D02046FFF7C7FF05460028F3D053 +:10E56000FBF7DCFA0A4D0B4A0B49009403460B48B3 +:10E570002D1AED082D0445F00100F8F77CFA03256B +:10E58000DFE70825DDE700BFDE340020CC340020C3 +:10E59000CC080300F42003000D2003005C080300F6 +:10E5A0002DE9F04F87B081460193334B1B788846A5 +:10E5B0001646002B5ED04FF6FF70FFF740FB00259C +:10E5C0000423CDE9025302AB059304AA03AB062151 +:10E5D00004460495FFF75AFA072849D04FF6FF770B +:10E5E000BB464FF0FF3AF0B1052825D04FF6FF7338 +:10E5F0009C422DD1A34529D0A7420CBF0520002065 +:10E60000B9F1000F01D0A9F800B0B8F1000F01D0A6 +:10E61000C8F8005006B13780019B0BB1C3F800A0C9 +:10E6200007B0BDE8F08F029BAB4224BFA3461D4656 +:10E6300053453CBF27469A462046FFF700FB03ABF5 +:10E6400004AA06210446FFF721FACCE70520D7E704 +:10E65000FBF764FA094D0A4902460A482D1AED08EB +:10E660002D0445F001002346F8F7FBF90320D7E716 +:10E670000520D5E70820D3E7DE340020CC080300CE +:10E68000552003005C08030038B50C4C0C4D0023EA +:10E690001A4621462846FFF783FF05280AD14FF680 +:10E6A000FF732B8000232360431F58425841054BC2 +:10E6B000187038BD0028F7D10120F8E7C8340020D1 +:10E6C000DC340020E0340020F0B5044687B08088B8 +:10E6D000FEF7B6FD23786080093B032B20D8DFE8E6 +:10E6E00003F002253569637A5BB9414A116851B17B +:10E6F000E068814207D113603E4AA1881180E3603F +:10E700000EE0012B0CD13C4B1B784BB1394BA2884E +:10E710001B889A4204D1237A062B01D1FFF7B4FF5C +:10E72000204607B0BDE8F040FFF7B8BD637A002B84 +:10E73000F6D12F4A11680029F2D0E0688142EFD16A +:10E740002E4913600A68013A0A60D8E72C4F3B78DB +:10E750006BB90125284B1B7833B1264BA2881B8847 +:10E760009A4201D1FFF790FF002D3ED0D8E74FF637 +:10E77000FF70FFF764FA4FF6FF7398420546E8D141 +:10E78000FFF75FFAA8420646E3D100251422294686 +:10E7900001A83D7001F0CDFF0D2320468DF8043017 +:10E7A000ADF80860ADF80660FFF778FD01A8FFF747 +:10E7B00075FDCFE7124B1A78002AB1D00021142240 +:10E7C00001A8197001F0B5FF0E238DF804304FF643 +:10E7D000FF73ADF80830ADF806302046A368039308 +:10E7E000FFF75CFD01A8FFF759FD07B0F0BD00BFC2 +:10E7F000E4340020DC340020E0340020C834002061 +:10E80000CC3400202DE9F041374B1B7888B0054609 +:10E81000002B65D0354B364C93E80300237801AFCD +:10E8200087E803004BB1DFF8D480D8F8004054B13A +:10E830001124204608B0BDE8F081FFF725FF2378BA +:10E84000002BF5D0EFE72B4A2B4E12883368AA42F3 +:10E850001DD1F3B11422214603A801F06AFF092358 +:10E8600028468DF80C30FEF7EBFC0623ADF814308B +:10E870009DF81C30ADF80E0064F3000303A8ADF85A +:10E88000105006948DF81C30FFF708FDD1E75A1C94 +:10E8900028D00133194A336039462846FFF762F918 +:10E8A00004460028C5D00023C8F80030336811287A +:10E8B00003F1FF333360BBD08628BAD00728B8D025 +:10E8C000FBF72CF90E4C0F4902460F48241AE408B6 +:10E8D000240444F001002B46F8F7C3F80324A8E70A +:10E8E0000824A6E71324A4E7DE340020EC2003006C +:10E8F000E0340020DC340020C8340020E434002060 +:10E90000CC0803009D2003005C08030076DF7047FD +:10E9100073B5054669B901A9FFF7DCFD43F20202B0 +:10E92000904202D008B1F8F79FFD9DF804309B0794 +:10E9300048D400212846FFF7BFFD0646002841D0F5 +:10E9400011283FD0204C214BE41AE4080D284FEA4F +:10E95000044416D144F002041D4920462A46F8F723 +:10E9600077F813212846FFF7D1FF58B3FBF7D6F805 +:10E97000184902462B46204602B0BDE87040F8F721 +:10E9800070B80B2808D114492A4644F0020002B09E +:10E99000BDE87040F8F75CB843F20203984202D138 +:10E9A0000E492A46F1E7FBF7B9F80D4902462B4616 +:10E9B00044F00100F8F755F8304602B0BDE8704069 +:10E9C000F8F752BD02B070BDE40803005C08030014 +:10E9D0000C2103007D210300B42103001222030057 +:10E9E0005C2203002DE9F0410378152B86B0044624 +:10E9F00004D8062B05D84BB3032B4DD006B0BDE889 +:10EA0000F081073B0E2BF9D801A252F823F000BF8A +:10EA1000B7EA0200FDE902006BEB0200FDE902002B +:10EA20006BEB0200FDE90200FDE90200FDE90200D6 +:10EA3000FDE90200FDE90200FDE90200FDE9020036 +:10EA4000FDE9020073EB0200BFEB02008088FFF7D4 +:10EA5000D9FE862801D0112813D16049604A0B687D +:10EA6000A08822F8130001335A4202F0070203F093 +:10EA7000070358BF53420B6006B0BDE8F04100F0F9 +:10EA8000C3B8132803D8574BC340DB07B6D406B02E +:10EA9000BDE8F041F8F7E8BC037A012BAED88488D2 +:10EAA0001422002101A801F044FE01A8ADF808409D +:10EAB000FFF798FFA2E74C4E3378002B9ED14B4BCB +:10EAC0004B4D4C4F4C49ED1AED082D0445F0030811 +:10EAD0004046F7F7B9FF3B78002B3AD101A8F9F788 +:10EAE00081FF044608B1F8F7BFFCBDF80A30002BDF +:10EAF00014BF012200223A7028D101AA19461846F3 +:10EB0000FFF74EFD044678B9BDF804203B49404666 +:10EB1000F7F79EFFBDF80400FFF7E6FC044608B1D6 +:10EB2000F8F7A2FC01233B70052C05D1344945F0D0 +:10EB30000100F7F789FF61E7062C03D1314945F061 +:10EB40000200F6E72CB12046F8F78EFC002C7FF48B +:10EB500055AFF9F7F1FE10B9012333704EE748F2D3 +:10EB6000076290423FF44AAF91E7224B01221A70AC +:10EB700044E71D4B1A4D00241C701E4B1C70174B94 +:10EB80001F684FF6FF76E3195A4202F0070203F0BE +:10EB9000070358BF534235F81380B0450BD025F812 +:10EBA00013601422002101A801F0C3FD01A8ADF8F3 +:10EBB0000880FFF717FF0134082CE4D11EE70A4B49 +:10EBC00000221A70836848F20D6293423FF454AFFA +:10EBD000B3F5064F7FF412AF4EE700BFEC340020D0 +:10EBE00048230020C1000800E83400205C0803002E +:10EBF000E40803004723002097220300B222030009 +:10EC0000DC220300FA2203007FB51422002101A8B0 +:10EC100001F08FFD072301A88DF80430FFF7E2FE15 +:10EC200007B05DF804FB000030B5027885B00446FB +:10EC3000152A00F2E780DFE812F02C002C002C00EF +:10EC400016002E002C002C004700540061007C00B0 +:10EC50009700A500B900C2002C00CD002C002C00AC +:10EC60002C002C00D80040886B4DFDF777FB6B4BD8 +:10EC7000227A6B49ED1A6B4BED0853F822306A4A41 +:10EC800000932D0452F82020638845F00300F7F725 +:10EC9000F2FE05B030BD40885F4DFDF75FFB5F4B76 +:10ECA0006249ED1A63890193227A5E4B53F8223050 +:10ECB00000935D4A638852F82020ED082D0445F04A +:10ECC0000300F7F7E4FEE4E75348544B5849C01AF1 +:10ECD000C008000440F0020005B0BDE83040F7F77E +:10ECE000B3BE8068FAF71AFF4B4B524902464B48B5 +:10ECF0001B1ADB081B0443F001003EE0474B46486B +:10ED0000617A4D4D227AC01A4C4B53F82110237C66 +:10ED100013F0010F4A4B18BF2B46CDE90013C00872 +:10ED2000484B494953F82230A288000440F00300C0 +:10ED3000C7E7017A434B828853F82130407A3F4934 +:10ED4000039251F8205020690293334CFAF7E6FE03 +:10ED50003249641AE4082404CDE90050DDE90232A6 +:10ED60003A4944F00200ACE72B482C4BA2883849C2 +:10ED7000C01AC008000440F0010005B0BDE83040F2 +:10ED8000F7F766BE828880680292FAF7C7FE224CC7 +:10ED9000029A304903462148241AE408240444F026 +:10EDA000010005B0BDE83040F7F75BBE1A481B4BC9 +:10EDB0002949C01AC008000440F003008CE78068AD +:10EDC000FAF7ACFE144B2549024614481B1ADB081F +:10EDD0001B0490E7114B104862882149C01AC008F3 +:10EDE0000004A38840F00200DBE78068FAF796FE93 +:10EDF000094B1C49024609481B1ADB081B0443F057 +:10EE00000200BAE70448054B1749C01AC0080004BD +:10EE100040F00200B1E700BFE40803005C08030013 +:10EE20003923030004270300F82603007623030098 +:10EE3000C8230300DE2303000B0A0300C8260300D7 +:10EE400009240300D02603001524030058240300DE +:10EE5000A2240300C9240300F624030009250300AB +:10EE60002D250300692503009825030010B50446ED +:10EE7000FFF7DAFE217821B96088BDE81040FFF77E +:10EE800047BD08290FD10848084B09491B1ADB0860 +:10EE90001B0443F00100F7F7D7FDA06818B1BDE8E7 +:10EEA0001040F8F7E1BA10BD5C080300E408030065 +:10EEB000B625030010B50378042B04461AD10E487A +:10EEC0000E4B62880E491B1ADB081B0443F002003C +:10EED000F7F7BEFD60881321FFF718FD43F2020229 +:10EEE0009042034606D033F0080303D0BDE810403B +:10EEF000F8F7BABA10BD00BF5C080300E4080300CD +:10EF00005F21030070B5DDE9045468B161B15BB104 +:10EF100004FB05F6964207D835B12CB1C0E90013C1 +:10EF2000C0E90254002070BD0720FCE738B50D464B +:10EF3000044608B9002038BD0368002BFAD04068A9 +:10EF40000028F7D0FF29F5D0BFF35F8FF9F795FEC2 +:10EF50000028EFD0E068236800FB0530EBE738B508 +:10EF60000D46044690B1036883B1406870B1FF2933 +:10EF70000CD0BFF35F8FF9F780FE38B16068BFF344 +:10EF80005F8F2946BDE83840F9F76DBE38BD2DE9E1 +:10EF9000F0418846064618B9FF242046BDE8F081B6 +:10EFA0000368002BF8D04368002BF5D00027FF241E +:10EFB000B368FDB2AB42EFD970682946F9F745FE58 +:10EFC000BFF35F8F40B9FF2C08BF2C462D1B0135C6 +:10EFD0004545E2D00137EBE7FF2C07D1FF24F9E7E5 +:10EFE00021463046FFF7BBFF0134E4B2AC42F7D311 +:10EFF000F4E77EDF70477FDF704786DF704710B52C +:10F000000378182B044602D1FDF702FA207010BDD8 +:10F0100010B504464088FEF7E5F8A0802046BDE81C +:10F02000104000F079BD10B586B0044614220021CE +:10F0300001A801F07EFB052301A88DF80430ADF88E +:10F040000640FFF7E5FF06B010BD30B587B00546B6 +:10F050000C461422002101A801F06BFB082301A833 +:10F060008DF80430ADF806500394FFF7D1FF07B0D8 +:10F0700030BD0000F0B587B004460F4616460021AB +:10F08000142201A81D4601F054FB04238DF804301E +:10F09000094BADF8064019788DF80C700022204617 +:10F0A000ADF80E608DF81050FDF7D4F901A8FFF708 +:10F0B000AFFF07B0F0BD00BF592300207FB5032389 +:10F0C0008DF804300388ADF8063043798DF80D10C3 +:10F0D00013F0040F14BF0123022301A88DF80C3094 +:10F0E000FFF796FF07B05DF804FB000030B5144B46 +:10F0F00087B00C46012219780546FDF7ABF9114B94 +:10F10000221E1978284618BF0122FDF7A3F9631EB5 +:10F110005A425A410C4B28461978FDF79BF91422A4 +:10F12000002101A801F005FB022301A88DF804309D +:10F13000ADF806508DF80C40FFF76AFF07B030BD00 +:10F14000592300205B2300205A2300202DE9F0479B +:10F15000224B0F46197804469046FDF763F90028C4 +:10F1600039D01F4B20461978FDF75CF9014678B37A +:10F170001C4B20461978FDF755F9002804F58070DE +:10F180004FF0070180B214BF4FF001094FF00209A0 +:10F19000FEF778FF064698B1052811D0FAF7BEFCB5 +:10F1A000114D1249024612482D1AED082D0445F062 +:10F1B00001002346F7F755FC31462046FFF745FF8F +:10F1C00043463A4649462046BDE8F047FFF752BF5E +:10F1D00043463A46F7E7BDE8F08700BF59230020D1 +:10F1E0005B2300205A2300200C0903001027030092 +:10F1F0005C080300F8B5154F154E164D164C3846F1 +:10F20000FFF7FDFE3046FFF7FAFE2846FFF7F7FE50 +:10F210002046FFF7F4FE3B78182B08D03378182BE4 +:10F2200005D02B78182B02D02378182B0BD10B4B41 +:10F230000B480C49C01AC008000440F00100F7F761 +:10F2400003FC0320F8BD0020FCE700BF5923002089 +:10F250005B2300205A230020582300205C08030071 +:10F260000C090300D21603002DE9F0418AB00D46C7 +:10F2700090460446FDF772F820220646002102A8B7 +:10F2800001F057FA012E08D1424B0022197820468E +:10F29000FDF7E0F835B9852716E0002EFAD143F2E4 +:10F2A00002014AE02046FDF79DFF4FF6FF739842AA +:10F2B00012D100272B78DB0722D4374BCDF81480EE +:10F2C0000993012E18BF0025394602AB2A46204675 +:10F2D000FFF791FE014630E0012EEAD12D4F204686 +:10F2E0003978FDF79FF80028E3D12046FFF79BFE11 +:10F2F00039782046FDF796F80028DAD18527D9E736 +:10F30000852FDED004F5807007216B46012280B284 +:10F31000FEF746FE112801460FD090B1FAF7FEFB2A +:10F320001E4D1F4902461F482D1AED082D04234685 +:10F3300045F00100F7F795FB032108460AB0BDE848 +:10F34000F0810198502201F0F4F901990B46204612 +:10F3500003F8346B029301F1180306934B1C0793D7 +:10F3600011310D4BCDF814800993FDF74DFF0028A6 +:10F37000A7D0FAF7D3FB094D0B49024609482D1ACD +:10F38000ED082D04234645F00200F7F76AFB08213B +:10F39000D3E700BF58230020F03400200C090300FD +:10F3A000792703005C080300DB27030038B5054616 +:10F3B0000C46FCF7D3FF012808D154B1214628465A +:10F3C000FFF717FE042808BF112038BD43F20200E2 +:10F3D000FBE72046F9E700002DE9F0470388113BE1 +:10F3E0008AB00446092B65D8DFE813F00A006400F0 +:10F3F00019003A006400640064006400A600530130 +:10F40000037A80883D2B41F23D014FF0000218BF86 +:10F410004FF488510AB0BDE8F047FFF797BE8088E7 +:10F42000FCF79CFF012808D1217AA08801F0010196 +:10F43000C1F10201C9B2FFF759FE34F8045F14228A +:10F4400000210DEB020001F074F9043406238DF85D +:10F450001430ADF81650079405A8FFF7D9FD29E040 +:10F4600000F110073846FDF72EFF4FF6FF73984264 +:10F470000546A08821D1FDF7B5FE0546A0880021EC +:10F48000FFF734FE4FF6FF739D421AD1002600238A +:10F49000A0881A463146FFF7B0FD0828074629D153 +:10F4A00099489A4B9A49C01AC008000440F00200DB +:10F4B000F7F7CAFA0AB0BDE8F0872946FDF724FF3E +:10F4C000DCE705AA07212846FEF766FD0028DDD106 +:10F4D000A37ED907DAD5069E96F84430DA0701D51F +:10F4E0003436D4E7394606F14600FDF7D8FE002849 +:10F4F000F6D1CBE798B1FAF711FB834E009502469F +:10F500008248A3888349361AF608360446F001007B +:10F51000F7F7B1FAA0883946FFF797FDCAE7A37E4F +:10F52000DB07C7D5002EC5D1A088334641F20602BD +:10F530003146FFF79FFDBDE790F808808588B8F158 +:10F54000000F40F0A080744B061D197842462846F3 +:10F55000FCF780FF617A11F0040105D130460AB052 +:10F56000BDE8F047FFF7AABD05F580791FFA89F9D4 +:10F5700003AB012207214846FEF712FD0746B0B152 +:10F58000FAF7CCFA604C654902466048241AE40850 +:10F5900024042B4644F00100F7F763FA3946284665 +:10F5A000FFF753FD41463046FFF788FD82E72846C6 +:10F5B000FDF718FE4FF6FF7398420446824630D19D +:10F5C00001460498FDF7F2FD50450446804600F0E0 +:10F5D0008580DFF858A101462846FDF795FE9AF888 +:10F5E00000102846FCF71EFF8046D0B92846FFF7DA +:10F5F0001AFD9AF800102846FCF714FF014600286F +:10F60000D1D0484622460721FEF78EFD814650B9EB +:10F610000121C8E721462846FDF776FE4FF0010894 +:10F62000EFE7B846EDE786280ED1142200210DEB56 +:10F63000020001F07EF8072305A88DF81430ADF81C +:10F640001650FFF7E5FCE3E7FAF768FA2E4F344966 +:10F65000009402462D483F1AFF083F042B4647F00E +:10F660000100F7F708FA49462846FFF7EEFC0021AB +:10F670003046FFF723FDB8F1000F3FF41BAF2046E3 +:10F68000FDF74CFE16E7427A414602F00302284697 +:10F69000C0E6244B80881978FCF7C4FE0546002894 +:10F6A0007FF408AFA088FCF77DFE0146A08839B939 +:10F6B000012341F206020AB0BDE8F047FFF7DABCC9 +:10F6C000154B2A461978FCF7C5FE03238DF8143034 +:10F6D000A388ADF81630ADF81C50BDE6FEF79EFAD3 +:10F6E0004045044696D1094B07480F49C01AC00847 +:10F6F000000440F00100F7F7A7F904212846FFF7BE +:10F70000A4FC39464FE700BF0C0903005C08030066 +:10F710002928030099280300592300200929030000 +:10F72000962903005B23002064290300582300204E +:10F7300058B3027802F08203802B25D0C2F3021363 +:10F74000042B21D802F0F203322B1DD041788378AC +:10F75000994219D8062917D9102B15D8C17811F05C +:10F76000040311D1007943070ED4084301070BD4D9 +:10F77000D30700F0030003D4B0FA80F040097047CB +:10F78000003818BF012070470020704770B515463B +:10F790000E4614220021044600F0CBFF2846FDF758 +:10F7A00021FD2670A0806580204670BDFEF7D0BD8B +:10F7B00010B50378182B044602D1FCF729FE2070FF +:10F7C00010BD0000F0B531F0080387B006460D46C5 +:10F7D000174628D0112926D01D4C1E4BE41AE408E8 +:10F7E0000D294FEA044422D102461B4944F002008D +:10F7F000F7F72EF9042132460DEB0100FFF7C6FFA3 +:10F800009FB13B7803F00103C3F10203DBB28DF833 +:10F810000C3000238DF8103041F20113ADF80E309A +:10F8200001A8FFF7C3FF07B0F0BD0223EFE70846CA +:10F83000FAF774F909490246334644F00100F7F734 +:10F8400010F93246082101A8FFF7A0FF0395E7E76A +:10F85000040903005C080300FD290300B22A030029 +:10F860002DE9F0411B4B88B00027CDE904771B68D8 +:10F87000039303AD0446884695E807006E4686E884 +:10F880000700224606212846FFF780FF2846CDE9DB +:10F890000586FFF78BFF104B00991A682046FFF78B +:10F8A000E3FCA0F111035A425A410C4B054619786A +:10F8B0002046FCF7CFFD0A4B3A4619782046FCF764 +:10F8C000C9FD009A29462046FFF77CFF08B0BDE835 +:10F8D000F08100BF3C350020303500205F23002040 +:10F8E0005E2300200021FFF7BBBF00002DE9F0439D +:10F8F000054689B0914698460E4601BB3F4BCDE97F +:10F9000004111B68039303AC94E807006F4687E873 +:10F9100007002A4606212046FFF738FF2046CDE99A +:10F920000567FFF743FF364B009F1B7843B99DF8EF +:10F9300009302BB90526304609B0BDE8F083002711 +:10F940004A4639462846FFF731FDA0F111035A42D5 +:10F950005A412C4B044619782846FCF77BFD112CA4 +:10F9600020D8072C02D80CBB26463DE0A4F10803A2 +:10F97000092B1BD801A252F823F000BF69F902003D +:10F98000ADF90200ADF9020069F90200ADF902001B +:10F9900069F90200ADF90200ADF90200ADF902000B +:10F9A000CFF9020043F202039C42DDD02046FAF771 +:10F9B000B5F8154E154902461548361AF6083604AC +:10F9C00046F001002B46F7F74CF803260CE0114BEC +:10F9D000324619782846FCF73DFD0F4B4A46197808 +:10F9E0002846FCF737FD0026B8F1000FA3D03A46B1 +:10F9F00021462846FFF7E6FE9DE700BF3C35002084 +:10FA0000393500205E230020040903001D2B03006C +:10FA10005C0803005D2300205C23002013B50A4B23 +:10FA200019780446FCF7FEFC084B01901978204633 +:10FA3000FCF7F8FC019A01460123204602B0BDE81C +:10FA40001040FFF753BF00BF5C2300205D23002060 +:10FA5000F7B507460C46002945D0FCF791FC054652 +:10FA6000002842D03846FDF7BDFB06464FF6FF7032 +:10FA7000301AA5F1020318BF01205D425D412378D1 +:10FA800045EAC00523F009031D4325703846FCF7FD +:10FA900089FC237860F3410323703846FCF794FC1B +:10FAA000237860F3820323703846FCF79FFC0546F9 +:10FAB000B8B93846FCF776FC50B16A4607213046A3 +:10FAC000FEF76AFA58B9019B93F8440000F0010070 +:10FAD000237860F304132370002003B0F0BD2846A0 +:10FAE000F6E70120F4E70E20F7E743F20200F4E71F +:10FAF00013B5E0230C4601A98DF80430FFF7A8FFE9 +:10FB00009DF80420237828B993430CBF01200020DE +:10FB100002B010BD0020FBE713B50378062B0446A6 +:10FB200007D0132B0CD0204602B0BDE81040FFF7E1 +:10FB30003DBE8168408802B0BDE81040FFF790BE2E +:10FB4000134B1A68FAB14088FCF72CFC0146E0B16F +:10FB5000227A6088C2F34003C2F300019B00C2F323 +:10FB6000800243EAC10343EA021301A98DF804307D +:10FB7000FFF7BEFF80F00100C2B2002160880123C0 +:10FB8000FFF7B4FECFE70121F8E70246F6E700BF32 +:10FB90003C35002008B503780C2B0FD8082B0FD963 +:10FBA000084B094918780022FCF778FC074B0849F4 +:10FBB00018780022BDE80840FCF770BC142BEFD089 +:10FBC00008BD00BF5F230020E5F802005E2300208F +:10FBD0001DFA020010B50F480F4CFFF7E9FD0F4862 +:10FBE000FFF7E6FD0E48FFF7E3FD2046FFF7E0FDD7 +:10FBF0002378182B0BD10B4B0B480C49C01AC008AB +:10FC0000000440F00100F6F71FFF032010BD0020A4 +:10FC1000FCE700BF5E2300205F2300205C23002060 +:10FC20005D2300205C08030004090300D2160300D2 +:10FC300008B5FFF7D1FB074B074918780022FCF7FE +:10FC40002DFC064B064918780022BDE80840FCF759 +:10FC500025BC00BF5F230020E5F802005E230020E2 +:10FC60001DFA020010B5044630B90A4B18600A4B61 +:10FC700001221A70002010BDFFF75AFD38B1074B62 +:10FC800022681A6022791A71024A1360EFE707208E +:10FC9000F1E700BF3C350020393500203435002025 +:10FCA00000230A461946FFF721BEA8DF7047ADDFE3 +:10FCB0007047AEDF7047B0DF704762DF70473CDFF0 +:10FCC00070473DDF704770472DE9F041044688B02A +:10FCD00038B10388512B27D006D8102B18D0112B00 +:10FCE0001AD008B0BDE8F081532BFAD1304DC2884C +:10FCF000EB889A42F5D12B7E002BF2D000F0ACF9C4 +:10FD00000028EED06B69022008B0BDE8F04118472A +:10FD10008288274B9A80E4E7254B81889A88914214 +:10FD2000DFD14FF6FF72F5E7214DB0F80480AB88C4 +:10FD30009845D6D18679022ED3D10289EB889A4292 +:10FD4000CFD1837B043B022BCBD9102200210DEBBA +:10FD5000020000F0EEFC01AF69898DF8106002AA84 +:10FD6000404602960397FFF7A2FF0646D0B93846F1 +:10FD7000FCF7C9FBB0B19DF81630ADF8146043F044 +:10FD800001038DF81630A88804A9FFF794FF112805 +:10FD9000F9D0BDF81430002BA3D104F1080000F015 +:10FDA000F7F89EE740F2FD13ADF81430EBE700BF23 +:10FDB000403500207FB50023CDF80B308DF80F3093 +:10FDC0000323ADF8023020238DF804300D4B8DF85D +:10FDD0000500DA88ADF8082002228DF80A206A446E +:10FDE0008DF806100492988801AA02A90592FFF7DF +:10FDF00060FF20B9BDF80230032B18BF0C2007B0FC +:10FE00005DF804FB4035002010B54FF0FF310020B5 +:10FE1000FFF757FF044658B9B121FFF750FF0446DA +:10FE200030B9044B01205B6998470220F9F7B2FD15 +:10FE3000204610BD40350020F0B51B4B87B002AC0A +:10FE4000024603F11007254618685968264603C67E +:10FE50000833BB423446F7D122B3144B12685A61BF +:10FE60004FF6FF719980002119760AB9104A5A613C +:10FE70000E4800F053F898B901204FF659630D4A27 +:10FE80008DF8060001A9ADF80430FFF70EFF38B970 +:10FE900006492846FFF711FF10B9044800F058F84A +:10FEA00007B0F0BD0E20FBE7822B03004035002099 +:10FEB000C7FC0200423500204FF0030C00DF704702 +:10FEC00014490B6810B51BB34B680BB30831984746 +:10FED00008281DD0104C236858B9587601210220FB +:10FEE000FFF768FFA0B123685B690320BDE81040FD +:10FEF000184700225A7606210220FFF75BFF18B14F +:10FF0000236803205B699847236802205B69EDE75B +:10FF100010BD00BF7C3500207835002018B1034BA0 +:10FF20001860002070470E20704700BF7835002011 +:10FF300008B5FBF73DFB38B90448FFF7BDFF18B91A +:10FF4000BDE80840FBF768BB08BD00BF7C3500205A +:10FF500010B588B0044620220021684600F0E9FB75 +:10FF600022460323ADF8003012F8063B8DF802302C +:10FF700042F60103ADF80C301723ADF80430608869 +:10FF80004FF0013369460493FCF7C1FA08B010BD85 +:10FF900070B50546007B2A4C01280ED0022824D0DB +:10FFA0000221287BFFF706FF18B1236803205B6955 +:10FFB0009847236802205B6909E023685E7E4EB1A2 +:10FFC0000621FFF7F7FE48B323685B690320BDE80D +:10FFD0007040184718760146FFF7ECFEF0B1236831 +:10FFE00011281E7628D00421DBE76A7B531E132BD1 +:10FFF00024D8144E05F10E01301D00F071FB6B7B0F +:020000023000CC +:10000000B36123685B7E002BEDD10F49304651F878 +:10001000083B984718B9236801225A7670BD0F280B +:10002000E1D10A4B0A480B49C01AC008000440F04D +:100030000100F6F709FDD6E70621B2E70521B0E792 +:10004000783500205C3500207C3500205C080300FA +:1000500084080300922B030008B5044B1B680020A2 +:100060005B699847BDE80840FFF7CEBE78350020B1 +:1000700010DF704711DF704713B504460949684621 +:10008000F9F7F1FC019808B902B010BDD0E90021E0 +:100090002046904718B16846F9F7EFFCF2E71120C7 +:1000A000F2E700BF6C2C030013B50446074968460D +:1000B000F9F7D9FC019B0BB902B010BD2046D3E97A +:1000C000002190476846F9F7D8FCF3E7842C030039 +:1000D000084B9A6822B11A6822F480021A607047AD +:1000E000054B4FF48002C3F88020BFF34F8FBFF35E +:1000F0006F8F7047EC29002000E100E00B4991F878 +:1001000016335A09EC231341DB0706D5084B9A68CE +:100110003AB94FF480030B60704742F20200F7F7E0 +:10012000A3B91A6842F480021A60704700E100E047 +:10013000EC290020F7B5194F3C7864BB184E012517 +:1001400020463570FFF798FF112821D02046FFF791 +:10015000ABFF144B8DF80340186801900DF10300BC +:10016000F7F7DEFB104901A8FFF782FF0446B0FA5B +:1001700080F0400938709DF80300F7F7F5FB3CB9B3 +:100180000A4B34701C70FFF7B9FF2846FFF78CFF4D +:10019000204603B0F0BD0824FAE700BF89350020EF +:1001A00088350020682C0300857402008A35002001 +:1001B000F7B5154F3B781BB3144E01203070FFF795 +:1001C0005BFF11284FF000051CD00220FFF76CFFE9 +:1001D0000DF107008DF80750F7F7A2FBFFF74AFF74 +:1001E00004469DF807003D70F7F7BEFB2CB90320CD +:1001F0003470FFF76DFFFFF757FF204603B0F0BDE7 +:100200000824FAE72C46F8E78935002088350020D5 +:10021000054B1B7833B1054B1B780BB1FFF7C8BFFB +:10022000FFF788BF082070478835002089350020F7 +:10023000014B1878704700BF8935002007B5084981 +:100240006846F9F710FC019B13B903B05DF804FB95 +:10025000D3E9002090476846F9F70FFCF3E700BFA9 +:10026000782C0300FFF7EABF60DF704769DF704753 +:1002700061DF704730B5134B1B7891B0FBB1124D65 +:1002800034240DF1020103A8ADF80240FFF7F0FF9E +:1002900070B9294601A8F9F7E6FB029B002BF0D0C4 +:1002A00003A8D3E90021904701A8F9F7E6FBF4E79A +:1002B000052804D011B0BDE83040F7F7D5B811B02B +:1002C00030BD00BF8B350020C82E030030B50C4672 +:1002D00085B0002900F08B800023CDE90133454A29 +:1002E000039301230A608DF804008DF8063001A9FC +:1002F00006232020ADF80830FFF7B8FF60B1F9F70A +:100300000DFC3D4B3D4902463D481B1ADB081B04D2 +:1003100043F00100F6F79CFB0023CDE90133039382 +:100320002268012301A940208DF80530FFF79EFFC8 +:1003300060B1F9F7F3FB304B3249024630481B1AE3 +:10034000DB081B0443F00100F6F782FB00230120C9 +:100350002268039301A9CDE901338DF80400FFF76A +:1003600085FF60B1F9F7DAFB234B274902462448A1 +:100370001B1ADB081B0443F00100F6F769FB00239E +:10038000CDE9023322684FF4B06301A9A1200193A3 +:10039000FFF76CFF60B1F9F7C1FB174B1B49024631 +:1003A00017481B1ADB081B0443F00100F6F750FB4B +:1003B000012300252268039501A9A020CDE901555C +:1003C0008DF80430FFF752FF034668B1F9F7A6FB3A +:1003D000094B0F4902460A481B1ADB081B0443F06D +:1003E0000100F6F735FB2B46184605B030BD0E234D +:1003F000FAE700BF60220020BC080300902C030035 +:100400005C080300D62C0300222D03006E2D030090 +:10041000BF2D030073B505460668FFF725FF2B685F +:10042000B34204461DD91A481A4B1B491B1ADB0854 +:100430001B0443F002000190F6F706FB2B681749F6 +:1004400001983246F6F70DFB4FF080532A68D3F837 +:100450000C31134901989B0203F100539A1AF6F7E5 +:10046000F7FA2CB90F4B01221A70204602B070BD6A +:100470002046F9F753FB074B0B49024604481B1A69 +:10048000DB081B0443F00100F6F7E2FAEDE700BFDA +:100490005C080300BC080300122E0300412E030079 +:1004A000722E03008B3500209C2E03004BDF70471B +:1004B0001FB50E4C01A8FFF7F9FF70B9214602A83D +:1004C000F9F7D1FA039B002BF4D00198D3E900216E +:1004D000904702A8F9F7D1FAF4E7052804D004B050 +:1004E000BDE81040F6F7C0BF04B010BDE02E030019 +:1004F00053EA020C61D02DE9F04BB3FA83F51E00EC +:1005000007BFB2FA82F502FA05F403FA05F41646BB +:10051000C5F120051EBF22FA05F73C43203556EAF7 +:10052000044C4FEA144418BF0134A3464FF00009AD +:10053000C846904271EB030C39D3094207BFB0FAA9 +:1005400080F700FA07F6B1FA81F701FA07F6C7F16A +:1005500020071EBF20FA07FC46EA0C062037B6FB30 +:10056000FBFC7F1B103F07F01F04C4F120060CFAB0 +:1005700004F42CFA06F644BF34460026202FA4BF0C +:100580002646002454EA060C08BF012418EB040890 +:1005900049EB0609A4FB027CC01B06FB02CC04FB52 +:1005A00003CC71EB0C01904271EB030CC5D20B46EE +:1005B000024649464046BDE8F08BB2FBF3F200002C +:1005C0007F2805D8034A044B105C5B5C18407047D9 +:1005D00000207047F82E0300782F0300A0F161037C +:1005E000192B98BF20387047A0F14103192B98BFF1 +:1005F000203070477F299ABF017001206FF02E00D4 +:10060000704700BF5AB10A787F2A0AD800B1026049 +:100610000021501AC3E9001118BF0120704710468D +:1006200070476FF02E007047A0F16103192B98BF3F +:1006300020387047A0F14103192B98BF2030704734 +:100640007F2805D8034A044B105C5B5C1840704758 +:1006500000207047F82E0300782F0300024B5B68E0 +:100660009B6809211B681847602300206AB30F2A82 +:1006700070B511D8013A2FD0034600EB020C01E00F +:100680009C4524D08E461C4611F8012B13F8010B13 +:100690009042F5D0801A70BD40EA010C1CF0030FA7 +:1006A00004460B4606D0013AE6E7043A042A2046FF +:1006B0001946DFD9194620460E680568B54203F190 +:1006C000040304F10404F0D0D4E7104670476078C6 +:1006D0009EF80120801A70BD00780A78DAE700BF22 +:1006E000844640EA010313F0030F18D18446202A00 +:1006F0000BD32DE9F007B1E8F807A0E8F807A2F15D +:100700002002202AF7D2BDE8F007042A07D351F8C7 +:10071000043B40F8043BA2F10402042AF7D2002A69 +:1007200005D011F8013B00F8013B013AF9D16046D0 +:1007300070478446002A2DD010F0030F04D000F833 +:10074000011B013A26D0F7E7C9B241EA012141EA8B +:100750000141202A12D3A2F120022DE9F0030B4619 +:100760000C460D460E460F4688468946A0E8FA0319 +:10077000203AFBD2BDE8F00320320BD0042A05D387 +:1007800040F8041B043A05D0042AF9D200F8011BF2 +:10079000013AFBD16046704700F1010110F0030FF0 +:1007A00011D010F8012B002A23D010F0030F0AD02B +:1007B00010F8012B002A1CD010F0030F03D010F802 +:1007C000012B002A15D02DE970004FF001324FF0B7 +:1007D000803350F8044BA4EB020525EA04051D40C4 +:1007E00000D1F6E7A0F1040070BC10F8012B002A3C +:0807F000FBD1A0EB01007047F2 +:1007F80039C2020000000000F9AF0200000000004A +:1008080099BE0200F42C00206DD50200283100208A +:1008180079C0020000000000C5E2020000000000EC +:100828007FD702003C310020C9FC0200403500207F +:08083800EDB002000000000019 +:10084000A196020000000000719B02000000000061 +:08085000C1FE020000000000DF +:040858005DB202008B +:10085C009A12030000000000A01203000000000028 +:10086C00A712030000000000AB1203000000000000 +:10087C00B012030000000000DA09030000000303BB +:10088C00CC0A030000000000F50A03000000000081 +:10089C009412030000000000B71B030000000303C8 +:1008AC00050D030000000303602C0300000003038C +:1008BC00B92E030000000303D42E03000000030331 +:1008CC00DD200300000003034C18030000000303A9 +:1008DC003C1A030000000303B026030000000303CE +:1008EC00681A030000000303001F03000000030349 +:1008FC00E61C030000000303722B0300000003033B +:10090C00EC29030000000303780D03000000000035 +:08091C00940D0300000000002F +:08092400E59402000000000050 +:10092C00AD960200000000000D9C020000000000CB +:08093C0099B202000000000066 +:100944007502030000000000B10403000000000071 +:10095400AC09030000000000B8090300882200204D +:10096400B82300208024002088240020C0230020F5 +:040974001800000067 +:100978000000000000000000C18402000000000028 +:04098800000000006B +:10098C00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10099C0000000000000000000000D601060100006D +:1009AC00F164020055650200A16402007561727465 +:1009BC005F6C6F675F6261636B656E64004261635D +:1009CC006B656E647320666C75736865640061702A +:1009DC0070000000A82800207F00000028290020BB +:1009EC001B5B313B33316D0025734C6F6773206497 +:1009FC00726F70706564202825642925730D0A00B8 +:100A0C001B5B306D003C25733E2025733A20002083 +:100A1C002530327800202020007C002563001B5BF1 +:100A2C00313B33306D001B5B313B33326D001B5B54 +:100A3C00313B33336D001B5B313B33346D001B5B3F +:100A4C00313B33356D001B5B313B33366D001B5B2B +:100A5C00313B33376D007761726E696E6700696E7A +:100A6C00666F006465627567000000000C0A030085 +:100A7C002A0A0300EC090300320A03003A0A0300B5 +:100A8C00420A03004A0A0300520A03005A0A0300EE +:100A9C0000000000E20A0300620A03006A0A030075 +:100AAC006F0A03000D0E0F10111213140000010138 +:100ABC000100000001010000000001010000000025 +:100ACC006170705F627574746F6E00009822002004 +:100ADC00466174616C206572726F72005379737425 +:100AEC00656D207265736574006170705F74696DFB +:100AFC00657200000100060000000000642900205F +:100B0C00F174020052544320696E7374616E636514 +:100B1C0020616C726561647920696E697469616CBD +:100B2C00697A65642E005254433A20696E6974697F +:100B3C00616C697A65642E00000000000000000002 +:100B4C00000000000338FDD8704700000000FFFFD4 +:100B5C00DEC0ADDEFE011EF1DEC0ADDEFF011EF11A +:100B6C0030313233343536373839414243444546D7 +:100B7C00705F667300257320636865636B20666124 +:100B8C00696C656420696E20257328292077697447 +:100B9C00682076616C756520307825782E00705F42 +:100BAC0066732D3E705F61706900705F646573746D +:100BBC00006C656E00616464725F69735F616C697F +:100BCC00676E6564333228737263290061646472E2 +:100BDC005F69735F77697468696E5F626F756E6465 +:100BEC007328705F66732C207372632C206C656E97 +:100BFC002900705F7372630021286C656E202520BC +:100C0C00705F66732D3E705F666C6173685F696EB2 +:100C1C00666F2D3E70726F6772616D5F756E697471 +:100C2C002900616464725F69735F616C69676E65EA +:100C3C0064333228646573742900616464725F697B +:100C4C00735F616C69676E65643332282875696EF1 +:100C5C007433325F7429705F73726329006164644A +:100C6C00725F69735F77697468696E5F626F756EC6 +:100C7C00647328705F66732C20646573742C206C0D +:100C8C00656E2900616464725F69735F706167658A +:100C9C005F616C69676E656428705F66732C207089 +:100CAC006167655F616464722900616464725F6985 +:100CBC00735F77697468696E5F626F756E647328B1 +:100CCC00705F66732C20706167655F616464722C61 +:100CDC0020286C656E202A20705F66732D3E705F35 +:100CEC00666C6173685F696E666F2D3E65726173C9 +:100CFC00655F756E69742929006E72665F66737420 +:100D0C006F72616765006E72665F6673746F726195 +:100D1C0067655F6572617365006E72665F6673749A +:100D2C006F726167655F7772697465006E72665F7A +:100D3C006673746F726167655F696E697400000039 +:100D4C0000100000040000000100000029950200C2 +:100D5C0009950200F99402003D970200ED960200FD +:100D6C00CD940200D1940200D59402007077725F8A +:100D7C006D676D7400000000C0220020580803004D +:100D8C005C08030004000000736F72746C69737468 +:100D9C00004E52465F53554343455353004E524603 +:100DAC005F4552524F525F5356435F48414E444C3D +:100DBC0045525F4D495353494E47004E52465F458D +:100DCC0052524F525F534F46544445564943455F28 +:100DDC004E4F545F454E41424C4544004E52465F87 +:100DEC004552524F525F494E5445524E414C004E63 +:100DFC0052465F4552524F525F4E4F5F4D454D002C +:100E0C004E52465F4552524F525F4E4F545F464FC3 +:100E1C00554E44004E52465F4552524F525F4E4F14 +:100E2C00545F535550504F52544544004E52465FF8 +:100E3C004552524F525F494E56414C49445F5041C6 +:100E4C0052414D004E52465F4552524F525F494EF1 +:100E5C0056414C49445F5354415445004E52465FF1 +:100E6C004552524F525F494E56414C49445F4C4596 +:100E7C004E475448004E52465F4552524F525F49BE +:100E8C004E56414C49445F464C414753004E5246E6 +:100E9C005F4552524F525F494E56414C49445F4454 +:100EAC00415441004E52465F4552524F525F4441AD +:100EBC0054415F53495A45004E52465F4552524F7A +:100ECC00525F54494D454F5554004E52465F455262 +:100EDC00524F525F4E554C4C004E52465F4552524B +:100EEC004F525F464F5242494444454E004E524683 +:100EFC005F4552524F525F494E56414C49445F41F7 +:100F0C00444452004E52465F4552524F525F425536 +:100F1C005359004E52465F4552524F525F434F4E0B +:100F2C004E5F434F554E54004E52465F4552524F02 +:100F3C00525F5245534F5552434553004E52465FF4 +:100F4C004552524F525F4D4F44554C455F4E4F5496 +:100F5C005F494E495449414C495A4544004E52460A +:100F6C005F4552524F525F4D555445585F494E495B +:100F7C00545F4641494C4544004E52465F455252DF +:100F8C004F525F4D555445585F4C4F434B5F464154 +:100F9C00494C4544004E52465F4552524F525F4DAC +:100FAC00555445585F554E4C4F434B5F4641494C49 +:100FBC004544004E52465F4552524F525F4D555478 +:100FCC0045585F434F4E445F494E49545F46414933 +:100FDC004C4544004E52465F4552524F525F4D4F66 +:100FEC0044554C455F414C52454144595F494E492B +:100FFC005449414C495A4544004E52465F45525261 +:10100C004F525F53544F524147455F46554C4C002D +:10101C004E52465F4552524F525F4150495F4E4FC0 +:10102C00545F494D504C454D454E544544004E522D +:10103C00465F4552524F525F464541545552455FAB +:10104C004E4F545F454E41424C4544004E52465F14 +:10105C004552524F525F494F5F50454E44494E479F +:10106C00004E52465F4552524F525F4452565F54A7 +:10107C0057495F4552525F4F56455252554E004E9E +:10108C0052465F4552524F525F4452565F54574935 +:10109C005F4552525F414E41434B004E52465F45B5 +:1010AC0052524F525F4452565F5457495F45525209 +:1010BC005F444E41434B004E52465F4552524F5295 +:1010CC005F424C455F495053505F52585F504B54F0 +:1010DC005F5452554E4341544544004E52465F4571 +:1010EC0052524F525F424C455F495053505F4348F8 +:1010FC00414E4E454C5F414C52454144595F455819 +:10110C0049535453004E52465F4552524F525F4220 +:10111C004C455F495053505F4C494E4B5F444953CB +:10112C00434F4E4E4543544544004E52465F455244 +:10113C00524F525F424C455F495053505F504545AA +:10114C00525F52454A454354454400556E6B6E6F91 +:10115C00776E206572726F7220636F646500000099 +:10116C00000000009D0D030001000000A90D03000C +:10117C0002000000C70D030003000000E80D03008F +:10118C0004000000FB0D0300050000000C0E030022 +:10119C0006000000200E030007000000380E0300BC +:1011AC0008000000500E030009000000680E030048 +:1011BC000A000000810E03000B000000990E0300D2 +:1011CC000C000000B00E03000D000000C40E030064 +:1011DC000E000000D60E03000F000000E50E030009 +:1011EC0010000000F90E030011000000100F0300A6 +:1011FC00120000001F0F030013000000340F030047 +:10120C0080000000480F030081000000690F0300FC +:10121C0082000000850F030083000000A10F030073 +:10122C0084000000BF0F030085000000E00F0300E6 +:10123C008600000005100300900000001C10030045 +:10124C00910000003A1003009200000058100300B7 +:10125C00008200006D100300018200008B1003005F +:10126C0002820000A710030000840000C3100300DA +:10127C0001840000E7100300028400001111030038 +:10128C000384000036110300636C6F636B00434CE6 +:10129C004F434B004750494F544500505253005553 +:1012AC004152540055415254450000000D000300BA +:1012BC008DAB02000E0003008DAB02000F0003008B +:1012CC008DAB0200100003008DAB0200E022002069 +:1012DC000023002020230020446576696365206983 +:1012EC007320707265706172696E6720746F20650F +:1012FC006E74657220626F6F746C6F6164657220BE +:10130C006D6F64652E00446973636F6E6E656374F4 +:10131C006564202564206C696E6B732E00446576C1 +:10132C006963652077696C6C20656E7465722062E8 +:10133C006F6F746C6F61646572206D6F64652E00E5 +:10134C005265717565737420746F20656E74657267 +:10135C0020626F6F746C6F61646572206D6F646571 +:10136C00206661696C6564206173796E6368726F65 +:10137C006E656F75736C792E00526571756573743B +:10138C0020746F2073656E64206120726573706FBA +:10139C006E736520746F20636C69656E7420666172 +:1013AC00696C65642E00556E6B6E6F776E2065767A +:1013BC00656E742066726F6D20626C655F64667515 +:1013CC005F627574746F6E6C6573732E0046616921 +:1013DC006C656420746F20646973636F6E6E6563F3 +:1013EC007420636F6E6E656374696F6E2E20436F2D +:1013FC006E6E656374696F6E2068616E646C653ABD +:10140C00202564204572726F723A20256400506F5B +:10141C00776572206D616E6167656D656E7420779E +:10142C00616E747320746F20726573657420746FB1 +:10143C0020444655206D6F64652E00506F776572A1 +:10144C00206D616E6167656D656E7420616C6C6F8B +:10145C0077656420746F20726573657420746F20D7 +:10146C00444655206D6F64652E004E425F444655D0 +:10147C00303000427574746F6E6C65737320444623 +:10148C0055204170706C69636174696F6E20737460 +:10149C0061727465642E00457261736520626F6EB3 +:1014AC006473210053657474696E67207665637488 +:1014BC006F72207461626C6520746F20626F6F7440 +:1014CC006C6F616465723A2030782530387800464C +:1014DC0061696C65642072756E6E696E67207364E9 +:1014EC005F736F66746465766963655F7665637454 +:1014FC006F725F7461626C655F626173655F736567 +:10150C0074004E6F20626F6F746C6F616465722033 +:10151C0077617320666F756E640053657474696EC1 +:10152C006720766563746F72207461626C652074D9 +:10153C006F206D61696E206170703A2030782530B3 +:10154C00387800546865206C6F63616C206461743A +:10155C00616261736520686173206368616E6765A1 +:10156C00642C20736F20736F6D65207375627363C9 +:10157C0072697074696F6E7320746F206E6F74690A +:10158C006669636174696F6E7320616E6420696E45 +:10159C006469636174696F6E7320636F756C64202A +:1015AC006E6F7420626520726573746F726564204F +:1015BC00666F7220636F6E6E5F68616E646C65201F +:1015CC002564006773636D5F6C6F63616C5F64624D +:1015DC005F63616368655F6170706C792829207244 +:1015EC00657475726E65642025732077686963680D +:1015FC002073686F756C64206E6F742068617070F6 +:10160C00656E2E20636F6E6E5F68616E646C653AFA +:10161C00202564006773636D5F736572766963651B +:10162C005F6368616E6765645F696E645F73656E46 +:10163C006428292072657475726E65642025732088 +:10164C00666F7220636F6E6E5F68616E646C653A74 +:10165C0020256400466C6173682066756C6C2E20C6 +:10166C00436F756C64206E6F742073746F72652099 +:10167C006461746120666F7220636F6E6E5F686167 +:10168C006E646C653A202564006773636D5F6C6FE4 +:10169C0063616C5F64625F63616368655F757064EE +:1016AC0061746528292072657475726E65642025D5 +:1016BC007320666F7220636F6E6E5F68616E646C10 +:1016CC00653A20256400436F756C64206E6F74203E +:1016DC006163717569726520636F6E6E5F7374619F +:1016EC007465207573657220666C6167732E204972 +:1016FC006E63726561736520424C455F434F4E4E7D +:10170C005F53544154455F555345525F464C4147D6 +:10171C005F434F554E5420696E2074686520626C8F +:10172C00655F636F6E6E5F7374617465206D6F645B +:10173C00756C652E0043415220636861722076619E +:10174C006C756520636F756C646E27742062652000 +:10175C0073746F72656420286572726F723A2025FB +:10176C0073292E205265617474656D7074207769CD +:10177C006C6C2068617070656E206F6E207468658B +:10178C00206E65787420636F6E6E656374696F6E1E +:10179C002E00556E657870656374656420474154FE +:1017AC005420737461747573207768696C65206755 +:1017BC00657474696E6720434152206368617220BE +:1017CC0076616C75653A2030782578004D756C74AF +:1017DC0069706C6520282564292043415220636878 +:1017EC006172616374657269737469637320666F87 +:1017FC00756E642C207573696E672074686520663D +:10180C00697273742E00556E6578706563746564C7 +:10181C00204341522063686172616374657269731D +:10182C007469632076616C7565206C656E6774688D +:10183C0020282564292C2073746F726520302E00AB +:10184C00706565725F6D616E616765725F67636D10 +:10185C0000000100FFFF000000000000010000007C +:10186C007064735F706565725F646174615F7374DB +:10187C006F726528292072657475726E65642025F7 +:10188C0073207768696C652073746F72696E67205A +:10189C0073657276696365206368616E67656473EE +:1018AC007461746520666F7220706565722069645E +:1018BC002025642E007064625F706565725F6461E0 +:1018CC0074615F7074725F67657428292072657427 +:1018DC0075726E656420257320666F7220636F6E5F +:1018EC006E5F68616E646C653A20256400446964BF +:1018FC0020616E6F74686572207468726561642013 +:10190C006D616E6970756C61746520504D5F5045EA +:10191C0045525F444154415F49445F474154545FD1 +:10192C004C4F43414C20666F7220706565725F6945 +:10193C0064202564206174207468652073616D6572 +:10194C002074696D653F207064625F77726974659D +:10195C005F6275665F72656C6561736528292072BC +:10196C00657475726E65642025732E0073645F62F6 +:10197C006C655F67617474735F7379735F617474A2 +:10198C00725F73657428292072657475726E656454 +:10199C00204E52465F4552524F525F494E56414C73 +:1019AC0049445F4441544120666F72204E554C4C63 +:1019BC0020706F696E746572207768696368207334 +:1019CC00686F756C64206E657665722068617070E6 +:1019DC00656E2E20636F6E6E5F68616E646C653A27 +:1019EC002025640073645F626C655F676174747357 +:1019FC005F696E697469616C5F757365725F68614C +:101A0C006E646C655F6765742829207265747572E5 +:101A1C006E65642025732077686963682073686F2E +:101A2C00756C64206E6F742068617070656E2E002A +:101A3C00706565725F6D616E616765725F67736318 +:101A4C006D00000001000100601A0300010001009C +:101A5C00641A03000100000000000000706565724C +:101A6C005F6D616E616765725F696D0073645F6263 +:101A7C006C655F6761705F646174615F6C656E67F4 +:101A8C0074685F75706461746528292028726571AB +:101A9C007565737429206F6E20636F6E6E65637449 +:101AAC00696F6E20307825782072657475726E655A +:101ABC00642025732E0054686520726571756573FA +:101ACC007465642054582F5258207061636B657490 +:101ADC00206C656E67746820697320746F6F206C5E +:101AEC006F6E672062792025752F2575206F6374C2 +:101AFC006574732E00546865207265717565737416 +:101B0C00656420636F6D62696E6174696F6E206FBE +:101B1C006620545820616E64205258207061636BAB +:101B2C006574206C656E6774687320697320746FBC +:101B3C006F206C6F6E67206279202575206D69634C +:101B4C00726F7365636F6E64732E0073645F626C87 +:101B5C00655F67617474635F65786368616E676500 +:101B6C005F6D74755F726571756573742829207269 +:101B7C00657475726E65642025732E0073645F62E4 +:101B8C006C655F67617474735F65786368616E67B9 +:101B9C00655F6D74755F7265706C7928292072654C +:101BAC007475726E65642025732E006E72665F62AA +:101BBC006C655F6761747400436F756C64206E6F45 +:101BCC00742064656C657465207065657220646151 +:101BDC0074612E206664735F66696C655F64656C06 +:101BEC0065746528292072657475726E6564203081 +:101BFC0078257820666F7220706565725F69643A2B +:101C0C0020256400436F756C64206E6F7420696EC0 +:101C1C00697469616C697A6520666C61736820739C +:101C2C00746F726167652E206664735F7265676995 +:101C3C007374657228292072657475726E656420E0 +:101C4C00307825782E00436F756C64206E6F74208D +:101C5C00696E697469616C697A6520666C61736818 +:101C6C002073746F726167652E206664735F696E92 +:101C7C00697428292072657475726E6564203078D9 +:101C8C0025782E00436F756C64206E6F742077720C +:101C9C00697465206461746120746F20666C617373 +:101CAC00682E206664735F7265636F72645F7B7706 +:101CBC00726974657C7570646174657D2829207205 +:101CCC00657475726E656420307825782E20706589 +:101CDC0065725F69643A20256400706565725F6D9A +:101CEC00616E616765725F70647300706D5F6275C1 +:101CFC00666665725F7074725F676574282920630D +:101D0C006F756C64206E6F74207265747269657681 +:101D1C00652052414D206275666665722E20626C9C +:101D2C006F636B5F69643A202564007064735F7045 +:101D3C006565725F646174615F73746F7265282985 +:101D4C002072657475726E65642025732E20706523 +:101D5C0065725F69643A20256400536F6D6520706D +:101D6C00656572206461746120776173206E6F7495 +:101D7C002070726F7065726C7920777269747465FB +:101D8C006E20746F20666C6173682E207772697494 +:101D9C00655F6275665F73746F7265282920726562 +:101DAC007475726E656420257320666F7220706581 +:101DBC0065725F69643A20256400504D5F42554658 +:101DCC004645525F494E49542829207265747572F4 +:101DDC006E65642025732E0043616E6E6F742073E4 +:101DEC00746F7265206461746120746F20666C611D +:101DFC007368206265636175736520706D5F6275D1 +:101E0C00666665725F7074725F67657428292063FB +:101E1C006F756C64206E6F74207265747269657670 +:101E2C00652052414D206275666665722E2049739D +:101E3C0020626C6F636B5F6964202564206E6F7425 +:101E4C0020616C6C6F63617465643F007064625FE9 +:101E5C0077726974655F6275665F72656C656173D4 +:101E6C006528292072657475726E6564202573204F +:101E7C0077686963682073686F756C64206E6F7423 +:101E8C002068617070656E2E20706565725F696484 +:101E9C003A2025642C20646174615F69643A2025C2 +:101EAC006400506565722049442025642077617375 +:101EBC00206E6F742070726F7065726C7920726511 +:101ECC006C65617365642E207064735F70656572F8 +:101EDC005F69645F66726565282920726574757226 +:101EEC006E65642025732E20706565725F69643A97 +:101EFC0020256400706565725F6D616E6167657247 +:101F0C005F706462002573206661696C6564206291 +:101F1C00656361757365207064735F696E6974289D +:101F2C00292072657475726E65642025732E0025E8 +:101F3C0073206661696C65642062656361757365A5 +:101F4C00207064625F696E697428292072657475EB +:101F5C00726E65642025732E002573206661696C92 +:101F6C006564206265636175736520736D5F696E6E +:101F7C00697428292072657475726E6564202573E6 +:101F8C002E002573206661696C656420626563614F +:101F9C0075736520736D645F696E6974282920728E +:101FAC00657475726E65642025732E00257320662A +:101FBC0061696C6564206265636175736520676334 +:101FCC006D5F696E697428292072657475726E650F +:101FDC00642025732E002573206661696C6564206E +:101FEC0062656361757365206773636D5F696E69A4 +:101FFC007428292072657475726E65642025732EA1 +:10200C000025732829206661696C6564206265630C +:10201C006175736520612063616C6C20746F207036 +:10202C006D5F706565725F64656C657465282920E9 +:10203C0072657475726E65642025732E20706565EB +:10204C00725F69643A20256400436F756C64206E7E +:10205C006F742072657472656976652072616E6B3F +:10206C00732E207064625F706565725F6461746169 +:10207C005F6C6F616428292072657475726E65647B +:10208C002025732E20706565725F69643A20256483 +:10209C0000436F756C64206E6F742075706461748E +:1020AC00652072616E6B2E207064625F7261775F67 +:1020BC0073746F726528292072657475726E65640D +:1020CC002025732E20706565725F69643A20256443 +:1020DC0000706565725F6D616E616765720000000E +:1020EC0001000600C8340020706D5F706565727366 +:1020FC005F64656C65746500706D5F696E69740012 +:10210C00706D5F636F6E6E5F7365637572652829A2 +:10211C00206661696C656420626563617573652016 +:10212C00616E20534D502074696D656F7574206914 +:10213C00732070726576656E74696E672073656363 +:10214C007572697479206F6E20746865206C696E85 +:10215C006B2E20446973636F6E6E656374696E6772 +:10216C0020636F6E6E5F68616E646C652025642EF3 +:10217C000073645F626C655F6761705F6469736351 +:10218C006F6E6E65637428292072657475726E6546 +:10219C0064202573206F6E20636F6E6E5F68616EB6 +:1021AC00646C652025642E00706D5F636F6E6E5FCE +:1021BC007365637572652829206661696C65642096 +:1021CC0062656361757365207468652073746F72E2 +:1021DC006564206461746120666F7220636F6E6E3B +:1021EC005F68616E646C6520256420646F65732084 +:1021FC006E6F74206861766520612076616C69640D +:10220C00206B65792E00706D5F636F6E6E5F73650A +:10221C00637572652829206661696C656420626546 +:10222C00636175736520636F6E6E5F68616E646C5D +:10223C0065202564206973206E6F7420612076619F +:10224C006C696420636F6E6E656374696F6E2E00CB +:10225C00417373657274696E672E20706D5F636F66 +:10226C006E6E5F736563757265282920726574756F +:10227C00726E6564202573206F6E20636F6E6E5FC7 +:10228C0068616E646C652025642E00417474656D04 +:10229C007074696E6720746F20636C65616E206664 +:1022AC006C6173682E0044656C6574696E67206C94 +:1022BC006F776573742072616E6B656420706565F1 +:1022CC00722028706565725F69643A202564290064 +:1022DC00546865726520617265206E6F207065654B +:1022EC00727320746F2064656C6574652E00506584 +:1022FC0065722072616E6B732066756E6374696FA4 +:10230C006E616C6974792069732064697361626CA5 +:10231C0065642C20736F206E6F207065657273205E +:10232C006172652064656C657465642E00436F6E24 +:10233C006E656374696F6E20736563757265643A5C +:10234C0020726F6C653A2025732C20636F6E6E5F64 +:10235C0068616E646C653A2025642C2070726F6322 +:10236C0065647572653A20257300436F6E6E656304 +:10237C0074696F6E20736563757269747920666118 +:10238C00696C65643A20726F6C653A2025732C2059 +:10239C00636F6E6E5F68616E646C653A2030782591 +:1023AC00782C2070726F6365647572653A202573A2 +:1023BC002C206572726F723A20256400466C617332 +:1023CC00682073746F726167652069732066756C21 +:1023DC006C00556E65787065637465642066617415 +:1023EC00616C206572726F72206F636375727265B7 +:1023FC00643A206572726F723A202573002C206E3D +:10240C006F206368616E676500506565722064615A +:10241C007461207570646174656420696E20666CEB +:10242C006173683A20706565725F69643A2025644F +:10243C002C20646174615F69643A2025732C2061DF +:10244C006374696F6E3A202573257300506565724D +:10245C0020646174612075706461746564206661C8 +:10246C00696C65643A20706565725F69643A202511 +:10247C00642C20646174615F69643A2025732C209C +:10248C00616374696F6E3A2025732C206572726FCC +:10249C00723A20257300506565722064656C657412 +:1024AC006564207375636365737366756C6C793AD8 +:1024BC0020706565725F69643A202564005065651B +:1024CC00722064656C6574696F6E206661696C65F9 +:1024DC00643A20706565725F69643A2025642C202B +:1024EC006572726F723A20257300416C6C207065B6 +:1024FC006572732064656C657465642E00416C6C48 +:10250C0020706565722064656C6574696F6E2066F9 +:10251C0061696C65643A206572726F723A2025733A +:10252C00004C6F63616C20444220636F756C6420B7 +:10253C006E6F74206265206170706C6965643A20FE +:10254C00636F6E6E5F68616E646C653A2025642CF7 +:10255C0020706565725F69643A20256400466C6181 +:10256C007368206761726261676520636F6C6C656C +:10257C006374696F6E206661696C65642077697439 +:10258C0068206572726F722025732E00556E657807 +:10259C0070656374656420504D206576656E74209B +:1025AC0049443A20307825782E0041737365727453 +:1025BC00696E672E005570646174650044656C65C6 +:1025CC007465004F7574646174656420283029004B +:1025DC0053657276696365206368616E6765642014 +:1025EC0070656E64696E6720666C6167004F757408 +:1025FC00646174656420283229004F7574646174B9 +:10260C00656420283329004170706C6963617469BA +:10261C006F6E20646174610052656D6F7465206427 +:10262C006174616261736500506565722072616EE0 +:10263C006B00426F6E64696E672064617461004C5C +:10264C006F63616C206461746162617365004365E2 +:10265C006E7472616C206164647265737320726550 +:10266C00736F6C7574696F6E00456E6372797074FC +:10267C00696F6E00426F6E64696E670050616972BB +:10268C00696E6700496E76616C696420526F6C6587 +:10269C00005065726970686572616C0043656E7498 +:1026AC0072616C00706565725F6D616E61676572F9 +:1026BC005F68616E646C657200000000C1250300E8 +:1026CC00C8250300CF250300DC250300F9250300F2 +:1026DC0006260300132603002426030034260300D9 +:1026EC003E2603004B2603005A26030090260300C7 +:1026FC009D260300A82603007526030080260300F0 +:10270C0088260300436F756C64206E6F7420636CB5 +:10271C0065616E20757020616674657220666169F2 +:10272C006C656420626F6E64696E672070726F6393 +:10273C0065647572652E207064625F77726974656A +:10274C005F6275665F72656C6561736528292072BE +:10275C00657475726E65642025732E20636F6E6EC2 +:10276C005F68616E646C653A2025642E00436F755A +:10277C006C64206E6F742072657472696576652066 +:10278C0052414D2062756666657220666F722069D3 +:10279C006E636F6D696E6720626F6E642E2070645D +:1027AC00625F77726974655F6275665F67657428CE +:1027BC00292072657475726E65642025732E2063F2 +:1027CC006F6E6E5F68616E646C653A20256400699B +:1027DC006D5F626C655F616464725F676574282904 +:1027EC002072657475726E65642025732E20636F7C +:1027FC006E6E5F68616E646C653A2025642E204CA9 +:10280C00696E6B20776173206C696B656C792064E1 +:10281C006973636F6E6E65637465642E0073645FB9 +:10282C00626C655F6761705F7365635F696E666F2D +:10283C005F7265706C7928292072657475726E658B +:10284C0064204E52465F45524F525F494E56414CA2 +:10285C0049445F53544154452C2077686963682080 +:10286C00697320616E6572726F7220756E6C657320 +:10287C007320746865206C696E6B206973206469C1 +:10288C0073636F6E6E656374696E672E00436F754C +:10289C006C64206E6F7420636F6D706C6574652052 +:1028AC00656E6372797074696F6E2070726F636598 +:1028BC00647572652E2073645F626C655F6761700E +:1028CC005F7365635F696E666F5F7265706C7928A4 +:1028DC00292072657475726E65642025732E2063D1 +:1028EC006F6E6E5F68616E646C653A2025642C2097 +:1028FC00706565725F69643A2025642E0052414D03 +:10290C002062756666657220666F72206E65772030 +:10291C00626F6E642077617320756E617661696C8D +:10292C0061626C652E207064625F77726974655F9A +:10293C006275665F67657428292072657475726E9E +:10294C0065642025732E20636F6E6E5F68616E6404 +:10295C006C653A2025642E00436F756C64206E6F95 +:10296C007420616C6C6F63617465206E6577207088 +:10297C006565725F696420666F7220696E636F6D46 +:10298C00696E6720626F6E642E00436F756C6420F5 +:10299C006E6F742073746F726520626F6E642E207C +:1029AC007064625F77726974655F6275665F737479 +:1029BC006F726528292072657475726E65642025A6 +:1029CC00732E20636F6E6E5F68616E646C653A2067 +:1029DC0025642C20706565725F69643A202564005B +:1029EC00706565725F6D616E616765725F736D6452 +:1029FC000043616E6E6F7420736563757265206C35 +:102A0C00696E6B20626563617573652061207072FD +:102A1C006576696F75732073656375726974792057 +:102A2C0070726F63656475726520656E6465642091 +:102A3C00696E2074696D656F75742E2044697363BB +:102A4C006F6E6E65637420616E642072657472794A +:102A5C002E20736D645F706172616D735F7265704F +:102A6C006C792829206F7220736D645F6C696E6BB2 +:102A7C005F73656375726528292072657475726E53 +:102A8C006564204E52465F4552524F525F54494D39 +:102A9C00454F55542E20636F6E6E5F68616E646C8B +:102AAC00653A20256400436F756C64206E6F74204A +:102ABC00706572666F726D20736563757269747977 +:102ACC002070726F6365647572652E20736D645F20 +:102ADC00706172616D735F7265706C792829206FFB +:102AEC007220736D645F6C696E6B5F736563757276 +:102AFC006528292072657475726E65642025732EA5 +:102B0C0020636F6E6E5F68616E646C653A2025643D +:102B1C0000436F756C64206E6F7420706572666F05 +:102B2C00726D2073656375726974792070726F634E +:102B3C0065647572652E20736D645F6C696E6B5F76 +:102B4C0073656375726528292072657475726E657C +:102B5C00642025732E20636F6E6E5F68616E646CEB +:102B6C00653A20256400706565725F6D616E616702 +:102B7C0065725F736D0050EADA308883B89F604FDE +:102B8C0015F30000C98E54686520626F6F746C6F0A +:102B9C006164657220686173207772697465207056 +:102BAC00726F7465637465642069747320736574E3 +:102BBC0074696E677320706167652E205468697341 +:102BCC002070726F686962697473207365747469BC +:102BDC006E672074686520616476657274697369C8 +:102BEC006E67206E616D652E2054686520626F6F74 +:102BFC00746C6F61646572206D75737420626520EE +:102C0C00636F6D70696C65642077697468204E52CF +:102C1C00465F424C5F53455454494E47535F5041B5 +:102C2C0047455F50524F544543543D3020746F20FC +:102C3C00616C6C6F772073657474696E672074684F +:102C4C0065206164766572746973696E67206E6164 +:102C5C006D652E006E72665F73646800010000077C +:102C6C00240903002C090300080000004409030098 +:102C7C0054090300080000002C0903004409030058 +:102C8C000800000073645F626C655F6366675F7366 +:102C9C00657428292072657475726E6564202573BD +:102CAC00207768656E20617474656D7074696E67E9 +:102CBC0020746F2073657420424C455F434F4E4E19 +:102CCC005F4346475F4741502E0073645F626C65FB +:102CDC005F6366675F73657428292072657475720B +:102CEC006E6564202573207768656E206174746549 +:102CFC006D7074696E6720746F2073657420424C1C +:102D0C00455F4741505F4346475F524F4C455F43D9 +:102D1C004F554E542E0073645F626C655F6366673B +:102D2C005F73657428292072657475726E656420F2 +:102D3C002573207768656E20617474656D70746995 +:102D4C006E6720746F2073657420424C455F434F4F +:102D5C004D4D4F4E5F4346475F56535F5555494463 +:102D6C002E0073645F626C655F6366675F73657486 +:102D7C0028292072657475726E656420257320771E +:102D8C0068656E20617474656D7074696E6720740B +:102D9C006F2073657420424C455F47415454535F18 +:102DAC004346475F415454525F5441425F53495A22 +:102DBC00452E0073645F626C655F6366675F736565 +:102DCC007428292072657475726E656420257320D1 +:102DDC007768656E20617474656D7074696E6720B8 +:102DEC00746F2073657420424C455F4741545453B3 +:102DFC005F4346475F534552564943455F434841FD +:102E0C004E4745442E00496E737566666963696565 +:102E1C006E742052414D20616C6C6F6361746564FB +:102E2C0020666F722074686520536F6674446576F3 +:102E3C006963652E004368616E6765207468652060 +:102E4C0052414D207374617274206C6F63617469AC +:102E5C006F6E2066726F6D203078257820746F202D +:102E6C00307825782E004D6178696D756D20524152 +:102E7C004D2073697A6520666F72206170706C6981 +:102E8C00636174696F6E20697320307825782E0029 +:102E9C0073645F626C655F656E61626C6528292086 +:102EAC0072657475726E65642025732E006E726681 +:102EBC005F7364685F626C6500000000F8070300D4 +:102ECC0040080300080000006E72665F7364685F60 +:102EDC00736F6300400803005808030008000000EB +:102EEC0043000000504F5349580000002020202080 +:102EFC00202020202068282828282020202020205E +:102F0C0020202020202020202020202048101010BD +:102F1C0010101010101010101010101084848484D5 +:102F2C00848484848484101010101010108181818A +:102F3C0081818101010101010101010101010101F5 +:102F4C000101010101010110101010101082828288 +:102F5C0082828202020202020202020202020202C5 +:102F6C0002020202020202101010102000070320BD +:102F7C00041702010857104080000000EC2E0300DB +:102F8C00F02F03000431030053756E004D6F6E007B +:102F9C005475650057656400546875004672690085 +:102FAC0053617400000000004A616E0046656200C7 +:102FBC004D617200417072004D6179004A756E006E +:102FCC004A756C0041756700536570004F6374005F +:102FDC004E6F76004465630000000000414D0050C8 +:102FEC004D0000002831030024310300243103007C +:102FFC002431030024310300243103002431030065 +:10300C00243103002431030024310300FFFFFFFFB0 +:10301C00FFFFFFFFFFFFFFFFFFFF00006430030017 +:10302C00942F0300A0300300B42F0300E82F0300FB +:10303C0048300300F830030054300300256D2F2571 +:10304C00642F25790000000025612025622025656C +:10305C00202554202559000053756E646179004D6C +:10306C006F6E64617900547565736461790057659E +:10307C00646E657364617900546875727364617908 +:10308C000046726964617900536174757264617988 +:10309C00000000004A616E756172790046656272CB +:1030AC0075617279004D6172636800417072696C70 +:1030BC00004D6179004A756E65004A756C79004166 +:1030CC0075677573740053657074656D6265720015 +:1030DC004F63746F626572004E6F76656D626572D8 +:1030EC0000446563656D62657200000025483A25F1 +:1030FC004D3A255300000000C1050300DD05030017 +:10310C00E905030041060300290603003506030008 +:10311C00F505030005060300000000002E0000006A +:10312C0000000000002000400000000000200040D3 +:10313C000000000000000000FF0000000090D00321 +:10314C00000000000000000000000000FFFFFFFF77 +:10315C00FFFFFFFF00000000000000000000000067 +:10316C0000000000001001401100040000000000ED +:10317C0000000000FFFFFFFFFFFFFFFF000000004B +:10318C000000000000000000000000000000000033 +:10319C0000000000FFFFFFFFFFFFFFFF000000002B +:1031AC000000000000000000000000000000000013 +:1031BC0000000000FFFFFFFFFFFFFFFF000000000B +:1031CC0000000000000000000000000000000000F3 +:1031DC0000000000FFFFFFFFFFFFFFFF00000000EB +:1031EC000000000000000000000000000A180100B0 +:1031FC00FFFF1801FFFFFFFFFFFFFFFFFFFFFFFFB8 +:10320C00FFFFFFFF1818181818181818882F03003C +:10321C00882F0300882F0300882F0300882F0300BA +:040000032000637501 +:00000001FF diff --git a/2.ble_app_dfu/test_image/app_11.hex b/2.ble_app_dfu/test_image/app_11.hex new file mode 100644 index 0000000..5a860fb --- /dev/null +++ b/2.ble_app_dfu/test_image/app_11.hex @@ -0,0 +1,3372 @@ +:020000022000DC +:1060000000000120756302005D6302005F6302000F +:106010006163020063630200656302000000000028 +:1060200000000000000000000000000067630200A4 +:1060300069630200000000006B6302006D630200F0 +:10604000C99D02006F630200CDA102006F630200D0 +:106050006F6302006F63020081A002006F630200A1 +:106060006F6302006F6302006F6302006F630200E0 +:106070006F6302006F6302006F6302006F630200D0 +:106080006F630200FD7B02006F6302006F6302001A +:106090006F6302006F630200650203006F6302001A +:1060A0006F6302006F6302006F6302006F630200A0 +:1060B0006F6302006F630200000000000000000038 +:1060C0006F6302006F6302006F6302006F63020080 +:1060D0006F6302006F6302006F6302000000000044 +:1060E00000000000000000000000000000000000B0 +:1060F00000000000000000000000000000000000A0 +:10610000000000000000000000000000000000008F +:10611000000000000000000000000000000000007F +:10612000000000000000000000000000000000006F +:10613000000000000000000000000000000000005F +:10614000000000000000000000000000000000004F +:10615000000000000000000000000000000000003F +:10616000000000000000000000000000000000002F +:10617000000000000000000000000000000000001F +:10618000000000000000000000000000000000000F +:1061900000000000000000000000000000000000FF +:1061A00000000000000000000000000000000000EF +:1061B00000000000000000000000000000000000DF +:1061C00000000000000000000000000000000000CF +:1061D00000000000000000000000000000000000BF +:1061E00000000000000000000000000000000000AF +:1061F000000000000000000000000000000000009F +:10620000354936480A1A02D0072291438D4634494F +:1062100034480A1A06D00722914381F309880222E2 +:1062200082F3148830483149314A00F044F831484B +:106230003149324A00F03FF831483249324A00F0E1 +:106240003AF832483249334A00F035F83248334997 +:10625000334A00F030F833483349344A00F02BF821 +:1062600033483449344A00F026F83448344900228F +:1062700000F02CF833483449002200F027F8334866 +:106280003349091A082902DB002202604160314AC1 +:1062900090471F481F49884205D00268043003B464 +:1062A000904703BCF7E700208646EC46002000211B +:1062B000294A9047FEE7884207D0521A05D0037852 +:1062C00001300B700131013AF9D17047884202D098 +:1062D00002700130FAE770470000012000E0002062 +:1062E00000000120000001202C3103007422002056 +:1062F00074230020D0630200D0630200F80703007B +:106300002C31030074220020742200208C09030029 +:106310008C0903008C0903008C0903008C0903001D +:106320008C0903008C0903008C0903002C31030045 +:106330002C320300742300207423002074230020D7 +:106340008C3500208C3500208C3500208C350020C9 +:106350008C5500209D63020079B30200FEE7FEE742 +:10636000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE705 +:1063700000F002B8FFF7FCBF0F484FF00701884359 +:1063800085460E4880470E48016841F4700101605F +:10639000BFF34F8FBFF36F8FFFF732BF09480A4932 +:1063A0000A4A884207D0521A05D0037801300B7090 +:1063B0000131013AF9D1704700000120ED6E020071 +:1063C00088ED00E07809030060220020742200209C +:1063D000F0B595B01D46164608460C4603F05EFA29 +:1063E0001A9B0D93CDE9086500252B46082205A9C7 +:1063F00020460A958DF82C500C9503F06BFA079BFC +:106400000293069B03939DF814308DF8115003F00E +:106410000302012A1DD1BDF81420059DC3F3C20358 +:10642000C2F383168DF81030B20008230EA920465F +:1064300003F050FAC5F3952508AB0093324602AB42 +:106440000EA9284600F0C8FB204603F02BFA15B031 +:10645000F0BD022AF8D1BDF81650C3F3C203C5F34C +:1064600089158DF810300827082D2E4628BF0826DC +:106470003B4632460EA9204603F02CFAAD1B08AB72 +:1064800002AA31460EA8374400F00AFC002DEBD1D9 +:10649000DAE70000014B01221A707047B523002093 +:1064A0007047000070B50E4D06460FCD88B06C46A3 +:1064B0000FC495E80F00002E84E80F00094A0A482F +:1064C0004FF0060308BF00226946009303F004FC66 +:1064D00008B100F0C9FF054B1E7008B070BD00BFC9 +:1064E0008C090300956402007422002074230020AC +:1064F00007B5044B0093044A4023FFF769FF03B03C +:106500005DF804FB0D6502007523002038B50D48C9 +:106510000D4C0E4D002323700378EB5CD2B263B1B7 +:10652000043004F0E1FA08B100F09EFF084B1A783D +:1065300012B12378002BFBD038BD0C3004F082F868 +:10654000F1E700BF74220020B5230020082C0020B2 +:106550007423002008B50848084A0378D35C3BB18F +:10656000043004F025FABDE808400020FFF79ABF88 +:106570000C3003F0F1FFF6E774220020082C002015 +:106580000120FFF78FBF000008B5FFF7F9FF0448AF +:10659000042100F08BFA034B01225A7108BD00BFA1 +:1065A0005409030088220020037813F0040216D057 +:1065B00003F00303012B03D0022B09D00120704705 +:1065C0000A6800880232C0F3831002440A60F5E7CB +:1065D0000B684288023303EB92130B60EEE7104620 +:1065E000704700002DE9F04FDFF81CA187B00F467F +:1065F00000230446861C0DF1070015468DF8073070 +:1066000001F08EF9DAF804203A60DAF8083003F580 +:1066100080739B1A0AF21C470AF583690AF2144830 +:10662000B3421AD30020002D69D004F00F039B0160 +:1066300043F0050363F30F00DAF80430DAB20332F3 +:1066400033444AF822009DF80700CAF8043001F0EC +:106650008BF9012007B0BDE8F08F0121384602F028 +:1066600089FB484602F0A1FB404602F09EFBDAF8A7 +:1066700008000290C0B203300AEB800002A9FFF7C5 +:1066800093FF029B30BBDAB20AEB8202D16803911E +:106690009A1C0133DBB20AEB83030292D3F80CB0ED +:1066A00001F00303012B22D0022B15D08346404674 +:1066B00002F07EFB10B1029BCAF8083059463846FA +:1066C00002F058FBDAF80830DAF8042003F580739A +:1066D0009B1AA5E7D8B2CEE7BDF80E30C3F38913F5 +:1066E00003334FEA1B4B02EB93030293DFE7BDF842 +:1066F0000C30C3F383134FEA1B4B1344F5E7A40597 +:1067000044F0060098E700BF88240020064B0748A5 +:1067100010B500221A7003F07AF8044610B9044844 +:1067200003F098F9204610BD882400206409030076 +:10673000E009030030B50A4C71B10A4A0A49121B3C +:10674000D20800239A4201D1002030BD31F82350F5 +:10675000854202D00133F5E7034654F83300F4E7ED +:106760005C0803002409030060220020094B013962 +:1067700003EBC000032909D8DFE801F00A02040690 +:1067800004207047007970474079704700207047B7 +:10679000022070475C08030070470000034BD3E9F8 +:1067A0000130C31A58425841704700BF8824002066 +:1067B0002DE9F04186B0FFF7F1FF0546002840F0D3 +:1067C000ED80774CC4F81804BFF34F8FA368029391 +:1067D000DBB2033304EB830002A9FFF7E5FE029B63 +:1067E00018B1D4F81824002A5AD0DAB2991C01330F +:1067F00004EB8202DBB204EB8303D268DB68049310 +:1068000002F00303022B0392029154D1BDF80E3023 +:106810006448C3F38917502F3E4628BF502606F11F +:10682000080166F38F13C1F30901ADF80E3003F0D0 +:1068300006F80546002800F09C8003F02FF800239E +:10684000082203A9284603F03BF80299CB43DBB2A8 +:106850000133C9B20331B6EB830F4FEA830204EB75 +:10686000810125D95FFA82F80823A6EB080628469D +:1068700003F026F8F6B208F108034B4903F0FC03D5 +:106880003246284603F01CF8029B033703EB9707B8 +:106890000297D4F81834002B43D1D4F8106453E095 +:1068A00062689A4294D8A260284606B0BDE8F0819A +:1068B00008233246E5E7012B5BD1BDF80C3039489F +:1068C000C3F38311062928BF062161F3891302311E +:1068D00001F00F018900ADF80C3002F0B0FF054661 +:1068E000002846D002F0DAFF0023082203A9284638 +:1068F00002F0E6FF0026BDF80C20C2F38312B300BD +:10690000964203F10803C4D202994A1CC9B203316A +:10691000029204EB81010422284602F0D1FF0136E5 +:10692000E9E7284602F0BEFFFFF738FF80F00100DC +:10693000C5B2B9E7F3685B7923B1336829461B68B0 +:1069400030469847F3681E68002EF3D1284602F0BF +:10695000A9FF0DF107008DF8076000F0E1FFD4F802 +:1069600018340BB9029BA3609DF8070000F0FCFFF0 +:10697000DAE7D4F8104454B90C4B0D480D49C01A4D +:10698000C008000440F0020000F05EF8CCE7236885 +:1069900020469B689847E3681C68ECE7002583E77E +:1069A0008824002064090300942400205C0803006C +:1069B00084080300C90903002DE9F34704460E4685 +:1069C000924601A9012218469946FFF70BFE1C4F7B +:1069D00010B3019D4FF00008AA1CC84508EB020146 +:1069E00025D11848002102F07EF980F31000000440 +:1069F00040EA1440E4006B1C04F03804DBB2EDB252 +:106A000044F0010407EB8303033544EA881444EAA5 +:106A10008624D86047F825403B781BB1FFF7C8FEB5 +:106A20000028FBD1FFF7B8FE02B0BDE8F087C9B27D +:106A300007EB81015AF82830CB6008F10108CCE758 +:106A400088240020A428002000231A46FFF7B4BFA2 +:106A500007B50123019201AAFFF7AEFF03B05DF86D +:106A600004FB07B5CDE9002302236A46FFF7A4FF24 +:106A700003B05DF804FB1FB5CDE90123069B03932A +:106A800001AA0323FFF798FF05B05DF804FB1FB5CB +:106A9000CDE90023069B0293079B03936A460423D8 +:106AA000FFF78AFF05B05DF804FB000030B50F4C1E +:106AB000D4F8102403460020114631B9D968087172 +:106AC0004AB9C4F810340A6030BDC9680D798542EE +:106AD00006D00968F1E7D26814680C601360F3E728 +:106AE00001300A28E8D14FF0FF30EDE7882400207C +:106AF00038B5084B0125D3F810441D7004B938BDD2 +:106B0000E3685D71236820465B689847E3681C680A +:106B1000F4E700BF8824002030B5C38885B0044660 +:106B20000D4633B1144A00921449154A284602F022 +:106B3000A2F9217A05291DD0637A4BB1A088FFF70D +:106B400015FE104B104953F82020284602F093F907 +:106B5000227A0E4BA08853F8222003920021FFF7DF +:106B6000E9FD039A0A490346284605B0BDE83040CE +:106B700002F081B905B030BD0C0A0300F40903002E +:106B8000EC090300780A0300732303009C0A030046 +:106B9000110A030007B503460846197A052911D0E2 +:106BA0005B7A2BB1094A0A49019002F064F9019815 +:106BB0000849019002F05FF9019803B05DF804EB19 +:106BC00002F04EB9002AF8D0F2E700BF0C0A030029 +:106BD00073230300090A03002DE9F04385B01F4623 +:106BE0000C9D002395F80C902B7306460C4690469E +:106BF00029463846FFF790FFB8F1060F09D8DFE8BD +:106C000008F00412181F283340003146284602F0CD +:106C100032F9002229463846FFF7BCFF85F80C9070 +:106C200005B0BDE8F08322683146284602F023F91A +:106C3000EFE7D4E900233146284602F01CF9E8E7E3 +:106C4000A36800933146D4E90023284602F013F9E3 +:106C5000DFE7E3680193A36800933146D4E900239A +:106C6000284602F008F9D4E723690293E368019308 +:106C7000A36800933146D4E90023284602F0FBF8CC +:106C8000C7E76369039323690293E3680193A368E9 +:106C900000933146D4E90023284602F0ECF8B8E727 +:106CA00008292DE9F74F80460E4617461C463DD869 +:106CB00000251B7B2573214610460193FFF72CFF0F +:106CC000DFF88CA0DFF88CB0AE4232D918F805207E +:106CD0005946204602F0CFF80135082DF4D11B4962 +:106CE000DFF874A0DFF874B0204602F0C4F84FF06B +:106CF00000094E4524D918F809507E2D1ED8284683 +:106D000009F0ACFC002814BF2A462E225946204622 +:106D100002F0B1F809F10109B9F1080FE9D1012236 +:106D200021463846FFF736FF019B237303B0BDE8C9 +:106D3000F08F5146204602F09EF8CDE72E22E5E77F +:106D40005146204602F097F8E4E700BF250A030009 +:106D5000210A03001B0A0300230A0300270A030079 +:106D6000054A4FF0A043105CD3F8043523FA00F035 +:106D7000C04300F001007047B40A0300044B1A5CE2 +:106D8000012393404FF0A042C2F80C35704700BF7A +:106D9000B40A0300044B1A5C012393404FF0A04255 +:106DA000C2F80835704700BFB40A030008B50020D8 +:106DB000FFF7F0FF0120FFF7EDFF0220FFF7EAFFEA +:106DC000BDE808400320FFF7E5BF08B50020FFF746 +:106DD000D5FF0120FFF7D2FF0220FFF7CFFFBDE86C +:106DE00008400320FFF7CABF074A4FF0A041105CDC +:106DF000D1F804350122824022EA03001340C1F891 +:106E00000805C1F80C357047B40A0300054A4FF075 +:106E1000A043105CD3F8103523FA00F0C04300F013 +:106E200001007047B00A03000D2809D00E2809D0D0 +:106E30000F2809D010280CBF03204FF0FF307047F7 +:106E4000002070470120704702207047014B185CFA +:106E5000704700BFB00A0300C20708B501460CD551 +:106E60004FF0A0430322C3F84427C3F84827C3F8D0 +:106E70004C27C3F85027FFF799FF8B070AD54FF02F +:106E8000A0430C22C3F83427C3F83827C3F83C27A3 +:106E9000C3F8402708BD4FF08053D3F83001421C9F +:106EA00004BF4FF0704393F8E00F831F58425841DE +:106EB000704700004FF0704393F8E02F062A09D185 +:106EC000D3F8E83FC3F30313033B042B02D8024A71 +:106ED000D05C704700207047C70A0300024AD2F80E +:106EE0000034002BFBD0704700E0014010B5FFF7E5 +:106EF000D2FF40B14FF08053944AD3F82433C3F308 +:106F00000423C2F84035FFF7D5FF10B1904B914AEA +:106F10005A67FFF7C0FF48B14FF080534FF08042EF +:106F2000D3F84432C3F34233C2F83C35FFF7C2FF13 +:106F300030B1894AD2F8FC3023F08073C2F8FC30BB +:106F4000FFF7A9FF40B14FF080430022C3F80C21A6 +:106F5000C3F81021C3F83825FFF7ACFF20B14FF07C +:106F600080430322C3F8A025FFF7A4FF60B17B4B49 +:106F70000522C3F810260122C3F888260022C3F890 +:106F800018263F22C3F814264FF08053D3F830213F +:106F9000511C09BF4FF07043D3F8343193F8E02F00 +:106FA000D3F8E83F08BFC3F30313062A4DD1033BD0 +:106FB000042B03D86A4AD35C002B46D04FF0805292 +:106FC000684BD2F80414C3F82015D2F80814C3F89B +:106FD0002415D2F80C14C3F82815D2F81014C3F8ED +:106FE0002C15D2F81414C3F83015D2F81814C3F8BD +:106FF0003415D2F81C14C3F84015D2F82014C3F885 +:107000004415D2F82414C3F84815D2F82814C3F84C +:107010004C15D2F82C14C3F85015D2F83014C3F81C +:107020005415D2F83414C3F86015D2F83814C3F8E4 +:107030006415D2F83C14C3F86815D2F84014C3F8AC +:107040006C15D2F84424C3F87025FFF724FF48B12B +:107050004FF080534FF08042D3F8583203F04F0383 +:10706000C2F8E43EFFF717FF48B14FF08043D3F872 +:107070000024D20744BF6FF00102C3F800244FF090 +:107080008053D3F83021062A0ED1D3F83431033B94 +:10709000042B02D8344AD35C33B1344AD2F83C379B +:1070A00043F48063C2F83C372B4AD2F8883043F46B +:1070B0007003C2F88830BFF34F8FBFF36F8F4FF06C +:1070C0008053D3F83021062A0FD1D3F83431033B53 +:1070D000042B02D8264AD35C3BB14FF01023D3F8DF +:1070E00008224FF08043C3F858254FF01023D3F8FF +:1070F0000022002A03DBD3F80432002B22DA1D49D8 +:1071000001234FF01020C1F804351524FFF7E6FEE7 +:10711000C0F80042FFF7E2FEC0F80442FFF7DEFECF +:107120000023C1F80435FFF7D9FEBFF34F8F0A499A +:10713000114BCA6802F4E0621343CB60BFF34F8F78 +:1071400000BFFDE70D4B0E4A1A6010BD0030014034 +:1071500000C007400DF0ADBA00ED00E00050004067 +:10716000B80A030000C00040BD0A03000010004040 +:10717000C20A030000E001400400FA05902200204A +:107180000090D003C30710B507D4F023054A400888 +:10719000145C23401943115410BD0901C9B20F23D7 +:1071A000F4E700BF5029002030B5094B1C78094B8B +:1071B000196800239C4202DC0022104630BD11F801 +:1071C0003350854201EBC302F7D00133F2E700BF31 +:1071D000402900206029002013B504460191FFF7E3 +:1071E000E3FF38B143682BB10199204602B0BDE8F6 +:1071F0001040184702B010BD034B04481968002224 +:10720000490800F055BA00BF442900209822002008 +:1072100010B5C0B2FFF7C8FF0446007802F026FFA1 +:1072200063785A1E53425341834208D1044BD3E939 +:107230000023134303D1BDE81040FFF7DDBF10BDAD +:107240004829002037B54308374AD35CC2074CBFF2 +:107250001B0903F00F0304460D46042B25D8DFE875 +:1072600003F003262F3C4000F9B10121FFF78AFF0C +:1072700000230DF107008DF8073000F051FB0120CD +:10728000A4F12003C4F12001284A20FA01F100FAF8 +:1072900003F30B43A040D2E9004120430B43C2E972 +:1072A00000039DF8070000F05FFB03B030BD00292C +:1072B00018BF0221204603B0BDE83040FFF762BF8F +:1072C00049B10321FFF75EFF0121204603B0BDE86D +:1072D0003040FFF781BF0121ECE70029E5D104210F +:1072E000E8E709B10321E5E7FFF74CFF294620460F +:1072F000FFF772FF0DF107008DF8075000F010FB4B +:107300000120A4F12003C4F12001084A20FA01F170 +:1073100000FA03F30B43A040D2E9004124EA000045 +:1073200021EA0303BBE700BF5029002048290020C1 +:107330002DE9F041124E134F00243378A34208DCAC +:10734000114BD3E90023134318D0BDE8F041FFF7F8 +:1073500053BF3D6805EBC40815F8340002F086FE03 +:1073600098F801305A1E53425341181A4142414184 +:1073700015F83400FFF766FF0134DEE7BDE8F08161 +:10738000402900206029002048290020092AF7B55B +:1073900005460C4616463ED902F0A0FDE8B11F4B4B +:1073A0001F481D601F4B204F1C70204B00211022D6 +:1073B0001E6009F0BEF91E4B00200021C3E9000148 +:1073C000013CE4B20326FF2C0DD11A4A1A480021D1 +:1073D00003B0BDE8F04000F059B902F047FD0028C5 +:1073E000DDD003B0F0BD9DF8063015F834008DF8FF +:1073F000046005EBC40223F007038DF8063001A9F1 +:1074000093788DF805303A4602F072FD013CE4B203 +:107410000028D8D0E5E70720E3E700BF6029002077 +:107420005029002040290020117202004429002028 +:107430004829002031730200D80A030070B5084DB6 +:10744000084E00242B789C4201D3002070BD336885 +:10745000012113F8340002F0C3FD0134F2E700BF4C +:1074600040290020602900201FB50021039001AAB7 +:1074700044F20100CDE9011100F004F805B05DF817 +:1074800004FB000038B572B6FFF732FBFFF790F946 +:107490000028FBD1104B114C114D1249E41AE4089D +:1074A000240444F00100FFF7CFFAD5F8F030DB07F1 +:1074B00000D500BE0C4944F00200FFF7C5FABFF347 +:1074C0004F8FEA68094B02F4E0621343EB60BFF3AD +:1074D0004F8F00BFFDE700BF5C0803008408030076 +:1074E00000ED00E0DC0A0300E80A03000400FA05EE +:1074F00010B5D0E90243D1E90202A04272EB0303C6 +:107500002CBF0120002010BD08B50A4800F05FFB29 +:10751000094AD2E90031C018084BD3E9002341F1F0 +:107520000001904271EB030303D210F1807041F12E +:10753000000108BDB822002068290020E0290020B1 +:1075400037B505460C460A4801A901F000FB60B1B9 +:107550000570446001A9064801F023FB18B10548F5 +:1075600000F03AFB002003B030BD0420FBE700BF71 +:10757000CC290020B8220020294B73B51E78044680 +:107580001EB90026304602B070BD0028F9D0FFF7C2 +:10759000BBFFD4E902239042994139D300230DF176 +:1075A00007008DF8073000F0BBF923692BB94FF0C5 +:1075B000FF324FF0FF33C4E902239DF8070000F0CB +:1075C000D3F9D4E90530984700250DF107008DF86F +:1075D000075000F0A5F92369C3B1D4E90212B2F152 +:1075E000FF3F08BFB1F1FF3F05D05B1842F1000239 +:1075F000C4E9023235469DF8070000F0B5F9002DC8 +:10760000BFD00848214602F044FABBE71D46F2E726 +:10761000B3F1FF3F08BFB2F1FF3FB2D0F1E700BFC7 +:1076200070290020040B030013B5114B1149186891 +:10763000019008231048582201F054FA044698B9E2 +:107640000E4A0F4801A900F0B3F9044660B90C488E +:10765000012100F09FFA01230A4A0948194600F067 +:1076600001FA094B01221A70204602B010BD00BF7A +:10767000000B030074290020CC2900206977020048 +:10768000B8220020FFFF7F007029002030B56AB1CA +:1076900003684FF0FF344FF0FF355A614A1E5142E4 +:1076A000C3E9024551411961002030BD0720FCE7C4 +:1076B000F7B5044600250DF1070017460E468DF874 +:1076C000075000F02DF9D4E90223B3F1FF3F08BFC2 +:1076D000B2F1FF3F07D1FFF717FF301841F100016A +:1076E000C4E9020101259DF8070000F03DF955B1FC +:1076F0002369A76103B126612146002003B0BDE8DC +:10770000F040FFF71DBF284603B0F0BD37B5054672 +:1077100000240DF107008DF8074000F001F9D5E9CC +:107720000223B3F1FF3F08BFB2F1FF3F1FBF4FF08D +:10773000FF324FF0FF33C5E9022301249DF8070013 +:1077400000F012F934B12946012003B0BDE8304001 +:10775000FFF7F6BE204603B030BD0000014800F040 +:1077600036BA00BFB82200202DE9F743064600F0E4 +:1077700019FA40B1624AD2E9003113F1807341F144 +:107780000001C2E900310021304600F01AFA38B198 +:107790005C4C236823B12068FFF7EEFE00232360D2 +:1077A0000121304600F00DFA20B1FFF7ADFE564B37 +:1077B000C3E900015548534C01A901F002FA4FF00A +:1077C000FF384FF0FF39A0B9DFF844814D4D4046F6 +:1077D00002F075F9002800F08580D0E90223B3F1AA +:1077E000FF3F08BFB2F1FF3F32D1404602F061F9DE +:1077F000EDE70378012B20D0022B08D1444D284619 +:1078000002F057F9002877D0C0E90289F7E75BB9A1 +:107810004168D1E90223B3F1FF3F08BFB2F1FF3F56 +:1078200002D03B4802F035F901A9384801F0F4F9DB +:1078300001A9364801F0C5F9C5E7416823689942B6 +:1078400002D100232360EFE7314802F03BF9EBE778 +:10785000296891B12968D1E9020182428B412FD276 +:107860002B68D3E90223B3F1FF3F08BFB2F1FF3F1A +:1078700003D02968404602F00CF9404602F019F99D +:10788000D0E902490746FFF73FFE201A69EB0109DC +:10789000012879F1000318DBB0F5350F13D3FFF79A +:1078A0005DFF1C4A02441C484FF49603002100F07F +:1078B000F9F890B92B6813B9304600F0CBF82F6077 +:1078C00003B0BDE8F0832246EDE71348002100F045 +:1078D0006EF93846FFF750FE01E00D28F9D000237D +:1078E0002B6074E7074B1B68002BE9D1304603B0CF +:1078F000BDE8F04300F0B2B8084B01221A7093E7DC +:1079000068290020E8290020E0290020CC29002057 +:10791000040B0300FFFFB400B822002070290020F0 +:1079200070B5EFF3108672B60C4A946801239CB9C7 +:1079300093600B4B0B4DD3F8801029401160C3F8B6 +:107940008050D3F8841051604FF0FF32C3F8842088 +:10795000047006B962B670BD0370FAE7EC29002026 +:1079600000E100E0FC06FFBD084B9A6810B55AB173 +:1079700050B9EFF3108172B6054A1C6814605C6858 +:107980005460986001B962B610BD00BFEC290020B8 +:1079900000E100E0435882B03BB10023435043581C +:1079A0000193019B012002B070471846FBE70000DD +:1079B000F8B5204B4479204E43F824201F4A204B31 +:1079C00006EBC4049B1A2279DB081B0432B143F096 +:1079D00002001C49FFF738F80820F8BD02680C883F +:1079E000C2F8084590F904508A7804795201002DB4 +:1079F000D2B219DB14494F1987F8002301226D090F +:107A000004F01F0402FA04F441F82540427906EB21 +:107A1000C201012446F832000C7143F003000B4907 +:107A2000FFF712F80020D8E7094904F00F040A55BF +:107A3000ECE700BF002A0020F82900205C080300C2 +:107A400094080300100B030000E100E0320B030078 +:107A500014ED00E0036801221A60704703680122F8 +:107A60005A60704773B501F15005AD000068ADB2C2 +:107A70004FF480348C400026C0F80843C0F84843D7 +:107A8000465101F5A8714559019522F07F42019DAB +:107A900040F82120C0F844430BB1C0F8044302B0C1 +:107AA00070BD00002DE9F74F0D4622F07F440268BB +:107AB0004FF4803705F150068F408046B60002EB48 +:107AC0008500C2F84873B6B2C2F80873D2F804153C +:107AD00099464FF0000BD0F84035C0F8401542F8F9 +:107AE00006B05B1A9259009223F07F43012B009A53 +:107AF0004FEA850A0CD1264B4FF4806043F0010316 +:107B00009847D8F8003043F806B09B590193019B81 +:107B1000D8F80010D1F80465C1F84473A31B23F012 +:107B20007F43012B1CD11A4B05F5A875013443F096 +:107B3000010341F825404FF480609847D8F80030A1 +:107B4000D3F804359E4209D1D8F800300020C3F89C +:107B50004473C3F8047303B0BDE8F08F0D20FAE757 +:107B60008A44C9F1FF13CAF84045D1F80405221A26 +:107B7000013A22F07F4203F57F439342EED3002A7D +:107B8000E2D10134CAF84045D1F804359842DAE729 +:107B9000500B030003680222C3F8442309B1C3F861 +:107BA0000423704700684FF48271FFF7F3BE4FF46F +:107BB000803303FA01F10368C3F84813C3F80813CC +:107BC000704750318900006889B2FFF7E3BE03684F +:107BD000D3F804057047000090F90430002B09DB4E +:107BE0005A09012103F01F0301FA03F3403202494D +:107BF00041F82230704700BF00E100E0024B034A29 +:107C00001B681068184700BF002A0020F8290020D0 +:107C100070B5064D0646002455F8043B0BB13046BE +:107C200098470134042CF7D170BD00BF102A002002 +:107C30004388033300EB830399420BD382884FF6CA +:107C4000FF739A4208D0038833B18068431C5842BE +:107C5000584170470220704701207047033080B2BE +:107C600040F2FE33984230B51FD8134B1A783AB918 +:107C70001C895D892C440444A4B2B4F5806F0AD9F0 +:107C80001A7DAAB99A8BDC8B2244024492B2B2F5D7 +:107C9000806F0DD801220A801446142202FB04339F +:107CA0005A8910445881002030BD48F20860FBE733 +:107CB00048F20660F8E700BF442A00200B4A0C494E +:107CC0005388142000FB0311CB6833B904204968A2 +:107CD00010700122074801F063BB074905231370A8 +:107CE00002238B80012209680023F3E7282A002061 +:107CF000442A0020602200200C2B002007B500231E +:107D000005490093054A09680548082301F0AEFAC1 +:107D100003B05DF804FB00BF0C2B0020640B0300D4 +:107D20006022002007B5002301460093034A04485F +:107D3000082301F09BFA03B05DF804FB5C0B030021 +:107D40006022002013B500230C4600930146084A28 +:107D50000848042301F08AFA38B9074B142101FBC3 +:107D6000043101230B7402B010BD48F20D60FAE734 +:107D7000580B030060220020442A002037B50A482F +:107D80000A4B42689C8819685388032503330570A1 +:107D90009BB2002000909B0001EB8401044801F09D +:107DA00065FA03B030BD00BF282A00200C2B00204C +:107DB0006022002010B50146044800F0C8FE1C22D5 +:107DC0000446002108F0B5FC204610BDF82A00202A +:107DD00068B10268084B9A4209D14068074B984243 +:107DE00007D00133984214BF0320012070470320BD +:107DF00070470020704700BFDEC0ADDEFE011EF1FF +:107E00002DE9F0410D460223154F2B80164600F553 +:107E1000805100F108044FF001088C420ED2236813 +:107E200001330BD02046FFF703FF48B10EB186F8AF +:107E30000080022809D14FF480632B80BDE8F081D7 +:107E4000A3683A68934200D93B602B886288033369 +:107E500013442B806388033304EB8304DDE700BF06 +:107E60003C2A002038B5144B14220D4602FB00308A +:107E70002B68446804F58051A3B15C88033403EB9C +:107E800084048C4215D22368013312D02046FFF7B8 +:107E9000CFFE012808D002280BD00028F1D12C6099 +:107EA000012038BD0834ECE76388033304EB830416 +:107EB000E7E70020F5E700BF442A0020426873B5D9 +:107EC00004460D466AB3234BD9688A4229D31B69FD +:107ED0009A4226D812F0030323D11F490089098949 +:107EE00088421ED12068916888421AD11B48416897 +:107EF0008A4203D901F580518A420DD381698A42B1 +:107F00000CD901F580518A4208D201222A80B3FAA5 +:107F100083F0400902B070BD1A46F7E748F20963E2 +:107F2000F5E700262E800196288801A9FFF79AFF21 +:107F300030B92B8801339BB2012B2B80F3D9E9E7B1 +:107F4000019B226899689142EED16360024B1B89C4 +:107F50002381DFE760220020282A0020442A002015 +:107F60002DE9F8431C461D4B1B7806460F46154667 +:107F700073B382B37CB3DFF86C804FF01409A3882D +:107F8000012B02D948F2096020E009FB03F318F83D +:107F900003302BB9A0882146FFF764FF20B9206089 +:107FA000A3880133A380EAE723681EB19988328849 +:107FB0009142EFD11FB119883A889142EAD19A686B +:107FC000C5E90023064B1B892B810020BDE8F883FF +:107FD00048F20160FAE748F20460F7E7202A00203F +:107FE000282A0020442A002008B5074B5888191D6C +:107FF000FFF738FF18B1BDE80840FFF7BFBEBDE886 +:108000000840FFF75BBE00BF282A00202DE9F0479B +:108010009F4FDFF8A08288B006463B6823B99D4891 +:10802000414600F0CEFD38603D6829784B1E052B97 +:1080300007D8DFE813F02000740074000601060181 +:108040005D0148F20E641422002103A808F071FBC0 +:1080500041F61D539C4208BF00243B6804941A78E3 +:10806000023A042A00F2FC81DFE812F0DD01E901A6 +:108070000B0213021A022EB1874B00225A604FF4F2 +:108080000644E0E72B79032B1CD8DFE803F0140249 +:108090002A35824A1378022B1AD0137D022B4FF017 +:1080A000010317D114214B43D1180020D054486844 +:1080B000FFF738FE03E001232B71FFF71FFE0028B6 +:1080C00000F0B980744B00225A6048F20D64BAE7A0 +:1080D0000023E7E7704A13700023536041F61D54F4 +:1080E000B1E76F496F48002302222B718A8009682B +:1080F000012201F055F9E2E76B4B684C5B88684A56 +:1081000014214B43E11800262E714D68106815604C +:10811000958848600D810221E6549180C8E7B5F842 +:1081200014A0AA7DDFF87491AEB1022AEB8806D9BB +:10813000142101FB0A91DA1C088902440A811422E5 +:1081400002FB0A99C3F57F43B9F80A20FD331344B3 +:10815000A9F80A3093E7142303FB0A9318895C6893 +:1081600004EB8004062A69D8DFE802F0274E364483 +:108170001D5A040041F61D54AA7DEB88022A06D937 +:10818000142101FB0A91DA1C088902440A81142295 +:1081900002FB0A99C3F57F43B9F80A20FD33134463 +:1081A000A9F80A304FE74148414900234360AB69D1 +:1081B0000360FFF783FE00285BD00223AB7500232A +:1081C00000930423EA182146364801F04FF80028AE +:1081D00031D048F20D64CFE72B69002B14BF032385 +:1081E0000123AB750023009305F10C02042304F175 +:1081F0000801E9E70123AB750022EB8800922A69A8 +:108200009B0004F10C01DFE703290CBF05230623C3 +:10821000AB7500230093042305F10802E118D3E7AE +:108220000623AB75224B1988204B5868FFF78AFD4F +:1082300004460028A0D108B0BDE8F08748F20E64DB +:108240009AE7002E7FF41BAF2B79012B34D0022B41 +:108250003FF444AF002B7FF4F4AE02232B710DF1F9 +:108260000A01EB68039303A8CDE90466FFF726FE35 +:1082700010B948F20964E6E60498BDF80A1083884C +:10828000EB8003882B81FFF75DFD044629E000BFEA +:10829000402A0020F82A0020202A0020442A00201A +:1082A0000C2B002060220020282A0020042A002015 +:1082B000182B0020382A0020DFF8009203AA4B4632 +:1082C0003146A81DFFF74CFE044670B9B9F80410FA +:1082D0000498FFF737FD044648F209639C423FF4D7 +:1082E000FDAE002C7FF4AFAEA5E7C9E90066F3E769 +:1082F000002E7FF4C4AE6C4B1A7BBAB11E731A7891 +:10830000013A062A3FF69DAE01A151F822F000BFC6 +:10831000BB830200E1830200FF83020005840200A8 +:10832000438002000B8402001D8402001A78072A91 +:10833000E5D801A151F822F059830200FF82020022 +:10834000FF8202007F83020093830200B783020052 +:10835000B78302007B8302001A89544901321A81D3 +:1083600000225A801A730A78B2FA82F252099A727B +:108370000A7DB2FA82F25209DA72012207E04C4910 +:1083800058688A884088033202448A8002221A7020 +:10839000B5E75C88454A4649142505FB0422086870 +:1083A000546850608888108102200C608880002109 +:1083B00011740622EBE70722E9E79A7A32B9DA7AF2 +:1083C0008AB900221A705A805A6087E6374900221B +:1083D0009A72CA68002AF2D1097C0029EFD05A802B +:1083E000FFF702FE51E70022DA72304A116A0029D3 +:1083F000E7D192F82420002AE3D00122EFE7FFF72B +:10840000BDFC42E7FFF75AFC3FE75A88274B14218F +:1084100001FB02335868FFF785FC36E700225A60FB +:10842000FFF76CFC31E701228DF80C201A89ADF8BA +:1084300018209A88DB68ADF81A20059310E0022214 +:108440008DF80C201A89ADF818209A88ADF81A20FA +:10845000DA689B7D05929A1F534253418DF81C3078 +:1084600003A8FFF7D5FB0026414612483E6000F006 +:10847000D3FB1148012100F089FC00287FF4CDAD29 +:10848000D9E603228DF80C20DA88ADF818201A8975 +:10849000D0E704228DF80C20DB88ADF81830DFE738 +:1084A00005238DF80C30DBE7282A0020442A002021 +:1084B0000C2B0020F82A0020082B00201C2B002069 +:1084C0004068FFF7A3BD000008B50548012100F092 +:1084D00045FC18B9BDE80840FFF798BD08BD00BFCE +:1084E000082B00202DE9F3419846374B1B780646B0 +:1084F0000D46002B5CD000295DD009884FF6FF7334 +:1085000099425BD06B88002B58D06B689B0758D181 +:108510004AB92F890DF102013846FFF79FFB30B1B0 +:1085200002B0BDE8F08113885788ADF8023001A889 +:10853000FFF740FC044660B9BDF80220234B14212C +:1085400001FB023358890338C01B588148F2076089 +:10855000E6E780F8008000238375BDF8023083824F +:108560006B68036101211A4800F004FC2B88238109 +:10857000B8F1030F6B88A38004BF0423A3754FF0E9 +:10858000000508BF3368E06008BFA3611148E780B9 +:10859000658101A900F005FB36B1E36833600E4B3D +:1085A00075601B89B5723381FFF78EFF0020B7E736 +:1085B00048F20160B4E748F20460B1E748F20360B2 +:1085C000AEE748F20260ABE7202A0020442A0020F0 +:1085D0003C2A0020F82A0020282A002008B503465B +:1085E00007480268042A08D00168064A42F8213088 +:1085F000012100F0BFFB002008BD48F20B60FBE743 +:10860000142B0020102A00202DE9F04FDFF82082E3 +:1086100089B01422002103A808F08BF898F80030E4 +:1086200003F0FF0200923BB103A8FFF7F1FA002725 +:10863000384609B0BDE8F08F08F1040000F0B2FB45 +:108640000028F4D1009BDFF8ECA1D3F8F83F5C1CC4 +:1086500008BF4FF010234FF0805208BF5B691169CB +:108660005269581C08BF02FB01F3CAF8103069496F +:10867000A3F5405300225046CAF80C3000F0C4FD68 +:1086800007460028D4D11C2363496448DFF8A8B109 +:108690008C2200F027FA0323B9463D4601933C465D +:1086A000DAF80C604E443046FFF792FB012867D0A1 +:1086B000032817D000283DD159494FF0140C0CFB6A +:1086C00004FC01EB0C0201F80C0056600CF11002E6 +:1086D0000CF1080C0A4430466144FFF791FB45F069 +:1086E00002054AE03268531C02D04E4B9A4239D1FF +:1086F000321D06F580511068013033D104329142A9 +:10870000F9D1DBF800203AB902220123CBF800604E +:10871000ABF8042000930BE014226243404B02208C +:1087200099189854404A4E60548001340881A4B28C +:1087300045F0010509F58059B9F5405FB0D1019BBD +:10874000012B98BF0025EDB2022D03D0062D36D0A7 +:10875000002D3ED1002388F8003048F20A67C8F89F +:10876000043065E7019B2E495A1E93B214226243DE +:10877000881801934660032088540134A4B2D9E7D5 +:10878000009B6BB1264B1422624399180220985427 +:10879000DBF800204A60244A088154800134A4B2E6 +:1087A00000222249CBF800603046FFF729FBBBF8D6 +:1087B0000420022A0CBF042208221543BAE7012331 +:1087C00088F8003003A80023C8F80430FFF720FA27 +:1087D0002EE702A8FFF7EEFAC8B10123013D0370AE +:1087E0000A2D09D8DFE805F006080608070807087B +:1087F0000F110F000023037102A9084800F0D1F9FE +:10880000FFF762FE14E70323F5E70223F3E748F2DC +:1088100007670DE7580D03006C2A0020F82A002096 +:10882000442A0020DEC0ADDE282A0020102B0020C4 +:10883000202A0020602200200C2B002073B50D465A +:108840000446C8B1C1B10DF10601FFF737FBB0B165 +:10885000BDF806300B486668142202FB03000121B4 +:108860000C3000F087FA63682E600C336B600123D4 +:10887000A372002002B070BD48F20460FAE748F22B +:108880000960F7E7442A002013B50446A8B10DF1AA +:108890000601FFF713FB98B1BDF806200B4B14211E +:1088A00001FB0233DA6872B1A27A62B1DA680020A1 +:1088B000013ADA60A07202B010BD48F20460FAE733 +:1088C00048F20960F7E748F20560F4E7442A00201F +:1088D00002230022FFF706BE18B103230022FFF790 +:1088E00001BE48F204607047114B1B7813B5044673 +:1088F000ABB14FF6FF73984214D001A8FFF75AFAB4 +:1089000098B10523037001230371C48001A90948AC +:1089100000F047F9FFF7D8FD002002B010BD48F283 +:108920000160FAE748F20360F7E748F20760F4E70E +:10893000202A0020F82A00200F4B1B7807B5A3B18E +:1089400001A8FFF737FA98B10623037001A90B4875 +:1089500000F027F90A4B1A780AB101221A73FFF7BF +:10896000B3FD002003B05DF804FB48F20160F9E7B5 +:1089700048F20760F6E700BF202A0020F82A00200E +:10898000282A002007B5ADF80600ADF804100DF157 +:10899000060001A9FFF7E4FA03B05DF804FB07B590 +:1089A0001346ADF806000A4600200DF10601FFF758 +:1089B000D7FA03B05DF804FB07B51346ADF806001F +:1089C0000A460DF106000021FFF7CAFA03B05DF870 +:1089D00004FB20B119B103680B600020704748F216 +:1089E000046070472DE9F84F3C4B1B780446002B80 +:1089F0006DD000286ED0DFF8E8901222002107F039 +:108A000098FE032323804FF0000A4F4614264FF0B0 +:108A10000108D9F80410B9F80AB0B9F808500846A6 +:108A2000FFF7D6F9032808BF2388628804BF03F143 +:108A3000FF33238006FB0A735D44DB6813446380C5 +:108A400023899B446389A4F808B0ADB22B446381A9 +:108A5000C5F58065A389ADB2AB4238BFA58101F1F0 +:108A6000080501F58051A94229D92B68013326D088 +:108A70002846FFF7DDF801280AD0022815D0002883 +:108A8000F1D1A3880133A3800AE04FF0010AC0E7C7 +:108A9000E3880133E380E3896A8803331344E38185 +:108AA0006B88033305EB8305DDE7E38884F81080EA +:108AB0004D1BE189013301EBA501E380E18109F15F +:108AC0001409BAF1000FE0D00020BDE8F88F48F299 +:108AD0000160FAE748F20460F7E700BF202A0020AF +:108AE000442A002010B561B1B2FBF3F403FB142457 +:108AF000A4B244B9C0E9001484608281C3812046D5 +:108B000010BD0E20FCE70920FAE782B050E8022FE2 +:108B1000C188B2EB324F4FF0000317BF92B241EA67 +:108B2000014142EA014104E04268B2EB324F08BF22 +:108B3000012340E80212002AE8D18DF807309DF8A1 +:108B40000730002B0CBF1120002002B0704737B552 +:108B500050E8013F9DB2C48925448489A54228BFBD +:108B60002D1B0489A54202BFBFF32F8F002207E00F +:108B7000C5EA030540E80154002CE9D14FF0010299 +:108B80008DF803200193019A0A609DF8031001F00B +:108B9000FF0321B1006810FA82F003B030BD18461F +:108BA000FBE70A884B889A4209D150E8012FC2EAB4 +:108BB000024240E80123002BF7D10120704700203A +:108BC000704737B550E8023F1FFAA3F5C488A542A5 +:108BD00002BFBFF32F8F00220DE0C4892544848992 +:108BE000A54228BF2D1BC3EA054540E80254002CCE +:108BF000E8D14FF001028DF803200193019A0A6039 +:108C00009DF8031001F0FF0321B1006800EB124052 +:108C100003B030BD1846FBE70A884B889A4209D159 +:108C200050E8022FC2EA224240E80223002BF7D18B +:108C3000012070470020704701F01F024B090121FD +:108C4000914000EB830000F065B84B0910B501F0CE +:108C50001F040121A14000EB830000F04FF8E04029 +:108C600000F0010010BD01F01F0301229A404B09E2 +:108C700000EB8300D14300F065B84B0901F01F0100 +:108C800050F82300C84000F0010070472DE9F0477C +:108C90004F1E7F0980460E460137002558F82540B3 +:108CA00008EB8509E44394FAA4F4B4FA84F44FEA97 +:108CB000451A202C06D10135AF42EFD83446204664 +:108CC000BDE8F0875444A642F5D921464046FFF757 +:108CD000BCFF0028F3D0D9F80040E44394FAA4F490 +:108CE000B4FA84F4E5E710B5034653E8000F0A46EA +:108CF00043E8002494F0000FF7D110BD10B50346EF +:108D000053E8000F40EA010243E8002494F0000F0A +:108D1000F6D110BD10B5034653E8002F42EA01001A +:108D200043E8000494F0000FF6D110BD10B50346DF +:108D300053E8000F00EA010243E8002494F0000F1A +:108D4000F6D110BD10B5034653E8002F02EA01002A +:108D500043E8000494F0000FF6D110BD10B50346AF +:108D600053E8000F00EB010243E8002494F0000FE9 +:108D7000F6D110BD10B5034653E8002F02EB0100F9 +:108D800043E8000494F0000FF6D110BD10B503467F +:108D900053E8002FA2EB010043E8000494F0000F19 +:108DA000F6D110BD0121FFF7A9BF0121FFF7B2BF26 +:108DB0000021FFF7BBBF10B590B1D0E901230168D6 +:108DC0009B1ADBB20A60013BDBB2FF2B026802D1C7 +:108DD0000020107110BD11684C1C14600B70F2E77C +:108DE0000E20F7E737B5054600240DF107008DF892 +:108DF0000740FEF795FD2A686B68116899420ED905 +:108E0000481E106011F8013CEC68298A01FB0344FC +:108E1000AB6811791B1ADBB2994238BF13719DF808 +:108E20000700FEF7A1FD204603B030BD37B505466B +:108E300000230DF107000C468DF80730FEF770FD9A +:108E40002A681368591C1160E968641A298AB4FBFE +:108E5000F1F41C709DF80700FEF786FD03B030BDED +:108E6000826810B504462AB14369016800699847D1 +:108E70000023A36010BD0EB403B5039921B104AB68 +:108E800001AA019300F076F802B05DF804EB03B09C +:108E900070470A2938B504460D4602D10D21FFF767 +:108EA000F8FFA3682268591CA160D554D4E90132A7 +:108EB0009A4204D32046BDE83840FFF7D1BF38BD01 +:108EC0002DE9F84F9846DDE90A43154682460F46DC +:108ED0000A464FF00109AA420FD2C14538BFC14628 +:108EE00013F0010B01D16CB900240126B8F1010F78 +:108EF0001BD908F1FF386E43F8E709F10109B2FB0D +:108F0000F5F2E8E79B070ED5B8F1000F0CBF30264D +:108F10002026A145E9D2013C31465046FFF7B9FF72 +:108F2000002CF6D1E0E72026F3E7B7FBF6F39D42ED +:108F3000E1D9DFF83C80B7FBF6F3504618F8031090 +:108F400006FB1377FFF7A5FF3346AB42B6FBF5F6FA +:108F5000F1D2BBF1000F02D00CB1A14501D3BDE8A5 +:108F6000F88F20215046013CFFF793FFF4E700BF44 +:108F70006C0B03002DE9F74F05461746884600297C +:108F800000F03E8118F8011B49B92B7B002B00F043 +:108F90003781284603B0BDE8F04FFFF761BF2529B0 +:108FA00040F0B780002698F800302D2B424608F19B +:108FB000010823D0302B24D02B2B25D000242A2BA2 +:108FC00002F1010123D13B681A1D1B683A601C4461 +:108FD0000A4613782E2B26D101324FF0000A104694 +:108FE00010F8011BA1F1300CBCF1090F1DD80A23A8 +:108FF00003FB0A13A3F1300A0246F0E746F001062C +:10900000D1E746F00206CEE746F00406CBE711F8BA +:10901000013CA3F130000928DBD80A2202FB04340A +:10902000303C0A46CBE74FF0000A12F8011B01F072 +:10903000FB0068289046F8D0782909D86F290CD809 +:10904000632962D022D8252963D0582900F088806E +:1090500098F80030002B95D197E770390829F7D898 +:1090600001A353F821F000BFDB91020051900200F0 +:109070005190020071910200519002004F91020044 +:10908000519002005190020061910200642901D0C8 +:109090006929DDD13A68D2F80090111D89EAE97298 +:1090A0003960A2EBE9724FF0010B092A35DCD34598 +:1090B00038BFD3462CB1B9F1000F01DB720700D5E0 +:1090C000013CB30702D5BAF1000F03D0F00701D479 +:1090D0004CBB0024B9F1000F2DDAC9F100092D2194 +:1090E0002846FFF7D6FE06F00302022A04D1BAF1A1 +:1090F000000F01D11CBB0024CDE9004653460A22D3 +:1091000049462846FFF7DCFEA2E73B681A1D19789E +:109110003A602846FFF7BDFE9AE70A230BF1010BE0 +:10912000B2FBF3F2C1E7A345D4D220212846013C8B +:10913000FFF7AFFECCE77107D5D52B21D0E7A345CC +:10914000DAD230212846013CFFF7A3FED2E7396886 +:10915000CDE900460A1D3A6053460A220968D0E765 +:1091600039680A1D3A60CDE9004653461022F5E7FA +:109170003B681A1D3A6016F00106D3F8009024D11E +:10918000B9F1000F03D0484607F006FB0646B4428B +:109190001DD809F1FF3919F8011F00293FF458AF14 +:1091A0002846FFF776FEF6E728460136FFF771FE00 +:1091B00019F806100029F7D1A642BFF449AF2021C3 +:1091C0002846013CFFF765FEF6E70026F0E7202180 +:1091D0002846013CFFF75DFED9E73B681A1D3A605F +:1091E000302128461C68FFF754FE78212846FFF7F7 +:1091F00050FE00220823CDE900322146102280E7EC +:1092000003B0BDE8F08F00BF13B50B46114680B91F +:10921000104B1148114AC01A0E23C0080093104B7E +:109220000004104940F00100FDF725FC0E2002B0BB +:1092300010BD4BB9074B08480B4AC01AC0080E2393 +:1092400000930004064BECE703601B6802B0BDE826 +:10925000104018475C080300AC0803007C0B0300B7 +:10926000380D0300810B0300B00B03002DE9F74319 +:10927000DDF8288088B93E4B3E483F4AC01AC008F6 +:109280000E243E4B009400043D4940F00100FDF7E0 +:10929000F2FB204603B0BDE8F0834AB9344B3548B1 +:1092A000384AC01AC0080E24344B00940004EBE77F +:1092B000D0F800E0BEF1000F09D12D4B2D48324A05 +:1092C000C01AC00808242D4B00940004DCE74BB9F9 +:1092D000274B28482D4AC01AC0080924274B009460 +:1092E0000004D1E74568D5F80490B3FBF9F509FB14 +:1092F00015354DB11E4B1F48254AC01AC008092418 +:109300001E4B00940004BFE78D0709D0184B194885 +:10931000204AC01AC0081024184B00940004B3E778 +:1093200012F0030F09D0124B12481B4AC01AC00892 +:109330001024124B00940004A6E7C568A9420DD37F +:109340004D1EEC180569AC4208D8CDF82880DEF82F +:109350000C40A44603B0BDE8F0436047044B054809 +:109360000E4AC01AC0081024044B009400048BE776 +:109370005C080300AC0803007C0B0300250D030010 +:10938000810B0300FE0B0300AA0B0300BD0B0300BF +:10939000040C03002E0C0300460C0300690C0300B0 +:1093A000F7B580B92A4B2B482B4AC01AC0080E24A7 +:1093B0002A4B009400042A4940F00100FDF75BFBB2 +:1093C000204603B0F0BDD0F800C0BCF1000F09D1B9 +:1093D0001F4B2048234AC01AC00808241F4B009482 +:1093E0000004E8E74AB91A4B1A481F4AC01AC008D5 +:1093F00009241A4B00940004DDE74568D5F800E025 +:109400000EF1FF350D4209D0114B1248174AC01A10 +:10941000C0081024114B00940004CCE7C568A94291 +:109420000CD34D1E0EFB02540569AC4206D8DCF885 +:109430001040A44603B0BDE8F0406047044B054827 +:109440000B4AC01AC0081024044B00940004B2E771 +:109450005C080300AC0803007C0B0300120D030042 +:10946000810B0300AA0B0300BD0B0300900C03004B +:10947000B60C030029DF704728DF704770B503681A +:109480009E6886B004460D466EB1142200216846DF +:1094900007F04FF9A3680593237901952BB1012BB0 +:1094A0000DD06846B04706B070BD01238DF800307E +:1094B00023690293E368039363690493F1E702234A +:1094C0008DF80030E3681B030293F5E70846704708 +:1094D00000207047024B187A003818BF01207047EF +:1094E000C02B0020034B187A0122B0FA80F05A7486 +:1094F00040097047C02B002008B510461A4607F0F7 +:10950000EFF8002008BD000008B51422002104482F +:1095100007F00FF90348FFF7F8FA002008BD00BF75 +:10952000C02B0020B02B002010B5094C094B436024 +:109530002046FFF737FC40B906F07AFE0649207452 +:109540001C2306488C22FFF7CDFA002010BD00BF77 +:10955000C02B00204C0D0300242B0020B02B00203A +:1095600038B5234D234C2B7A3BB923492348FFF7C9 +:1095700028FB206008B9686038BD022324682B727C +:10958000237973B1012B24D020460321FFF776FF06 +:1095900000232B726B6018491848BDE83840FFF76C +:1095A0003BBBD4E90523D21AB2F5805FD4E903109E +:1095B00028BF4FF480529208012A38BF0122194473 +:1095C0001844FFF757FF50B11128DDD101232B724A +:1095D000D2E7D4E903031844FFF74EFFF3E72B7CEF +:1095E000002BC9D1BDE83840022000F009B800BF07 +:1095F000C02B0020D82B0020D42B0020B02B002023 +:1096000038B5234C237A002B41D0022B09D10328F3 +:1096100030D0204B00221B68E2601A793AB1012A4F +:1096200022D0637C7BBBBDE83840FFF799BFD3E90C +:1096300005128D1AB5F5805F94BF521902F580525C +:109640009A619142EDD102284FF0000308BF1946FC +:109650002372104B18BF0D211868FFF70FFF0E493A +:109660000E48FFF7D9FADCE71A6901321A615B6923 +:109670009A42E7E7E3680133082B01D8E360D0E7BB +:109680000023E360DFE7BDE8384006F0C1BD38BD28 +:10969000C02B0020D82B0020D42B0020B02B002082 +:1096A000831E012B01D8FFF7ABBF704700F0FD030D +:1096B000012B08D1044B00225A74421E50425041E3 +:1096C0001874FFF74DBF7047C02B002010B5064C33 +:1096D000201DFFF767FB28B9637C1BB9BDE810406C +:1096E000FFF73EBF10BD00BFC02B00202DE9F341A6 +:1096F00080460D46104801A916461F46FFF727FA77 +:109700000446B0B118220021043007F012F82D0BE6 +:109710000123237101A90848C4F80080A760E5600F +:109720006661FFF73EFAFFF7D1FF002002B0BDE807 +:10973000F0810420FAE700BFB02B00202DE9F341AF +:1097400080460F460F4801A916461D46FFF7FFF950 +:109750000446A8B118220021043006F0EAFF089B55 +:10976000A36001A9C4E903670648C4F800806561E5 +:10977000FFF717FAFFF7AAFF002002B0BDE8F0815B +:109780000420FAE7B02B00202DE9F84FB0F806A02E +:109790004579D2F800B09DF828900AFB05F5043D04 +:1097A00088460BEB0301A94203F1040488BFA5EB33 +:1097B000030BB4FBFAF607460AFB1644C2F800B0E6 +:1097C0004EB9AAEB04055D4528BF5D46BBF1000F0D +:1097D00004D1BDE8F88F3F68013EF1E7043408EB9F +:1097E00006003C442A46B9F1000F0DD02146ABEBF0 +:1097F000050B06F075FFDA452E443F6855464FF0DD +:10980000000428BF5D46E1E701462046EFE7FFF789 +:10981000D2BAF8B546790146721E05460023934236 +:109820002D6803D30024A64202D8F8BD0133F6E721 +:109830000F682846FFF7FAFA01343946F3E72DE9B5 +:10984000F843068ACD1C0746FFF7CCFA043E3544A0 +:109850000446B5FBF6F5F0B14FF48073EDB28380AA +:10986000C680013D076081464FF00008A84512D22E +:109870003846FFF7B7FA064648B16379013363719A +:1098800008F10108C9F8000007608146EEE72046AC +:10989000FFF7BFFF34462046BDE8F88301210430BE +:1098A000FFF768BA10B5012104460430FFF76EFADD +:1098B000C0B220B92046BDE81040FFF7AABF10BDD6 +:1098C0001FB503920022009203AAFFF75DFF05B0C7 +:1098D0005DF804FB1FB503920122009203AAFFF773 +:1098E00053FF05B05DF804FB33DF704741DF70477D +:1098F0000D4A08B5002313700C4A1360BFF35F8F45 +:109900000B490C4800F0AFF80B4A0C480121FDF759 +:10991000BDFE024630B9BDE8084009484FF4804119 +:10992000FDF7C6BE08BD00BFE52B0020E82B0020D8 +:10993000880D0300DC2B0020419A0200840D0300F7 +:10994000C022002007B500230DF107008DF8073075 +:10995000FDF7E6FFF1EE103A23F09F03E1EE103A37 +:10996000BFF35F8F0A4B4022C3F884219DF80700A4 +:10997000FDF7FAFF06F05CFC20B103B05DF804EBE4 +:10998000FFF7B4BF20BF40BF20BF03B05DF804FBAA +:1099900000E100E070B5244D044601212846FFF7A0 +:1099A000A2F9BFF35F8F38B9042C0AD01F4B1A7885 +:1099B0001AB1BFF35F8F286070BD1D4A1470012279 +:1099C0001A701C4C1A4E6368BBB9FDF791F8FCF78E +:1099D000EFFE0028FBD1164B1B78023B012B15D85C +:1099E000BFF34F8F1449154BCA6802F4E06213436A +:1099F000CB60BFF34F8F00BFFDE71B6830789847FF +:109A00000028D6D0204600F038F8DCE706F010FC3D +:109A100008B1FFF769FF4FF080430122C3F800252A +:109A2000BFF34F8F20BFFDE7E82B0020E52B002080 +:109A3000E42B0020DC2B002000ED00E00400FA0500 +:109A4000034B1B7813B10420FFF7A4BF704700BF7E +:109A5000E52B0020836800225A60C3E904229A6043 +:109A6000DA601A6070470B684A684360934208BF27 +:109A70000023016008BF43607047436843B1026838 +:109A8000916852680B449342436004BF00234360D3 +:109A9000704770B5446806460D46206818B1B36833 +:109AA0002946984718B923682B60256070BD246843 +:109AB000F3E74368186808B102681A6070474368A2 +:109AC000186870474368186800B97047884203D126 +:109AD00002681A600120704703460068F4E700003E +:109AE00010B50D49A1F59472914201D800200FE004 +:109AF0008C1AE30F03EBE4035B1002EBC30452F890 +:109B00003330834205D802D204F10802ECE76068E2 +:109B100010BD2146E8E700BF9412030008B5FFF727 +:109B2000DFFF024B002808BF184608BD571103008D +:109B300038B5074C051E04F1080318BF1C462368FE +:109B40002BB11A6822605B6828469847F7E738BD52 +:109B5000F42B002020B9054B01225A70FFF7E8BF13 +:109B6000012802D1014A9070F8E77047EC2B0020E1 +:109B700020B9034B01225A70FFF7DABF704700BFCC +:109B8000EC2B002038B50E4C2378B3B90D48636038 +:109B9000A3602361E36000F0E7F8054606F048FBA8 +:109BA00008B900F0EDF801232370074BD3F8003417 +:109BB0000BB10123A370284638BD8525F5E700BF0A +:109BC000EC2B0020559B02000000014037B50D4CE6 +:109BD00000230DF107008DF80730FDF7A1FEE368C3 +:109BE000013BE360E36833B9074BD3F8005415B980 +:109BF00000F0D8F8A5709DF80700FDF7B5FE03B09A +:109C000030BD00BFEC2B002000000140012813B53F +:109C10000CD0032820D038B9134B0122C3F8802080 +:109C2000BFF34F8FBFF36F8F02B010BD0F4C0023F7 +:109C30000DF107008DF80730FDF772FE23780BB9A0 +:109C4000FFF7A0FFE3689DF807000133E3600123FD +:109C5000A370FDF789FEE7E700F092F802B0BDE8D7 +:109C60001040FFF7B3BF00BF00E100E0EC2B002085 +:109C70001FB503788DF800304368019383688DF831 +:109C80000830C368054A0393054B684653F82130F2 +:109C900052F82110984705B05DF804FB002C002015 +:109CA000042C00201FB503788DF800304368019321 +:109CB00083688DF80830C368054A0393054B6846EE +:109CC00053F8213052F82110984705B05DF804FB95 +:109CD000002C0020042C0020F0B5194B90F800C097 +:109CE00091F81DE043F82C20164B16460A6943F8FC +:109CF0002C20154B03F80CE00C4607460FCC89B01E +:109D00006D460FC594E80F0085E80F00CDF810C030 +:109D1000BEF1000F09D0002E0C4A694608BF32463A +:109D2000381D00F083FD09B0F0BD002E084A6946D9 +:109D300008BF324607F10C0000F05AFBF3E700BF02 +:109D4000042C0020002C0020082C0020719C020014 +:109D5000A59C020000F18040002382B003600368EC +:109D60000193019B02B07047044A137923B9012182 +:109D70001060918018467047852070470C2C002099 +:109D8000074B1A68D20704D4C02283F800230122AB +:109D90001A604FF080430122C3F81825704700BFB6 +:109DA00000E100E04FF0804208B50223C2F808331A +:109DB0004FF48270FFF7CEFF0123D360D2F818343E +:109DC000DB03FBD408BD00004FF0804110B5D1F893 +:109DD000003163B14FF48070FFF7BCFF0D4B587931 +:109DE0000122C1F8082310B95A711B6898474FF037 +:109DF0008042D2F8043163B14FF48270FFF7AAFFBA +:109E00000223C2F80833034BBDE810401B68012051 +:109E1000184710BD0C2C002000F1804000F5C04018 +:109E2000002382B0036003680193019B02B0704776 +:109E3000800000F1A040D0F8002722F44032C0F8A2 +:109E40000027D0F8003743EA0141C0F800177047F7 +:109E5000054B4FF0FF32072843F8202084BFC0187D +:109E600080F84820704700BF142C002010B5184916 +:109E700091F8583053BB4FF0FF3222FA03F0C0077D +:109E800048BFC81803F1010348BF80F83020202BD9 +:109E9000F3D10024E0B20134FFF7DAFF0C2CF9D142 +:109EA0000C4B0022C0204A6583F80603402018604E +:109EB0004FF4BE70FFF7B0FF074B4FF00040C3F800 +:109EC0000403012381F85830104610BD0820FCE738 +:109ED000142C002000E100E000600040034B93F8E8 +:109EE0005800003818BF0120704700BF142C002014 +:109EF000F0B5394E331893F93030002B69DA8D788C +:109F0000C5F34005002D0BBF082300230C240824B3 +:109F1000A34201D10420F0BD56F82370013743D18C +:109F200037185CB246F8232087F8304015B9F2188C +:109F300082F848008A78550716D4D70736D58200AC +:109F400002F1A042D2F8005725F00205C2F80057EE +:109F5000224FC50800F0070C012202FA0CF217F894 +:109F600005C042EA0C027A558A780D7812F0020296 +:109F700025D09B0003F1804303F5C0430002D3F8D2 +:109F8000102522F4473222F44072C3F810252D0424 +:109F9000D3F8102500F4F85005F440352843104359 +:109FA000C3F810050020B6E70133B1E74D7800F59E +:109FB000E0724FF0A047AD0047F82250C8E7083CD8 +:109FC00046FA84F494F8500040EA851584F850501D +:109FD000E8E708209FE700BF142C0020682C002031 +:109FE00038B5204C251895F93020072A18DD083A95 +:109FF00044FA82F494F850309B09032B0BD14FF0B4 +:10A00000A043D3F81015C14001F001010231BDE8B1 +:10A010003840FFF70DBF012B0CBF02210321F6E7EB +:10A02000D3B2072B1DD8930003F1804303F5C0433F +:10A03000D3F8100540F00100C3F8100502F140000C +:10A0400040B2800080B2FFF7E7FE51B195F93030A1 +:10A0500054F823302BB1012303FA02F2024BC3F868 +:10A06000042338BD142C0020006000404FF0A043B2 +:10A07000D3F8103523FA00F000F00100704700001B +:10A080002DE9F74F00244E4D01944FF480720121C9 +:10A0900002F1804303F5C04390B21B68012B06D147 +:10A0A000D5F804330B4202D0FFF7B6FE0C4304325E +:10A0B000B2F5907F4FEA4101EAD1414BD3F87C31B0 +:10A0C000012B0CD14FF4BE70FFF7A6FE4FF0A0435A +:10A0D00044F00044D3F820250192C3F82025E3B2D0 +:10A0E000D3B1384F00250126344210D0AB0003F124 +:10A0F000804303F5C043D3F81005D3F8101557F883 +:10A10000253023B1C1F30141C0F304209847013544 +:10A11000082D4FEA4606E7D1002C48DA294D4FF0CA +:10A12000A048294E4FF00009012716F9013B5A1C9F +:10A1300031D0C3F3C20208326A44DCB212F8042CF4 +:10A1400003F03F0A03F0070307FA03F31A4222D091 +:10A150000AF5E073504658F82330C3F3014BBBF1C6 +:10A16000020F0CBF03210221FFF762FE07FA0AF378 +:10A17000C8F8203505EB0A0393F9303055F8233041 +:10A180004BB1A109032904D0BBF1020F12D101295F +:10A1900001D15046984709F10109B9F1040FC4D122 +:10A1A000D8F820350193C8F82035002BB9D103B079 +:10A1B000BDE8F08FBBF1030FEDD10229E8E700BF46 +:10A1C00000600040142C0020642C0020014B1B6810 +:10A1D000184700BF702C00200E4B984237B50C4634 +:10A1E00002D0002003B030BD00230DF107008DF830 +:10A1F0000730FDF795FB084B1D7915B901221C604E +:10A200001A719DF80700FDF7AFFB002DE9D0112072 +:10A21000E8E700BF00200040702C0020034B98426C +:10A2200001BF034B00221A601A71704700200040E2 +:10A23000702C00200023435082B043580193019BAF +:10A2400002B070470A4610B54FF48E71FFF7F2FF67 +:10A25000136A9168C95C136A01331362C0F81C1554 +:10A2600010BD8B690A4610B54FF4847123B9FFF70E +:10A27000E1FFD0F8183510BDFFF7DCFF536AD16855 +:10A28000D0F81805C854536A01335362F3E700004D +:10A290001FB501238DF80030044BCDE90110D3E93F +:10A2A00000126846904705B05DF804FB782C00204A +:10A2B00030B54D4DD5F804339A0585B051D5D5F854 +:10A2C0002431002B4DD04FF492712846FFF7B2FF96 +:10A2D0004FF40173C5F80833444B93F829200AB9A9 +:10A2E00001226A60404902228DF80020D1F88024C2 +:10A2F000C1F8802403929A690292DA6801920022DE +:10A30000C3E906226846D3E9001290473648D0F8E0 +:10A310001C315BB1354A5169136A99424DD992F8A3 +:10A320002830002B49D11146FFF78CFF2E48D0F87A +:10A330004431002B56D04FF4A271FFF77BFF2B4B1B +:10A3400093F829200AB1012202609A69002A49D0B3 +:10A35000586AD96800229A6105B0BDE83040FFF71D +:10A3600097BFD5F804335B07D0D5D5F80831002B5B +:10A37000CCD01E4C1C482146FFF773FF636AA269CC +:10A380009A42C3D1E369E1684BB1A3612369E360F9 +:10A390000023606AE3616362FFF77AFFB6E794F82F +:10A3A00029300BB901236B600F4B4FF40172C3F8D6 +:10A3B00008230023606AA361EEE70B484FF48E7117 +:10A3C000FFF738FF5369002BB0D051690291002389 +:10A3D00091688DF80030019153616846D2E900130D +:10A3E0009847A3E705B030BD00200040782C00203E +:10A3F0002DE9F843534D90F804802C2303FB0853B8 +:10A40000064693F82A300C469146002B40F0968081 +:10A410004D490068FFF7E0FE0746002840F09080B5 +:10A4200022683068511C0BD04FF0A04101239340AB +:10A43000C1F8083502F5E0734FF0030C41F823C072 +:10A4400061684B1C1FBF01F5E0734FF0A04C4FF04B +:10A45000000E4CF823E0A369C0F8243594F814C02A +:10A46000637DBCF1010F4CEA0303C0F86C35C0F802 +:10A470001415C0F80C251DD1A268531C1FBF02F58E +:10A48000E0734FF0A0414FF0000C41F823C0E368A7 +:10A49000591C0BD04FF0A04C01219940CCF8081565 +:10A4A00003F5E0714FF0030E4CF821E0C0F80835D9 +:10A4B000C0F810252C2202FB08F2AB18C3F8049058 +:10A4C0002369AB50B9F1000F20D04FF48E71247F77 +:10A4D000FFF7B0FE4FF4A2713068FFF7ABFE3268B1 +:10A4E0001A4BC2F80433130B42F307326101002AFE +:10A4F000C9B21EDB1648841884F8001301215209E2 +:10A5000003F01F0301FA03F340F8223033680422FA +:10A51000C3F800252C2303FB08530022C3E90622BD +:10A5200083F829205A61012283F82A203846BDE8A1 +:10A53000F883084A03F00F03D154E7E70827F5E74B +:10A540001127F3E7782C0020B1A20200800002005E +:10A5500000E100E014ED00E0F8B503680579304C47 +:10A560000022C3F800252C2202FB05425268A2B14A +:10A570002C4AC3F808231A0B43F30733002B0CDBD8 +:10A5800002F01F015B0901228A402033264941F86D +:10A590002320BFF34F8FBFF36F8F0068D0F80C6597 +:10A5A000D0F81415D0F80835D0F810254FF0FF3743 +:10A5B000BE42C0F8147518BF06F5E076C0F80C75F9 +:10A5C000C0F80875C0F810751EBF4FF0A0474FF0D7 +:10A5D000020C47F826C04E1C1FBF4FF0A04601F5E5 +:10A5E000E071022746F82170511C1FBF4FF0A041B7 +:10A5F00002F5E072022641F822605A1C1FBF03F5E3 +:10A60000E0734FF0A042022142F82310FFF706FE4C +:10A610002C2303FB0544002384F82A306360F8BD33 +:10A62000782C00208402020000E100E00279044B53 +:10A630002C2101FB02335869003818BF01207047F4 +:10A64000782C00202DE9F84F064690F804808946C2 +:10A650009246FFF7EBFF044600283CD1204F2C2503 +:10A6600008FB057B4FF48E71CBF814A0CBF8089053 +:10A67000CBF820008BF828003068FFF7DBFD30684E +:10A68000012383605946FFF7DDFDDBF804305D46AA +:10A690001BBB3068DBF814402B6A9C4211D833682E +:10A6A000D3F81C21002AFBD00122DA6000202C23E1 +:10A6B00003FB087700237B61BDE8F88F95F828300D +:10A6C0003BB9D0F81C31002BF8D05946FFF7BAFD42 +:10A6D000E2E70F20EBE71120EEE72046ECE700BFB2 +:10A6E000782C00200023435082B043580193019BF3 +:10A6F00002B070471FB501238DF80030044BCDE93F +:10A700000110D3E900126846904705B05DF804FBDC +:10A71000A42C00207FB5434AD2F82461002E60D0DB +:10A7200010464FF49271FFF7DDFF02238DF80030E1 +:10A73000D2F88034C2F880340393D2F83C350293C7 +:10A74000394BDA6801920022C3E906226846D3E950 +:10A75000001290473348D0F8443173B14FF4A271DE +:10A76000FFF7C0FF304B9A693AB10022C3E90622D5 +:10A77000D968D0F83C05FFF7BDFF2A48D0F8203152 +:10A78000ABB14FF49071FFF7ADFF0123C360264BCF +:10A790005A6962B1D0F84C150291002299688DF87F +:10A7A000002001915A616846D3E9001290471D4884 +:10A7B000D0F858319BB14FF4AC71FFF793FF1A4BAF +:10A7C0005A6962B1D0F84C150291002299688DF84F +:10A7D000002001915A616846D3E90012904704B005 +:10A7E00070BDD2F81031002BB4D04FF488711046F0 +:10A7F000FFF778FF0C4BD2F83C0599698842A9D144 +:10A80000DC69D96864B1D2F8005225F02005C2F89D +:10A8100000521A699C61DA60DE61FFF76BFF99E70D +:10A820009C61FAE700200040A42C00202DE9F843A9 +:10A830005A4E90F80480242303FB0863044693F8DF +:10A8400020300D469146002B40F0A380544900680B +:10A85000FFF7C2FC0746002840F09D802A68206868 +:10A86000511C0BD04FF0A04101239340C1F8083593 +:10A8700002F5E0734FF0030C41F823C069684B1CEC +:10A880001FBF01F5E0734FF0A04C4FF0000E4CF8E5 +:10A8900023E0AB69C0F8243595F814C06B7DBCF19A +:10A8A000010F4CEA0303C0F86C35C0F80C25C0F862 +:10A8B00014151DD1AA68531C1FBF02F5E0734FF099 +:10A8C000A0414FF0000C41F823C0EB68591C0BD09D +:10A8D0004FF0A04C01219940CCF8081503F5E07128 +:10A8E0004FF0030E4CF821E0C0F80835C0F81025F1 +:10A8F000242202FB08F2B318C3F804902B69B3506A +:10A90000B9F1000F2FD04FF488712A7FFFF7EAFECC +:10A9100020684FF49071FFF7E5FE20684FF49271C4 +:10A92000FFF7E0FE20684FF4A271FFF7DBFE4FF463 +:10A93000AC712068FFF7D6FE23681A49C3F80413E8 +:10A94000190B43F307335201002BD2B21CDB16481C +:10A95000C51885F8002301225B0901F01F0102FAE6 +:10A9600001F140F8231023680822C3F800252423AE +:10A9700003FB08660023C6E906337361012386F8EA +:10A9800020303846BDE8F883084B01F00F015A54D7 +:10A99000E9E70827F5E71127F3E700BFA42C00201B +:10A9A00015A702001003420000E100E014ED00E0F2 +:10A9B000F8B5444C0579242303FB054302465B6844 +:10A9C0000068ABB1404BC0F8083340F30733002BAD +:10A9D0004FEA10310CDB01F01F065B090121B14089 +:10A9E00020333A4E46F82310BFF34F8FBFF36F8FDB +:10A9F000D0F8003223F02003C0F80032242303FBF8 +:10AA000005439B692BB14FF4A271FFF76BFE012345 +:10AA100043604FF4AC71FFF765FE0123C36024234C +:10AA200003FB0543D0F858110029FBD0996919B1EF +:10AA3000D0F844110029F5D00023C0F80035136880 +:10AA4000D3F80C75D3F81465D3F80825D3F810158E +:10AA50004FF0FF3C6745C3F80CC518BF07F5E0771A +:10AA6000C3F814C5C3F808C5C3F810C51EBF4FF01E +:10AA7000A0434FF0020C43F827C0771C1FBF4FF0D4 +:10AA8000A04306F5E076022743F826704E1C1FBF50 +:10AA900001F5E0714FF0A043022643F82160531CFA +:10AAA0001FBF4FF0A04302F5E072022143F82210CD +:10AAB000FFF7B4FB242303FB0544002384F8203074 +:10AAC0006360F8BDA42C00201003420000E100E008 +:10AAD0000279044B242101FB02335869003818BF66 +:10AAE00001207047A42C002001F06043B3F1005F07 +:10AAF0002DE9F0470646884692463BD190F80490EF +:10AB0000FFF7E6FF0446002836D11D4F30682425A4 +:10AB100005FB09754FF49071C5F814A0C5F80880BD +:10AB2000FFF7E0FD4FF4AC713068FFF7DBFD3368F1 +:10AB30006A69A968C3F84415C3F8482501229A60D8 +:10AB40006A68DAB9D3F82021D3F858011AB9002875 +:10AB5000F8D00F2007E00028FBD10122DA60D3F8FB +:10AB60005821002AFBD0242303FB097700237B61B3 +:10AB7000BDE8F0871020FBE71120F9E72046F7E752 +:10AB8000A42C00200220FCF72FB900002DE9F0478B +:10AB900080460D46FCF748F90328044610D8012DDD +:10ABA00010D0022D30D05DB91A48FCF7AFFD1A4B1A +:10ABB00004EB440213449D78184B1B5DAB4219D043 +:10ABC000BDE8F087144E00EB4003F218F55C5378B3 +:10ABD000470053B1DFF84C900E484A464FF480418D +:10ABE000FCF766FD08B989F8008027443E440B4B0A +:10ABF000B2781A55002DE3D0094B1B68002BDFD02B +:10AC00002846BDE8F047184700EB400402480444DA +:10AC10006578EFE700230020CA2C0020E52C0020F7 +:10AC2000E02C0020C82C002000780221FFF7AEBFE6 +:10AC300008B5094B1B7853B10020FCF7ABF8012095 +:10AC4000FCF7A8F8BDE808400320FCF7A3B8BDE86E +:10AC50000840FCF7ABB800BFC92C0020F8B57A4C0F +:10AC6000237805461BB100232370FFF7E1FF172D62 +:10AC700000F28780DFE805F00C1717425364757FF8 +:10AC8000878C878C949999999999C3C8D0D8E3E314 +:10AC9000FFF7CEFF6D48FCF739FD6D4B00220446EF +:10ACA0001A702046F8BD0020FCF75AF8F0B10020D9 +:10ACB000FCF770F8022D0CBF4FF4E1644FF47A6496 +:10ACC000634B1D7000254FF400464FF47A702946FF +:10ACD0004FF4FA620023E4FB060105F009FC2A4662 +:10ACE0000146BDE8F8405948FCF7E2BCFCF746F8DD +:10ACF000022D0CBFC8244FF4C874E1E70020FCF714 +:10AD00002FF840B10020FCF745F84FF44874504B41 +:10AD100003221A70D6E7FCF731F8C824F7E70020C1 +:10AD2000FCF71EF838B10020FCF734F84FF47A64D1 +:10AD3000474B0422EDE7FCF721F84FF4C874F7E71E +:10AD40000020FCF70DF848B10020FCF723F8404B39 +:10AD500005221A7040F6CD410022C2E7FCF70EF83A +:10AD6000F5E70020FCF740F8394B06221A70002264 +:10AD700040F26661B5E70020FCF700F8344B07228B +:10AD80001A7000248DE701202070FCF72DF8EEE703 +:10AD900001202070FCF728F800224FF40051A0E7B2 +:10ADA000FCF713F82A4B0C22EAE72A482A4EFCF754 +:10ADB000ADFCD5F1110504461CD0D8B9012D13D036 +:10ADC000C820454321464FF400474FF47A704FF4B2 +:10ADD000FA620023C5FB070105F08AFB2246014603 +:10ADE0001C48FCF765FC04460220FBF7C7FF012363 +:10ADF000337056E70220FBF7CDFF0023F8E7FFF79B +:10AE000017FF134B1222BBE7FFF712FF0020FBF7DF +:10AE1000B5FF0F4B1322B3E7FFF70AFF0120FBF743 +:10AE2000ADFF0B4B1422ABE7FFF702FF0020FBF74F +:10AE3000A5FF0120FBF7A2FF054B1522A0E7FBF7BA +:10AE4000C4FF034B1D709CE7DC2C00202023002056 +:10AE5000E42C0020E0220020C92C0020044B1B68B9 +:10AE6000DB0703D5034B1878FFF7F8BE704700BF28 +:10AE7000D82C0020E42C002010B5002914BF032496 +:10AE80000024FBF7E3FF800000F1A040D0F800278A +:10AE900022F44032C0F80027D0F8003743EA0443D8 +:10AEA000C0F80037002010BD032801D8FBF7AEBF63 +:10AEB00000207047044B1B6813F0010301D0FFF71B +:10AEC000CDBE1846704700BFD82C002038B51C4BAB +:10AED00018601C4B10F00204054619601AD01A4B7A +:10AEE0001A480E221A700F22DA7010229A7111225B +:10AEF0005A72042140F23332FCF748FA044648B94A +:10AF0000FCF79CFA044628B90146114A1148FCF79F +:10AF1000BDFB0446EB0711D50120FBF79DFF6CB983 +:10AF200021460D4A0D48FCF7B1FB044630B9BDE897 +:10AF300038400B4A0B480121FCF7A8BB204638BD1E +:10AF4000D82C0020E02C0020CA2C0020B8120300CE +:10AF500029AC0200DC1203005DAE0200E012030027 +:10AF600085AB0200D8120300032811D8012A0AD1A8 +:10AF700001290FD100F10E02D2B20D4B00EB4000BF +:10AF80001A54002070470129F7D0022904D049B192 +:10AF9000072070470022F8E7054B00EB40001844FB +:10AFA0004270EEE7024B00EB400018448270E8E785 +:10AFB000CA2C0020032802D80121FFF75DBF06201C +:10AFC000704708B5012202210020FFF7CDFF08B12C +:10AFD000072810D1072202210120FFF7C5FF08B181 +:10AFE000072808D100210A220846FFF7BDFF10B14B +:10AFF000072808BF002008BD0388102B10B502D019 +:10B00000112B1ED010BD1A4C2168B1B9012208467F +:10B01000FFF7AAFF08B1072824D107220221012047 +:10B02000FFF7A2FF08B107281CD10422022100204B +:10B03000FFF79AFF08B1072814D123680133236072 +:10B04000E0E70B4A1368013B1360002BDAD1FFF7EE +:10B05000B8FF0028D6D0074B1B68002BD2D0BDE824 +:10B0600010401847034B1B68002BE6D09847E4E7D5 +:10B07000F02C0020EC2C002008B50020FFF79AFFF0 +:10B0800008B1062806D10120FFF794FF10B1062869 +:10B0900008BF002008BD00000D4B10B518600C461D +:10B0A00029B10120FFF700FF40B102232370094BB3 +:10B0B0001B6853B9BDE81040FFF783BFFFF7F4FEEC +:10B0C00008B10B23F2E72070F1E7002010BD00BFAC +:10B0D000EC2C0020F02C002076DF70477ADF7047E0 +:10B0E0007CDF70478FDF7047FCF7BEB903883B2BCE +:10B0F00013B5044608D005D8102B0AD0212B1BD03D +:10B1000002B010BD562BFBD1A0881321FFF7E4FF3E +:10B110000BE00720FFF7CEFE08B1FCF7A5F90D4BB9 +:10B12000A1880D48198002F01FFB0028E8D002B06A +:10B13000BDE81040FCF798B9002380888DF80430F2 +:10B1400001A98DF80530FFF7CDFF0028D8D0FCF716 +:10B150008BF9D5E7442300203C31002010B504468C +:10B1600003F084FE204603F0A5FE2046BDE8104013 +:10B1700003F038BC10B5204B204A9B1ADB088CB07A +:10B180001B04032836D8DFE800F002272F3343F0F2 +:10B19000030420461A49FBF757FC2C22002101A882 +:10B1A00005F0C7FA44F250624FF496710123CDE9DD +:10B1B000051214488DF8083001A98DF8043000F00C +:10B1C000BEFE0021104801F05FF9104902462046FA +:10B1D000FBF73EFC0CB010BD0D4943F003000CB072 +:10B1E000BDE81040FBF730BC0A4943F00100F6E728 +:10B1F0000949FAE70949F8E7840803005C080300F5 +:10B20000E4120300F42C002021B202001213030008 +:10B21000291303004C13030085130300B21303002A +:10B2200013B513210190FFF757FF019A034660B150 +:10B230000748084C0849241AE408240444F0020092 +:10B2400002B0BDE81040FBF70CBC02B010BD00BF5F +:10B250005C08030084080300D9130300022807B523 +:10B260000ED1094B09480A49C01AC008000440F031 +:10B2700003000190FBF7E8FB06490198FBF7E4FBAC +:10B28000012003B05DF804FB5C08030084080300A0 +:10B290001A14030047140300032807D14FF080431A +:10B2A000A922C3F820250020FEF774BB70470000D8 +:10B2B00008B503784BB9054B3B211888FFF70CFF05 +:10B2C00018B1BDE80840FCF7CFB808BD4423002002 +:10B2D000072808B51FD00A280AD0042807D1134B25 +:10B2E00013211888FFF7F8FE30F008030FD108BDCE +:10B2F0000020FFF7DFFD08B1FCF7B6F8FFF7BCFE52 +:10B3000008B1FCF7B1F804F053FF0028EFD0BDE816 +:10B310000840FCF7A9B8054B1A884FF6FF739A420C +:10B32000E5D1034800F0EDFDDEE700BF4423002037 +:10B33000F42C002008B50548032100F0A3FC18B147 +:10B34000BDE80840FCF790B808BD00BFF42C002011 +:10B3500008B548B103280BD10220FFF7ABFD38B187 +:10B36000BDE80840FCF780B8BDE80840FFF7E2BF41 +:10B3700008BDFCF779B8000030B54FF48041AFB09C +:10B380000020FBF7C3F908B1FCF76EF8FBF7FCF8F7 +:10B3900004F0CEFD08B1FCF767F8FCF745F908B1F9 +:10B3A000FCF762F8FEF7A4FA08B1FCF75DF86F4904 +:10B3B0000320FFF78BFD08B1FCF756F803A9002026 +:10B3C000FFF76AFE08B1FCF74FF89DF80C5004F047 +:10B3D000B1FE08B1FCF748F8002303A9012003934C +:10B3E00004F074FF08B1FCF73FF803A805F012F869 +:10B3F00008B1FCF739F802F0B5FF08B1FCF734F8F2 +:10B4000031238DF80C3007238DF80D3010238DF883 +:10B410000E3003A803238DF80F308DF8103003F0A1 +:10B4200041F808B1FCF720F8514803F023F808B1BF +:10B43000FCF71AF8082211234E498DF808300DEB5D +:10B440000200FFF74DFE08B1FCF70EF80023ADF83F +:10B4500010301823ADF80C305023ADF80E3003A88F +:10B460004FF4C873ADF81230FFF738FE08B1FBF7A0 +:10B47000FBFF4148002102F065F808B1FBF7F4FF3B +:10B48000AC22002103A805F054F902238DF80C30FA +:10B4900040F20163ADF80E300124384B08930021CF +:10B4A0002C2221A8ADF81C4005F043F94FF4967109 +:10B4B00044F25063CDE925133148324B8DF8884072 +:10B4C00003A92C9300F061FB08B1FBF7CDFF2C48DA +:10B4D000012100F057FB002303932B482B4B0293D1 +:10B4E00002A902F02FF908B1FBF7BEFF284B039326 +:10B4F00003A804F0A1FC08B1FBF7B6FF1422002159 +:10B5000003A805F016F94FF4F0234FF4A032CDE96B +:10B51000042303238DF818301E4B089303A81E4BF9 +:10B52000099300F019FE08B1FBF79EFF1B4B1C4866 +:10B530001C49C01AC008000440F003000190FBF74A +:10B5400083FA022D0FD118490198FBF77DFA02F01A +:10B55000D5FF08B1FBF788FFFBF72AF90028FBD1DC +:10B56000FEF7F0F9F8E7FFF7E5FEF5E7D1B20200E4 +:10B570005DB1020076140300283100204023002032 +:10B58000F42C002051B302003C310020E9B002004D +:10B5900075B10200B1B2020073B302005C0803008F +:10B5A000840803007F140300A314030013DF704713 +:10B5B00038B50023134CD3F8F85F134BE41AE408B2 +:10B5C0006A1C4FEA044404D14FF010235D696B1CE0 +:10B5D00011D02A460D4944F00300FBF739FA2846FA +:10B5E000FFF7E4FF054620B1094944F00100FBF7ED +:10B5F0002BFA284638BD074944F00100FBF724FA2E +:10B600000425F6E7840803005C080300B014030077 +:10B61000DB1403000E15030038B50B4B0B4C0C4A22 +:10B620000C49E41AE408240444F00300FBF710FA80 +:10B630000748FFF7BBFF054620B1074944F001006A +:10B64000FBF702FA284638BD5C08030084080300B3 +:10B650000060020026150300DB1403006DDF704755 +:10B6600079DF70477DDF704764DF70472DE9F04F69 +:10B6700085B000250E9CBDF83CB0B4F800A0019147 +:10B68000074690461E46A9463A884A450DDC45B114 +:10B690002388013BA3EB0A039BB2FF2B3AD806F8A1 +:10B6A0000A30002005B0BDE8F08F7A6852F8290012 +:10B6B000039000220DF10B0103A8FFF7D5FF00282E +:10B6C000F0D19DF80B20424521D12288002D14BFD6 +:10B6D0000020022002EB0801014459451ADC3DB963 +:10B6E000013292B2019B2280B3542288013222801F +:10B6F00022880DF10B01324403A8FFF7B5FF0028A3 +:10B70000D0D121889DF80B200A442280012509F11F +:10B710000109B9E70C20C5E72DE9F341089FBDF801 +:10B7200024801546CDE90078022204461E46FFF724 +:10B730009DFF50B93346102229462046CDE90878AE +:10B7400002B0BDE8F041FFF791BF02B0BDE8F08163 +:10B750002DE9F04F00231788138090F82D3085B025 +:10B7600006460D4614465BB3082F01D80C2028E18D +:10B7700002A8FFF773FF002840F023812388DDF83B +:10B7800009100822EA54238801339BB21B2223802C +:10B79000EA54238801339BB2EA182380E950BDF8AC +:10B7A0000D30938023889DF8082006339BB212F059 +:10B7B000FE0218BF01222380EA542388013323802C +:10B7C000B378FBB123880433BB42CFD802A8FFF77C +:10B7D00047FF002840F0F58023880322EA5423889D +:10B7E00001339BB219222380EA542388BDF8082034 +:10B7F00001339BB2E9182380EA54120A4A70238865 +:10B8000002332380F2789AB12388D91CB942ADD88B +:10B810000221E954238801339BB201212380E9549A +:10B8200023880B449BB22380EA5423880B44238053 +:10B830007268AAB12388D91CB94297D8022192F91B +:10B840000020E954238801339BB20A212380E95464 +:10B85000238801339BB22380EA5423880133238059 +:10B860003389002B40F0A180338A5BB1CDE90047DA +:10B870002B460722032106F11000FFF74DFF002899 +:10B8800040F09F80338B5BB1CDE900472B461522FA +:10B89000142106F11800FFF73FFF002840F09180C7 +:10B8A000326A002A40F09080D6F82480B8F1000F68 +:10B8B00030D0B8F804302188981C8A1C0244BA425F +:10B8C0003FF654AFFE283FF651AF03336B54238845 +:10B8D00001339BB2FF222380EA54238801339BB2B9 +:10B8E0002380B8F80020EA54E918120A4A70208828 +:10B8F000023080B22080B8F804205AB1D8F808107D +:10B9000000296BD0284404F0EBFE2388B8F804200B +:10B910001344238096F82C30002B40F09880307828 +:10B9200000284ED03388012B58D0228802F1020C17 +:10B93000BC453FF61BAF012805D173780233134491 +:10B940009F42FFF413AF023FBF1ABFB202A905EB3B +:10B950000C00ADF80870FFF785FE90BB3178BDF89C +:10B960000830022900F0B98072789A4202D39F42CF +:10B9700080F0B180012940F0B280974293B2C0F0CC +:10B98000AE80ADF808300821BDF80830FE2B3FF638 +:10B99000EDAE22880133AB542288013292B222806C +:10B9A000A9542288134423800BE0CDE900472B469D +:10B9B0000622022106F10800FFF7AEFE00283FF440 +:10B9C00053AF05B0BDE8F08FB4F800C00CF106032A +:10B9D000BB423FF6CBAE1188052901D80720F0E71E +:10B9E0006FF4486E01EB0E039BB24FF27D3E734540 +:10B9F000F4D95388052BF1D96FF44860181880B238 +:10BA00007045EBD94FF6FF70814201D09942E5D8DD +:10BA1000052305F80C30238801339BB212212380C3 +:10BA2000E954238801339BB223801188E954E81834 +:10BA3000090A4170238802339BB223805288EA545A +:10BA4000E918120A4A702388023323802CE7B36A6C +:10BA5000002BC3D04FF000084FF00C0A4FF0160B2C +:10BA6000B16A5FFA88F20AFB02F201EB0209B9F847 +:10BA70000430981CFE283FF679AE208803332B54FF +:10BA8000238801339BB2238005F803B02388013358 +:10BA90009BB223808A5AEA54E918120A4A70208815 +:10BAA000023080B22080B9F804205AB1D9F80810C9 +:10BAB000002993D0284404F013FE2388B9F8042009 +:10BAC0001344238096F82C2008F101085FFA88F3CC +:10BAD0009A42C5D823E7092156E79F42FBD2ADF829 +:10BAE000087050E730B5C8B1F2B10024651C8D4232 +:10BAF00006DA1588A54212D805196D789D420ED137 +:10BB0000A14211D9005D48B1013880B230B1023490 +:10BB1000A3B210FA84F4A14206DB138030BD055DA8 +:10BB200001352C44A4B2E1E70020F7E713B5134632 +:10BB30000022ADF806200DF106020446FFF7D2FF01 +:10BB400010B1BDF80630E01802B010BD72DF7047CA +:10BB500073DF704774DF704738B5012204460D4625 +:10BB6000B0F81414D0F81004FFF7E0FF00B105702E +:10BB700004F13C0204F5826104F15400BDE8384050 +:10BB8000FFF7E4BF80F830107047F8B504460F4661 +:10BB9000002973D0002871D091F87A301BB191F848 +:10BBA0009830002B6CD1D7F8A030042B68D0D7F890 +:10BBB0009C30042B64D04FF0000C84F802C007F1D5 +:10BBC00078060FCE251D0FC50FCE0FC596E80700CE +:10BBD00085E8070084F830C0D7F8A4306363D7F84D +:10BBE000A830A36304F582624FF6FF73C4F826C43D +:10BBF000A4F82434C4F82024C4F829C422780AB94B +:10BC000084F8543094F82430002B14BFEE231F2303 +:10BC100004F15501C4F81014A4F8143404F21442C9 +:10BC20003846FFF795FD40BB94F82430002B14BF35 +:10BC3000EE231F2304F23121C4F81814A4F81C3495 +:10BC400004F21C4207F13C00FFF782FDA8B9A3698A +:10BC5000A4F848304FF480730125A4F8503063698C +:10BC60002064014684F83C50636404F13C0204F112 +:10BC70005400FFF76BFF00B92570F8BD0E20FCE7FC +:10BC80000720FAE7F8B5077804460D46002F00F0C4 +:10BC900001810023C0F82634C0F82934C38881709C +:10BCA00000F226460BB1012903D0E37943B1022DFE +:10BCB00006D1636BABB1012284F82D24082098478C +:10BCC00004F2274304F22D4113F8012B12B99942D3 +:10BCD000FAD117466B1E032B4ED8DFE803F0050B95 +:10BCE0000F1284F82D34EBE7A3791BB194F82430BC +:10BCF00003B95FB9E3790BB1002F3FD1237A002B51 +:10BD00003ED1637A002B0CBF00250425636BA57020 +:10BD1000002B37D0033D012D34D8627992B394F8CB +:10BD20002E247ABB84F83024012284F82F240720A3 +:10BD3000984704F13C0518220021284604F0F9FC3C +:10BD4000E26A531E0121022B28BF0A4684F85120C3 +:10BD500094F8242084F83C1032B1A36A581E0228BB +:10BD600028BF0B4684F85230A378042B1CD8DFE898 +:10BD700003F0780D23365A000025C7E70225C5E7F2 +:10BD80000325C3E7002384F82F34D2E7012384F886 +:10BD900031300023C4E91063C4F82034022384F84E +:10BDA0003C308023A4F84830A378002B5DD1636B2E +:10BDB000002B6BD1002068E00223002A84F8313088 +:10BDC00014BF0723032384F83C302369A4F84830C8 +:10BDD0000023C4F82034E36826646364E4E76369FD +:10BDE0006364A369A4F8483012B1062384F83C3098 +:10BDF0006379B3B194F82E349BB994F8303483B19D +:10BE0000022384F8503004212046FFF7A5FE0028C5 +:10BE1000CAD1052384F8313004F58263C4F8203494 +:10BE2000C2E70323F6E7E3696364236AA4F84830B2 +:10BE300012B1062384F83C30637983B194F82E3430 +:10BE40006BB994F8303453B1022384F85030042194 +:10BE50002046FFF781FE0028A6D10623DAE7042357 +:10BE6000D8E7002384F831309EE7D4F820142A461E +:10BE700004F15400FFF76AFE38B994F8301094F8D2 +:10BE80005400FFF765FE002891D0F8BD94F831000A +:10BE900098478FE70820F8E70388112B10B50C4668 +:10BEA0000AD0262B1FD0102B05D1C37B012B02D12A +:10BEB0008388A1F8243410BD0022838881F82E24C1 +:10BEC000B1F824249A42F6D10B79002BF3D1012149 +:10BED0002046FFF7D7FE0028EDD0A36B002BEAD059 +:10BEE000BDE810401847037A013B012BE3D889785D +:10BEF00005230131B1FBF3F303EB8303C91AC9B284 +:10BF0000E6E738B5044690F85400FFF723FE012316 +:10BF100084F82E34002384F8303484F8503006211D +:10BF20002046FFF719FE054638B9A1782046FFF7ED +:10BF3000A9FE10B1A36B03B19847284638BD30B5B0 +:10BF40000D46041D0FCD0FC40FCD0FC495E807009B +:10BF500084E8070030BD75DF704776DF70477ADF11 +:10BF600070477BDF70470000034B1A8882420CBF8A +:10BF700018460020704700BF64310020024B9B69C7 +:10BF800003B11847704700BF4831002073B585B230 +:10BF90002846FFF7E9FF044638B3174E027A337B91 +:10BFA0009A420CD200F10A012846FFF7D4FFF0B103 +:10BFB00011281AD002B0BDE87040FFF7DFBF0023A0 +:10BFC0000372337C43B13B212846FFF7C6FF30F0B4 +:10BFD000080301D0FFF7D2FF736933B100228DF857 +:10BFE0000420ADF8065001A8984702B070BD237A2E +:10BFF00001332372F9E700BF4831002037B50B4603 +:10C00000497A0F4A79B9D2E901141D7A0246002D06 +:10C0100018BF21465868FBF74BFB78B103B0BDE869 +:10C020003040FFF7ABBF00211972536933B10122D1 +:10C03000ADF806008DF8042001A8984703B030BD84 +:10C04000483100204B8802889A4212D842889A428E +:10C050000FD380888B8840F2F311884294BF021A74 +:10C06000421A9A4205D80844984234BF0020012061 +:10C0700070470020704700000388122B70B50146FE +:10C0800059D004D8102B1ED0112B44D070BD502B8A +:10C09000FCD12F4BC288DB899A42F7D1038A022B4D +:10C0A000F4D186883046FFF75FFF05460028EDD0C3 +:10C0B00001F1120000F023FA38BB6868FBF726FB99 +:10C0C0000028E3D009E0C37B012BDFD14FF6FF70DE +:10C0D000FFF74AFF054620B90420BDE87040FFF78E +:10C0E0004DBF1C4A8E880680002303721368C0F877 +:10C0F0000A305368C0F80E3010310A30FFF7A2FF43 +:10C10000134B6872DB89002BC0D129463046BDE84D +:10C110007040FFF773BF8088FFF726FF04460028B2 +:10C12000B4D04068FBF7F2FA08B1FFF727FF4FF6EB +:10C13000FF732380AAE786883046FFF715FF054680 +:10C140000028A3D008310A30FFF77CFF6872DCE7D3 +:10C150004831002078310020F8B5064648B305463E +:10C160000FCD154F3C460FC495E8070084E8070043 +:10C170003068124C3C60B0B1FFF7F1FEC0B93268D4 +:10C1800013682360536863600D480E4A4FF6FF73CF +:10C1900003800D4B40F8043F0021FBF777FA00289D +:10C1A00018BF032004E02046FFF7DBFE0028EBD099 +:10C1B000F8BD0E20FCE700BF483100207831002098 +:10C1C000643100208DBF020080310020F7B5174692 +:10C1D00001900E4691B1019C6CB100252C46294678 +:10C1E00001A8FCF74AFD18B13946A8B2B04701349E +:10C1F0000135142DF3D1204603B0F0BD0C46FAE70B +:10C200000AB1FCF719BDFCF72EBD73B50191019C75 +:10C2100006466CB100252C46294601A8FCF72DFDE9 +:10C2200018B106EB440301349D800135142DF3D180 +:10C230003046346002B070BD2DE9F0470388848831 +:10C24000103B8CB005460A2B21D8DFE803F00640EE +:10C2500020202020202020654700DFF8E880D8F843 +:10C260000830DB430093D8F804106846FCF76AFDF9 +:10C27000009901A8FFF7C9FF0DF108090027019BEC +:10C280009F4207D3132C12D90420FBF7EDF80CB012 +:10C29000BDE8F08739F802AB00260136514608EBBD +:10C2A0008600FCF7E0FC1E2EF7D10137E7E71F48B8 +:10C2B0002146FCF7C1FC1E482146FCF7BDFCEB7B88 +:10C2C000022BE4D11B482146FCF7B6FCDFE71748F8 +:10C2D00021460CB0BDE8F047FCF7C5BC027A164811 +:10C2E0003F2A4FEA1215214694BF00220122FFF790 +:10C2F00087FF022D94BF0022012210482146FFF73C +:10C300007FFF012D0E4894BF0022012221460CB070 +:10C31000BDE8F047FFF774BF037A002BB7D1427A2C +:10C320000548C2F3C0022146F1E700BFA831002052 +:10C33000A4310020AC310020B8310020B4310020FD +:10C34000B0310020A03100201328014602D8024855 +:10C35000FCF793BC00207047A431002007B5019082 +:10C36000FFF7F2FF019930B10448FCF786FC002882 +:10C3700014BF0220012003B05DF804FBAC310020A3 +:10C3800007B50190FFF7E0FF019930B10448FCF7D1 +:10C3900074FC002814BF0220012003B05DF804FBE8 +:10C3A000A831002007B50190FFF7CEFF019928B111 +:10C3B000044803B05DF804EBFCF75FBC03B05DF824 +:10C3C00004FB00BFB031002007B50190FFF7BCFFB0 +:10C3D000019928B1044803B05DF804EBFCF74DBCAB +:10C3E00003B05DF804FB00BFB431002007B5019035 +:10C3F000FFF7AAFF019928B1044803B05DF804EBE8 +:10C40000FCF73BBC03B05DF804FB00BFB831002073 +:10C4100008B518210248FCF739FCC0B208BD00BFBE +:10C42000A031002070B50A4E054630460C46FCF798 +:10C4300024FC58B12846FFF787FF38B10734294656 +:10C4400006EB8400BDE87040FCF717BC002070BD0F +:10C45000A0310020F8B50B4F054638460C4616466D +:10C46000FCF70BFC60B12846FFF76EFF40B10734C4 +:10C470003246294607EB8400BDE8F840FFF7C0BE0E +:10C48000F8BD00BFA0310020034B9B680A4601465F +:10C490001846FFF79BBE00BFA031002073B50B4DBF +:10C4A000019204460E4601462846FCF7E6FB50B1D1 +:10C4B000063405EB8404019A6068314602B0BDE899 +:10C4C0007040FFF783BE02B070BD00BFA0310020F6 +:10C4D000AADF7047002301380B70042806D8DFE874 +:10C4E00000F00306080A0C0011230B70704721238B +:10C4F000FBE73123F9E71223F7E72223F5E700886A +:10C5000000F0010070470088C0F340007047F0B5AC +:10C510008B7891B00C46012B38BF012300278DF892 +:10C520000E3005460B88607CADF80C306946ADF8DE +:10C5300000708DF80270FFF7CDFFA07C0DF10101B6 +:10C54000FFF7C8FF1646237BE27B217D43EAC20347 +:10C55000227C43EA02139DF80220B94222F019021C +:10C5600003F0190314BF02210121134361F34203B5 +:10C570001C22394609A88DF8023004F0DAF8637BF2 +:10C5800013F0300F14D00DF10901E07CADF8087004 +:10C590008DF80A70FFF79EFF11238DF808309DF883 +:10C5A0000A30012102AA61F342038DF80A300E928B +:10C5B000637B8DF82430A37B8DF825300023CDE9F3 +:10C5C0000633089303AB0493A388ADF81C30A3682B +:10C5D000CDF814D01BB1E288ADF818200893A369F8 +:10C5E00073B301A90022ADF804208A701A88ADF84F +:10C5F0002C205A88ADF82E205A680D91187B0A928B +:10C60000FFF768FFA3690DF10501587BFFF762FF93 +:10C61000A3699A7A197A41EAC201DA7A9B7B41EAE4 +:10C6200002119DF80620002B01F0190122F01902D9 +:10C6300014BF02230123114363F342018DF8061056 +:10C64000E36903B10C93334604AA09A92846FFF70E +:10C650003FFF11B0F0BDA0DF7047A1DF7047ADDF35 +:10C660007047B3DF7047B4DF704710B504464088A9 +:10C6700000F0B8FDA0802046BDE8104001F06CBE7F +:10C6800030B587B005460C461422002101A804F0FD +:10C6900050F8082301A88DF80430ADF80650039433 +:10C6A000FFF7E3FF07B030BD70B586B00546142232 +:10C6B000002101A804F03DF84FF6FF739D42ADF84C +:10C6C00006503FD0284600F07FFC1128044633D0A6 +:10C6D00016D8D8B10B2820D02046FDF71FFA1A4EE5 +:10C6E0001A4902461A48361AF608360446F001007E +:10C6F0002B46FAF7B6F921462846FFF7C1FF03E0BB +:10C7000043F202039842E7D1002216E00F238DF88E +:10C71000043001A8FFF7A9FFF6E710238DF80430D5 +:10C7200009480B4B0B49C01AC00800042A4640F0C8 +:10C730000200FAF78DF9ECE70122074B2846197839 +:10C74000FFF788FE06B070BDD4080300CF150300C4 +:10C750005C0803004F15030023320020FFF7A4BF3D +:10C76000024B034918780022FFF798BE25320020BB +:10C7700075C702002DE9F047DFF8348188B098F8DA +:10C7800000100446FFF74EFE0646002840F0848065 +:10C79000204600F07DFC0828054632D016D808B3A4 +:10C7A00006285BD02846FDF7B9F93D4F3D490246C2 +:10C7B0003D483F1AFF083F0447F001002346FAF7BF +:10C7C00050F929462046FFF75BFF09E043F20203D8 +:10C7D000984205D043F20143984259D01128E1D143 +:10C7E000012546E03146142203A803F0A2FF1123DD +:10C7F00003A88DF80C30ADF80E400126FFF735FF89 +:10C80000EEE70DF10600FFF72CFF354601274FF04C +:10C81000020A0DF10809BDF80630BB421ED90022FC +:10C8200049463846CDE903A9FFF71DFFB0B9BDF869 +:10C8300008303DB942F605255B1B5D425D4101377D +:10C84000BFB2E8E742F602129342F8D101AB03AA65 +:10C85000394620460493FFF702FF30B1204600F02E +:10C86000C1FC00F041FC002503E0BDF80430002BC2 +:10C87000F4D00E4B2A4619782046FFF7EBFD98F8C6 +:10C8800000103246204608B0BDE8F047FFF7E2BD91 +:10C890002046FFF709FFA3E708B0BDE8F08700BF17 +:10C8A000D4080300201603005C0803002532002092 +:10C8B0002632002013B5044600F094FC00236A469B +:10C8C000092101F0E3F8052805D1044B012219786C +:10C8D0002046FFF7BFFD02B010BD00BF213200208F +:10C8E00008B5084B084918780022FFF7D7FD024623 +:10C8F00030B9064B06491878BDE80840FFF7CEBDB1 +:10C9000008BD00BF2432002051C90200213200209E +:10C9100015C9020037B542F6A623ADF800300A4B20 +:10C92000044618680190012501AA69462046ADF821 +:10C930000250FFF790FE28B9044B2A46197820468A +:10C94000FFF788FD03B030BD5E18030020320020E1 +:10C9500070B5012186B006462B48FCF7C4F90446A1 +:10C96000BFF35F8F00284AD1304600F0A1FA1128AA +:10C97000054639D018D8002843D00B2832D0284695 +:10C98000FDF7CCF8214C224902462248241AE4083B +:10C99000240444F001003346FAF763F82946304690 +:10C9A000FFF76EFE00241DE0862803D043F2020349 +:10C9B0009842E3E71422214601A803F0BAFE0723B8 +:10C9C0008DF804301148134B1349ADF80660C01AB6 +:10C9D000C008000440F002003246FAF739F801A816 +:10C9E000FFF743FE224600E001220C4B3046197847 +:10C9F000FFF730FD1CB9BFF35F8F034B1C6006B01F +:10CA000070BD01240246F0E71C320020D408030068 +:10CA1000951603005C080300601603002432002012 +:10CA200038B503780446A3B94088FFF73DFE658812 +:10CA3000284600F01BFB28B1064B01221978284636 +:10CA4000FFF708FD6088FFF735FFBDE83840FFF7C6 +:10CA500047BF38BD2532002037B50378092B04467F +:10CA600030D1427A72BB057A072D1BD0082D2ED00B +:10CA7000012D27D180886A46294601F08DFA08BB2E +:10CA8000019B1B78F3B1A08800F0DAFB4FF6FF732F +:10CA9000984217D0124B2A461978FFF7DBFCFFF7B4 +:10CAA0005FFE0FE0808800F0CBFB4FF6FF739842EB +:10CAB000044607D00B4B01221978FFF7CBFC204628 +:10CAC000FFF7F8FE03B0BDE83040FFF709BF064BA3 +:10CAD00019680129F6D1BFF35F8F1A60F2E700BF32 +:10CAE00025320020243200201C3200202DE9F8439A +:10CAF000FFF78EFCDFF8B090DFF8B08089F8000017 +:10CB0000FFF786FC88F80000FFF782FC1D4F1E4EE1 +:10CB10003870FFF77DFC3070FFF77AFC1B4D1C4C22 +:10CB20002870FFF775FC2070FFF772FC194B187026 +:10CB300099F80030182B11D098F80030182B0DD030 +:10CB40003B78182B0AD03378182B07D02B78182B6A +:10CB500004D02378182B01D018280CD10E4B0F4885 +:10CB60000F49C01AC008000440F00100F9F76CFF3B +:10CB70000320BDE8F8830B4B00201860BFF35F8FE4 +:10CB8000F7E700BF253200202632002021320020A6 +:10CB900020320020223200205C080300D408030069 +:10CBA000D21603001C320020243200202332002041 +:10CBB00037B5134B0022CDE90032124B0D461978E0 +:10CBC0000446FFF747FC1049104B2046002D08BFD4 +:10CBD0000B46019300F006FB0022694600F0C2FFFD +:10CBE00060B1FCF79BFF0A4B0A4902460A481B1A30 +:10CBF000DB081B0443F00200F9F72AFF03B030BD45 +:10CC000001000900213200206418030068180300A5 +:10CC1000D4080300411703005C08030070B50388C3 +:10CC20008488502B86B0054639D00FD8352B49D093 +:10CC3000362B00F08D80584B584918780022FFF7AA +:10CC40002DFC06B0BDE87040FFF78ABD522B22D004 +:10CC5000542BF0D11422002101A803F06AFD122305 +:10CC600020468DF80430ADF8064000F0BBFAADF870 +:10CC7000080000F039FA4A4B204619780022FFF7E5 +:10CC8000E9FB484B204619780022FFF7E3FB01A897 +:10CC9000FFF7EBFCCFE72046FFF706FDCBE7037B72 +:10CCA000012BC8D1827A012AC5D1018942F602132B +:10CCB0009942C0D13C4B20461978FFF7CBFBFFF7D8 +:10CCC0000FFEB8E7394E20463178FFF7ABFB00285E +:10CCD000B1D0002231782046FFF7BCFBEA88B2F5DC +:10CCE000857F0AD072B13248324BC01AC0080004A6 +:10CCF000314940F00200F9F7ABFE00212046FFF772 +:10CD000057FF98E76A89012A09D02948294B2B49FE +:10CD1000C01AC008000440F00200F9F799FEAE897D +:10CD2000012E07D02248234BC01AC0080004324607 +:10CD30002349DEE7E98900222046FFF78EFC002820 +:10CD4000DBD1204B324619782046FFF783FB72E790 +:10CD50001C4E20463178FFF765FB00283FF46BAF8F +:10CD6000317800222046FFF775FBEE8836B1104877 +:10CD7000104BC01AC00800043246B9E7EA89012AFC +:10CD800005D00B480B4BC01AC0080004D0E7297C23 +:10CD9000003918BF0121B1E7233200205DC702002E +:10CDA00026320020253200202432002020320020AC +:10CDB000D40803005C0803009E170300D817030083 +:10CDC0001218030022320020AFDF7047B1DF704736 +:10CDD000B2DF7047B3DF704710B50446808800F0BB +:10CDE0002FFA60802046BDE8104001F0B7BA00007D +:10CDF000F0B5204B204E93E8030089B001AD85E8E3 +:10CE000003004FF6FF773088B84217D0002229463A +:10CE100000F0A8FE044638B31422002103A803F052 +:10CE200088FC3388ADF81030112C07D0862C07D140 +:10CE300007238DF80C3003A8FFF7CEFF09B0F0BD33 +:10CE40002046FCF76BFE0D4D33880D4902460D4818 +:10CE50002D1AED082D0445F00100F9F702FE082314 +:10CE60008DF80C300594E6E7308800F0E8FE30805D +:10CE7000C9E700BF501A030028320020DC08030075 +:10CE80006C1803005C080300044B1A884FF6FF730C +:10CE90009A4201D0FFF7ACBF704700BF2832002094 +:10CEA000024B4FF6FF721A80002070472832002094 +:10CEB0002DE9F04F87B0804600F094F94FF6FF73EC +:10CEC0009842064675D03C4D3C4BED1AED082D04BA +:10CED00045F0010501273A4602AB0821304601F032 +:10CEE0005FF80137BFB2044600285DD1DDF80CB011 +:10CEF000DA464FF003094AF8069B4B460BF1040251 +:10CF000051464046FFF764FF034698BB04AA082138 +:10CF1000304601F041F858B1052814D0FCF7FEFD69 +:10CF20002749024643462846F9F79BFD4B4610E049 +:10CF30000599BBF804308A889A4204D106315046DC +:10CF400003F094FB48B132460821304601F0ECF87A +:10CF50000346184607B0BDE8F08F0821304601F0BF +:10CF600091F828B1FCF7DAFD164903463246DAE7B4 +:10CF70000B23EEE70C2815D0052800D12346082105 +:10CF80003046019301F07EF8019B40B1FCF7C6FDED +:10CF90000C49034632462846F9F763FD0323002C6B +:10CFA00099D1D6E70124EAE7072814BF03460C23EA +:10CFB000CFE743F20203CCE7DC0803005C08030080 +:10CFC000C1180300F91803002DE9F341054600F0EC +:10CFD00009F94FF6FF73984222D100240326274611 +:10CFE0004FF001083346224639462846FFF7EEFE49 +:10CFF00004282BD0082830D00B2828D116F00203A3 +:10D0000019D1E7B9FCB91648164B17491B1ADB08AA +:10D010001B042A4643F00100F9F71AFD0B2019E022 +:10D020006A46082100F0B8FF0028D6D1019B9C88F1 +:10D030001E689F1DD4E701264FF00008D2E70326A3 +:10D040001C461F46F8E703263C46F5E71120B8F1D9 +:10D05000000FE3D002B0BDE8F0810020F7E700BF89 +:10D060005C080300DC080300781903001FB50DF10C +:10D070000703039300F0B6F802AA012100F08CFF29 +:10D0800020B9039B187805B05DF804FB0020FAE78F +:10D0900070B505461048FFF79DFE70B90E4C43F27F +:10D0A000030621884FF6FF722846FFF78DFEB04237 +:10D0B00011D1238801332380F3E7FCF72FFD074BC1 +:10D0C0000749024607481B1ADB081B0443F001000E +:10D0D000F9F7BEFC032070BD2A320020DC080300F3 +:10D0E000F01903005C08030013B5074A044692E8F0 +:10D0F00003006B4683E8030000221946204600F037 +:10D1000031FD02B010BD00BF581A030046DF704762 +:10D11000421E00F10F0312F8010F10B99A42FAD122 +:10D1200070470120704708B570B171B103780A7873 +:10D13000534013F0FE0F08D106220131013003F0F5 +:10D1400095FAB0FA80F0400908BD0020FCE72DE90F +:10D15000F04700F101084F1C06460D4600F1110989 +:10D1600001F1110A10223946404603F07FFA0446C5 +:10D17000D0B94046FFF7CCFF18B13846FFF7C8FFDB +:10D18000044651464846FFF7CEFF737C03F0FC038C +:10D19000042B05D06B7C03F0FC03042B18BF044662 +:10D1A00004F00100BDE8F0870024EAE77FB50546FA +:10D1B0000E4600F0A1FC02AA0DF10601072000F0C6 +:10D1C000A3FC10B94FF6FF7409E0BDF80640B44265 +:10D1D000F1D003992846FFF7BAFF0028EBD020468C +:10D1E00004B070BD132810B5044602D94FF6FF7085 +:10D1F00010BDFFF7A9F80028F8D00A20014B4443DE +:10D20000185BF5E72C320020132838B505460C468C +:10D2100002D943F2020038BDFFF796F80028F8D093 +:10D22000064B0A2000FB0530D0F802302360C3888B +:10D23000A380037AA3710020EDE700BF2C32002009 +:10D240004FF6FF7398422DE9F04105460CD00C4F84 +:10D2500000244FF00A0808FB04F3A6B2DB5BAB42E4 +:10D2600005D00134142CF6D14FF6FF7604E0304699 +:10D27000FFF76AF80028F4D03046BDE8F08100BF1F +:10D280002C320020038843B9821C0A3012F8013B7B +:10D290001BB98242FAD1184670470120704710B579 +:10D2A0000446FFF7EFFF58B122880B889A4208D155 +:10D2B00008220231A01C03F0D9F9B0FA80F040092D +:10D2C00010BD0020FCE730B585B0044600F014FC2A +:10D2D00002AA0DF10601072000F016FC10B94FF666 +:10D2E000FF700FE0039D204605F14601FFF7D7FFD1 +:10D2F00030B905F12A012046FFF7D1FF0028E7D019 +:10D30000BDF8060005B030BD13289FBF0A2358435F +:10D31000014B1952704700BF2C32002038B505462A +:10D32000FFF78EFF0446284600F0B6FE38B9132CEE +:10D3300005D80A235C43024B4FF6FF721A5338BDDF +:10D340002C32002070B58CB014466A460D4600F1B0 +:10D350001003164613F8011D02F8011B9842F9D17B +:10D360000D22002104A803F0E4F92B788DF81F307A +:10D370006B788DF81E303046AB788DF81D30FFF796 +:10D38000C5FE9DF82F3023709DF82E3063709DF8F8 +:10D390002D30A3700CB070BD1FB5034608461A7837 +:10D3A00002F0FE02042A1BD1DA78B3F801108DF8DE +:10D3B00006209A88ADF804109B79ADF80C2003A9DB +:10D3C00002AA8DF80E30FFF7BDFF032202A901A8C3 +:10D3D00003F04CF9B0FA80F0400905B05DF804FBA9 +:10D3E0000020FAE730B50388102B93B04ED1041D0E +:10D3F0000FCC07AD0FC50FCC0FC594E807009DF803 +:10D40000203003F0FE03062B85E8070009D000F06A +:10D4100073FB9DF82030032B4FEA530204D9022AF4 +:10D420003DD04FF6FF7310E002AA0DF10601072070 +:10D4300000F06AFB0028F4D0039908A81131FFF727 +:10D4400072FE0028F0D0BDF80630BDF81C40184828 +:10D450000A226243811883529DF8262008980A7296 +:10D460004FF6FF72C1F802009342BDF82400C88055 +:10D470000CD0ADF80C3002A80023ADF80A408DF8AE +:10D48000083000F06DFF02A8FFF7CAFA13B030BDF4 +:10D49000039908A80131FFF77FFF0028D3D102AA22 +:10D4A0000DF10601072000F02FFB0028F0D1B8E7AE +:10D4B0002C32002090DF7047A5DF7047B5DF704742 +:10D4C0007FB50023ADF80810ADF80A106A4602A92E +:10D4D0000646ADF80C30ADF80E300093ADF80430D0 +:10D4E000FFF7E8FF054600B3114B124CE41AE408BD +:10D4F000FCF714FB240444F0010403460E493246B1 +:10D500002046F9F7AEFABDF80020BDF8023052EA25 +:10D51000030103D009492046F9F7A3FABDF8042016 +:10D520001AB107492046F9F793FA284604B070BDAE +:10D530005C080300A4080300781A0300C21A030061 +:10D54000011B030078B14FF0171303601B23037115 +:10D550001723C380038141F61B32002301614381FD +:10D560008281184670470E207047000013B50346AD +:10D5700080880C46B8B91A88242A00F09B8014D8F9 +:10D58000112A74D0232A00F0A680102A3ED0A37A54 +:10D590004BB1E1880020FFF78FFF002840F0A18009 +:10D5A0004FF48073638102B010BD3A2A67D0552AC8 +:10D5B000EDD1DB88C988A072172B38BF17238B42A7 +:10D5C00028BF0B462381FFF779FF60B1FCF7A6FA6D +:10D5D0004D4B4E4902464E481B1ADB081B0443F0D4 +:10D5E0000100F9F735FAE27A002AD0D12369002B3D +:10D5F000CDD040F67721ADF802202289ADF8001099 +:10D60000ADF80420694620469847C0E7DB7B0A79DD +:10D610000A73012B13D0022B14D0E18823898B428B +:10D6200005D20020FFF748FF70B90123E372217B88 +:10D63000637B8B42ABD20020FFF742FFA7E70B884A +:10D64000E380EAE74B88FBE7112802D10123A372AC +:10D65000EDE7FCF763FA2C4B2E4902462C481B1AC7 +:10D66000DB081B0443F00100F9F7F2F9DFE71723A9 +:10D67000CB800B8141F61B3348818B8187E75B8927 +:10D68000CA88934228BF1346172B0A6938BF17234D +:10D690000B8162B1C97A51B140F67721ADF8001023 +:10D6A000ADF80200ADF804306946204690470023EB +:10D6B00063816CE71A7A0B694A73002B3FF467AFFA +:10D6C0004DF67A218DF80500ADF80010ADF8020096 +:10D6D0008DF8042096E7197A237B994228BF1946D2 +:10D6E000AAE711283FF45FAFFCF718FA064B094987 +:10D6F000024607481B1ADB081B0443F0010002B076 +:10D70000BDE81040F9F7A4B9A4080300881B030082 +:10D710005C080300571B0300B0DF704766DF7047EB +:10D7200010B5002104464088FFF7F8FF034608B90A +:10D73000237210BD112801D10123F9E76368BDE808 +:10D740001040184760B159B10378DE2B0AD00B683E +:10D750004360DE2303704FF6FF7343800020704761 +:10D760000E2070470820704728B10378DE2B04D1C3 +:10D770004180002070470E20704708207047F0B5A8 +:10D78000054685B00C46002942D0002840D00B78D1 +:10D79000DE2B3DD182884B889A4204D10B7A13B19B +:10D7A0000846FFF7BDFF2B88112B33D0512B0FD02C +:10D7B000012B2DD12B7A012B2AD1A9886288914285 +:10D7C00026D12046237205B0BDE8F040FFF7A8BF80 +:10D7D000AE886388B3421BD1AF79022F18D1AD7BDD +:10D7E0002B1F022B14D800211022684602F0A1FF43 +:10D7F000052D18BF4FF4C0736946304618BFADF809 +:10D8000004308DF80070FFF787FF08B16368984710 +:10D8100005B0F0BD6388AA889A4204BF4FF6FF7333 +:10D820006380F5E7012804D0043805288CBF002068 +:10D83000012070474FF6FF73438000F0DBBA000011 +:10D840002DE9F041264F00238AB04FF6FF70CDE955 +:10D8500000333B7000F01CFD4FF6FF78044648F2A1 +:10D860000966444513D0A4F58045ADB26A4602A9C5 +:10D870002846FBF7A1F8B0420CD02846FBF734F855 +:10D8800048F20763984206460CD101233B700AB068 +:10D89000BDE8F081204600F09DFC204600F0F8FC39 +:10D8A0000446DEE7002EF2D00E480F4D0F492D1A28 +:10D8B000ED082D042346324645F00100F9F7D1F872 +:10D8C000142200210DEB020002F033FF082305A80B +:10D8D0008DF81430ADF818400796FFF7ABFFD6E788 +:10D8E000FC3200205C080300FC080300C41B03009A +:10D8F00070B5044686B014263246002101A802F015 +:10D9000018FFA0892378304D00F5804080B2042BA9 +:10D91000ADF808003CD008D85A1E022A11D92B783D +:10D920000BB1FFF78DFF06B070BD052BF7D1636813 +:10D93000002B43D18DF804604FF6FF73ADF808302B +:10D940001DE043F6FE76B042E18904D901F580423C +:10D9500092B2B242E3D8DA1E534253418DF80D30F1 +:10D96000A368049363688DF80C1063B909238DF8DC +:10D9700004309DF8143043F001038DF8143001A8F1 +:10D98000FFF758FFCBE70A228DF804200593F6E74E +:10D9900043F6FE739842C2D8E389002BBFD1636877 +:10D9A0003BB90B238DF8043000F014FC01232B70DD +:10D9B000E5E70C228DF804200393F7E715228DF894 +:10D9C00004200393B8E700BFFC32002007B5002312 +:10D9D000A1F58041A0F58040CDE9003389B26B46C6 +:10D9E00080B2FAF7CFFF002818BF052003B05DF81A +:10D9F00004FB000030B5204889B0FAF7EFFD70B1A4 +:10DA00001E4A1F4B1F499B1ADB081B04024643F0AA +:10DA10000100F9F71DF80324204609B030BDFAF7DC +:10DA2000F3FD044660B1154B15481749C01AC008EC +:10DA30000004224640F00100F9F70AF88624EBE7DB +:10DA400000F0A8FBCDE9034403AA05A94CF20700A6 +:10DA5000FAF7A5FF0028DFD101A905A8FAF7EEFE25 +:10DA6000019B9D8805F58045ADB205A8FAF70CFF2E +:10DA7000284600F097FBE7E7F1D802005C080300B6 +:10DA8000FC080300101C0300521C0300F0B5FF2823 +:10DA900087B004460E4615461F462BD80846FFF7AA +:10DAA000C1FE38B303AA2046FFF790FF18B1052442 +:10DAB000204607B0F0BD01A903A8FAF7BFFE04464F +:10DAC0000028F4D1019BAE705E8802992E8027B9A0 +:10DAD000696003A8FAF7D8FEEAE73F686868B6000D +:10DAE000B74228BF37463A4602F0FAFDBE42F0D9A7 +:10DAF0000C24DDE70724DBE7024B0022C3E9002208 +:10DB0000704700BFF4320020F0B587B00646FFF73B +:10DB100089FE0F4615460446F8B1A6F58040104A26 +:10DB200003A980B2FAF73BFF18B10024204607B0E2 +:10DB3000F0BD01A903A8FAF781FE0028F5D1019BE9 +:10DB4000AE705A889B882A8003F58043029A6A60E7 +:10DB500003A83B80FAF798FEE8E70124E6E700BF58 +:10DB6000F432002070B5FF2886B006460B461546F5 +:10DB70004AD889780846FFF755FE002844D0A6F514 +:10DB80008042ADF80020A1F58042ADF802205A682D +:10DB900001921B88029303AA3046FFF717FF05285E +:10DBA000694603A812D1FAF793FE0446A8B1A0F57E +:10DBB0000643023B0B2B19D80B2B17D8DFE803F0D9 +:10DBC000141616160926161616161626FAF784FEC9 +:10DBD000EBE78624204606B070BD002DFAD029461A +:10DBE00003A8FAF7F6FEF5E71024F3E70848094D15 +:10DBF00009492D1AED082D042246334645F001004F +:10DC0000F8F72FFF0324E5E70724E3E71124E1E712 +:10DC10005C080300FC080300901C03004FF6FF7033 +:10DC200000F0C0BAFF2808B505D800F0C1FAFFF728 +:10DC300007FE002008BD0720FCE700F0E1BA00F075 +:10DC40000DBB00F025BB00000A68084B70B50C2521 +:10DC5000032A01D9002006E005FB02F4E65A8642B9 +:10DC600002D10A60181970BD0132F1E75434002066 +:10DC700037B500230D460446019301A9FFF7E4FFE1 +:10DC800038B18378AB4206D1837A9B0703D14368CE +:10DC90000BB903B030BD019B0133019301A92046AC +:10DCA000ECE710B5044600F00FFD204601F072FFCE +:10DCB0002046FFF7E9F82046BDE81040FEF7CCBE4D +:10DCC00070B50E4E04460025237AAB420DD84FF6B0 +:10DCD000FF732380A370002363604FF47F4323818D +:10DCE000A37A23F00303A37270BD617A2944C9B2F9 +:10DCF000304601F034F90135E6E700BF4434002036 +:10DD000037B50023CDE90033417A83788DF80230AE +:10DD10000446324801F00AF960B93148314B627A61 +:10DD20003149C01AC008000440F00100F8F790FE25 +:10DD3000032046E0237AA2788DF8022003EB8303C8 +:10DD40009B00ADF80030531E0190072B08D8DFE888 +:10DD500003F022070707072204241423ADF800303C +:10DD60002246694632F8040BFFF7FCFE11282AD040 +:10DD700017D810B3072824D0FBF7D0FE184D2388FE +:10DD80001A49024617482D1AED082D0445F00100E6 +:10DD9000F8F767FECCE70123E0E7838809339B08A7 +:10DDA000DCE78628E8D1A37A23F0030343F00103DC +:10DDB000A3720F4B01221A7003E0A37A23F003032E +:10DDC000A37203B030BDA37A23F0030343F0020330 +:10DDD000A372074B01221A700020F2E7443400209E +:10DDE000F40803005C080300F71C0300371D030060 +:10DDF000403400202DE9F0473E4FC16886B005460B +:10DE00003A4600233E46506881421BD10C2000FB5D +:10DE100003602B78DFF8EC800A2B1AD0142B4AD041 +:10DE2000092B4AD16C7A002C47D1002847D0FFF744 +:10DE300047FF2846FFF735FF98F800308BB906B04A +:10DE4000BDE8F0870133042B02F10C02DBD1002086 +:10DE5000DFE76C7A8CBB90B3837A446043F00203B3 +:10DE60008372002588F800504FF00C094FF0010A2A +:10DE700009FB05639B7A9907C3F3400201D4DB07D2 +:10DE800032D588F800A002B974B33846FFF738FFDE +:10DE900050B34FF6FF72ADF806200C22554386288A +:10DEA000725BADF808200CD107238DF8043001A86F +:10DEB000FFF7F7FEC3E70124BBE70024B9E70446F8 +:10DEC000B7E708228DF804200390FBF727FE0A4CE1 +:10DED000735B0A4902460A48241AE408240444F001 +:10DEE0000100F8F7BEFDE2E70135042D07F10C074C +:10DEF000BED1A4E754340020F4080300661D0300DB +:10DF00005C080300403400201C4BF7B500221E467D +:10DF10004FF6FF754FF0FF0C0C27104607FB02640D +:10DF20001D809D7083F809C0A17A013221F00301A0 +:10DF3000042AA17203F10C0303F8040C43F8080C43 +:10DF4000ECD15023CDE900230D490E4B0E484FF480 +:10DF5000A07200F0D7FF034668B1FBF7DFFD0B4B63 +:10DF60000B4902460B481B1ADB081B0443F0010057 +:10DF7000F8F76EFD0323184603B0F0BD54340020BB +:10DF8000003300208434002044340020F4080300CF +:10DF9000C61D03005C0803000023FFF777BD0000E7 +:10DFA0002DE9F04180460E4614461F46002B5DD0F9 +:10DFB000CB1F012B5CD8531E032B59D8FFF758FEFB +:10DFC000054610BBFF214FF6FF70FFF751FE0546D7 +:10DFD000C8B1A0F8008086706B7AFF2B1AD1254853 +:10DFE000214600F0D4FFFF28687229D14FF6FF7355 +:10DFF0002B8000236B604FF47F432B81AB7AA8709A +:10E0000023F00303AB72112018E0037AA342E3D09C +:10E010000F2013E04FF00008697A16482C7200F0C8 +:10E0200085FF80B9144B15486A7A1549C01AC00893 +:10E03000000440F00100F8F70BFD0320BDE8F0817B +:10E040004FF00108E8E704EB840424010334C4F32F +:10E050008D04BE7078603C80B8F1000F04D0082EAB +:10E0600002D1A400063C84800020E7E70E20E5E70B +:10E070000720E3E7443400205C080300F4080300B1 +:10E08000E41D030008B5FFF7F3FD18B1FFF718FE14 +:10E09000002008BD0520FCE77FB50023054603935B +:10E0A00003A9FFF7D1FD0446A8B92846FFF7BAFD3A +:10E0B000014640B3072826D0FBF730FD164C174920 +:10E0C00003461748241AE40824042A4644F00100B1 +:10E0D000F8F7C7FC16E0A1782846FFF7D3FFA8B1F0 +:10E0E000052813D0FBF71AFD0B4EA37800930246C8 +:10E0F0000B480C49361AF60836042B4646F0010048 +:10E10000F8F7B9FC0321084604B070BD039B013346 +:10E11000039303A92846C4E7F4080300AE1E0300D6 +:10E120005C080300581E0300CB1F012B70B5064688 +:10E130000C46154601D9072070BD1046FFF77DFD3E +:10E140000028F8D021463046FFF792FD28B18470B0 +:10E150000580BDE87040FFF7D3BD0520ECE710B5A2 +:10E160004FF6FF7304469C4208460AD14FF4807173 +:10E17000FAF78CFD84B2B4F5807F09D14FF6FF74B5 +:10E1800006E0FF2CFAD82146FAF75FFD0028F5D10A +:10E19000204610BD02484022002102F0CABA00BF4A +:10E1A000883400200149FFF7DABF00BF883400201F +:10E1B0004FF6FF73984210B5044606D00449FFF7A6 +:10E1C000CEFF231A5842584110BD0020FCE700BF83 +:10E1D000A8340020FF2807B501460AD80190064858 +:10E1E000FAF741FD0199054803B05DF804EBFAF731 +:10E1F0003ABD03B05DF804FB88340020A834002049 +:10E20000FF28014602D80248FAF737BD00207047C0 +:10E2100088340020FF28014602D80248FAF72DBDB5 +:10E2200000207047A83400204FF6FF73984270B565 +:10E2300018BF441C0E4614BFA4B20024A5B2FF2D83 +:10E2400002D94FF6FF7506E021463046FAF715FD74 +:10E2500001340028F2D0284670BD000070B50B498B +:10E260000A4EFFF7E1FF4FF6FF750446AC4201D1BD +:10E27000204670BD2046FFF7CDFF0028F8D020468D +:10E280003146FFF7D1FF0446F0E700BF8834002095 +:10E290000149FFF7C9BF00BFA8340020F8B5074DFA +:10E2A000074E074600243378A34200DCF8BD55F83A +:10E2B000043B384698470134F5E700BFD0340020CE +:10E2C000DF34002070B5204B1B7886B00446002B4D +:10E2D00037D0038885881D4E102B2DD100211422A4 +:10E2E00001A88DF8031002F024FA01238DF8043000 +:10E2F0004FF6FF73ADF8083004F10803039301A84B +:10E300000DF103030493ADF80650FFF7C7FF28464D +:10E310009DF803203178FEF79DF89DF8030080B941 +:10E320002046FFF75FF8204601F082FC204606B049 +:10E33000BDE87040FEF772BC31782846FEF772F8EF +:10E34000EDE706B070BD00BFDE340020462300209C +:10E3500008B1FFF7A3BF7047FFF7A0BFFFF79EBF4D +:10E36000FFF79CBF10B5FFF745FB80B1FBF7D6FB6D +:10E37000324C334A334903463348241AE408240410 +:10E3800044F00100F8F76DFB0324204610BDFFF7B1 +:10E39000BBFD50B1FBF7C2FB284C294A2B49034671 +:10E3A0002948241AE4082404EAE701F013FC50B1D8 +:10E3B000FBF7B4FB214C224A254903462248241A84 +:10E3C000E4082404DCE700F015FF50B1FBF7A6FBDE +:10E3D0001A4C1B4A1F4903461B48241AE40824040C +:10E3E000CEE7FEF783FB50B1FBF798FB134C144AC2 +:10E3F000194903461448241AE4082404C0E7FEF728 +:10E400004FFD044650B1FBF789FB0C4C0C4A1349F5 +:10E4100003460D48241AE4082404B1E7104B4FF6D4 +:10E42000FF721A800F4B18600F4B18700F4B0122B0 +:10E430001A70FDF7EDFF0E4B1870A6E7CC0803002D +:10E4400004210300111F03005C0803003B1F0300AD +:10E45000651F03008E1F0300B81F0300E21F0300A7 +:10E46000DC340020E4340020E0340020DE340020DE +:10E4700046230020084B1B7853B1084A1378022B1F +:10E4800008D8074941F82300013313700020704772 +:10E490000820704704207047DE340020DF3400205D +:10E4A000D0340020034B1B780BB101F0DBBB0820FC +:10E4B000704700BFDE34002008B5054B1B782BB138 +:10E4C00001F0EEFB082808BF112008BD0820FCE77A +:10E4D000DE340020034B1B780BB101F0B9BA0820E1 +:10E4E000704700BFDE340020034B1B780BB1FEF7F2 +:10E4F00015BF0820704700BFDE340020F0B5224B66 +:10E500001B7889B0002B3CD0204F01234FF6FF70C1 +:10E510003B70FFF794FB4FF6FF76B042044619D1EB +:10E5200000251422294603A83D7002F002F90D23AC +:10E5300003A88DF80C30ADF81040ADF80E40FFF791 +:10E54000ADFE284609B0F0BD2046FFF778FBB0428B +:10E550000446F6D02046FFF7C7FF05460028F3D053 +:10E56000FBF7DCFA0A4D0B4A0B49009403460B48B3 +:10E570002D1AED082D0445F00100F8F77CFA03256B +:10E58000DFE70825DDE700BFDE340020CC340020C3 +:10E59000CC080300F42003000D2003005C080300F6 +:10E5A0002DE9F04F87B081460193334B1B788846A5 +:10E5B0001646002B5ED04FF6FF70FFF740FB00259C +:10E5C0000423CDE9025302AB059304AA03AB062151 +:10E5D00004460495FFF75AFA072849D04FF6FF770B +:10E5E000BB464FF0FF3AF0B1052825D04FF6FF7338 +:10E5F0009C422DD1A34529D0A7420CBF0520002065 +:10E60000B9F1000F01D0A9F800B0B8F1000F01D0A6 +:10E61000C8F8005006B13780019B0BB1C3F800A0C9 +:10E6200007B0BDE8F08F029BAB4224BFA3461D4656 +:10E6300053453CBF27469A462046FFF700FB03ABF5 +:10E6400004AA06210446FFF721FACCE70520D7E704 +:10E65000FBF764FA094D0A4902460A482D1AED08EB +:10E660002D0445F001002346F8F7FBF90320D7E716 +:10E670000520D5E70820D3E7DE340020CC080300CE +:10E68000552003005C08030038B50C4C0C4D0023EA +:10E690001A4621462846FFF783FF05280AD14FF680 +:10E6A000FF732B8000232360431F58425841054BC2 +:10E6B000187038BD0028F7D10120F8E7C8340020D1 +:10E6C000DC340020E0340020F0B5044687B08088B8 +:10E6D000FEF7B6FD23786080093B032B20D8DFE8E6 +:10E6E00003F002253569637A5BB9414A116851B17B +:10E6F000E068814207D113603E4AA1881180E3603F +:10E700000EE0012B0CD13C4B1B784BB1394BA2884E +:10E710001B889A4204D1237A062B01D1FFF7B4FF5C +:10E72000204607B0BDE8F040FFF7B8BD637A002B84 +:10E73000F6D12F4A11680029F2D0E0688142EFD16A +:10E740002E4913600A68013A0A60D8E72C4F3B78DB +:10E750006BB90125284B1B7833B1264BA2881B8847 +:10E760009A4201D1FFF790FF002D3ED0D8E74FF637 +:10E77000FF70FFF764FA4FF6FF7398420546E8D141 +:10E78000FFF75FFAA8420646E3D100251422294686 +:10E7900001A83D7001F0CDFF0D2320468DF8043017 +:10E7A000ADF80860ADF80660FFF778FD01A8FFF747 +:10E7B00075FDCFE7124B1A78002AB1D00021142240 +:10E7C00001A8197001F0B5FF0E238DF804304FF643 +:10E7D000FF73ADF80830ADF806302046A368039308 +:10E7E000FFF75CFD01A8FFF759FD07B0F0BD00BFC2 +:10E7F000E4340020DC340020E0340020C834002061 +:10E80000CC3400202DE9F041374B1B7888B0054609 +:10E81000002B65D0354B364C93E80300237801AFCD +:10E8200087E803004BB1DFF8D480D8F8004054B13A +:10E830001124204608B0BDE8F081FFF725FF2378BA +:10E84000002BF5D0EFE72B4A2B4E12883368AA42F3 +:10E850001DD1F3B11422214603A801F06AFF092358 +:10E8600028468DF80C30FEF7EBFC0623ADF814308B +:10E870009DF81C30ADF80E0064F3000303A8ADF85A +:10E88000105006948DF81C30FFF708FDD1E75A1C94 +:10E8900028D00133194A336039462846FFF762F918 +:10E8A00004460028C5D00023C8F80030336811287A +:10E8B00003F1FF333360BBD08628BAD00728B8D025 +:10E8C000FBF72CF90E4C0F4902460F48241AE408B6 +:10E8D000240444F001002B46F8F7C3F80324A8E70A +:10E8E0000824A6E71324A4E7DE340020EC2003006C +:10E8F000E0340020DC340020C8340020E434002060 +:10E90000CC0803009D2003005C08030076DF7047FD +:10E9100073B5054669B901A9FFF7DCFD43F20202B0 +:10E92000904202D008B1F8F79FFD9DF804309B0794 +:10E9300048D400212846FFF7BFFD0646002841D0F5 +:10E9400011283FD0204C214BE41AE4080D284FEA4F +:10E95000044416D144F002041D4920462A46F8F723 +:10E9600077F813212846FFF7D1FF58B3FBF7D6F805 +:10E97000184902462B46204602B0BDE87040F8F721 +:10E9800070B80B2808D114492A4644F0020002B09E +:10E99000BDE87040F8F75CB843F20203984202D138 +:10E9A0000E492A46F1E7FBF7B9F80D4902462B4616 +:10E9B00044F00100F8F755F8304602B0BDE8704069 +:10E9C000F8F752BD02B070BDE40803005C08030014 +:10E9D0000C2103007D210300B42103001222030057 +:10E9E0005C2203002DE9F0410378152B86B0044624 +:10E9F00004D8062B05D84BB3032B4DD006B0BDE889 +:10EA0000F081073B0E2BF9D801A252F823F000BF8A +:10EA1000B7EA0200FDE902006BEB0200FDE902002B +:10EA20006BEB0200FDE90200FDE90200FDE90200D6 +:10EA3000FDE90200FDE90200FDE90200FDE9020036 +:10EA4000FDE9020073EB0200BFEB02008088FFF7D4 +:10EA5000D9FE862801D0112813D16049604A0B687D +:10EA6000A08822F8130001335A4202F0070203F093 +:10EA7000070358BF53420B6006B0BDE8F04100F0F9 +:10EA8000C3B8132803D8574BC340DB07B6D406B02E +:10EA9000BDE8F041F8F7E8BC037A012BAED88488D2 +:10EAA0001422002101A801F044FE01A8ADF808409D +:10EAB000FFF798FFA2E74C4E3378002B9ED14B4BCB +:10EAC0004B4D4C4F4C49ED1AED082D0445F0030811 +:10EAD0004046F7F7B9FF3B78002B3AD101A8F9F788 +:10EAE00081FF044608B1F8F7BFFCBDF80A30002BDF +:10EAF00014BF012200223A7028D101AA19461846F3 +:10EB0000FFF74EFD044678B9BDF804203B49404666 +:10EB1000F7F79EFFBDF80400FFF7E6FC044608B1D6 +:10EB2000F8F7A2FC01233B70052C05D1344945F0D0 +:10EB30000100F7F789FF61E7062C03D1314945F061 +:10EB40000200F6E72CB12046F8F78EFC002C7FF48B +:10EB500055AFF9F7F1FE10B9012333704EE748F2D3 +:10EB6000076290423FF44AAF91E7224B01221A70AC +:10EB700044E71D4B1A4D00241C701E4B1C70174B94 +:10EB80001F684FF6FF76E3195A4202F0070203F0BE +:10EB9000070358BF534235F81380B0450BD025F812 +:10EBA00013601422002101A801F0C3FD01A8ADF8F3 +:10EBB0000880FFF717FF0134082CE4D11EE70A4B49 +:10EBC00000221A70836848F20D6293423FF454AFFA +:10EBD000B3F5064F7FF412AF4EE700BFEC340020D0 +:10EBE00048230020C1000800E83400205C0803002E +:10EBF000E40803004723002097220300B222030009 +:10EC0000DC220300FA2203007FB51422002101A8B0 +:10EC100001F08FFD072301A88DF80430FFF7E2FE15 +:10EC200007B05DF804FB000030B5027885B00446FB +:10EC3000152A00F2E780DFE812F02C002C002C00EF +:10EC400016002E002C002C004700540061007C00B0 +:10EC50009700A500B900C2002C00CD002C002C00AC +:10EC60002C002C00D80040886B4DFDF777FB6B4BD8 +:10EC7000227A6B49ED1A6B4BED0853F822306A4A41 +:10EC800000932D0452F82020638845F00300F7F725 +:10EC9000F2FE05B030BD40885F4DFDF75FFB5F4B76 +:10ECA0006249ED1A63890193227A5E4B53F8223050 +:10ECB00000935D4A638852F82020ED082D0445F04A +:10ECC0000300F7F7E4FEE4E75348544B5849C01AF1 +:10ECD000C008000440F0020005B0BDE83040F7F77E +:10ECE000B3BE8068FAF71AFF4B4B524902464B48B5 +:10ECF0001B1ADB081B0443F001003EE0474B46486B +:10ED0000617A4D4D227AC01A4C4B53F82110237C66 +:10ED100013F0010F4A4B18BF2B46CDE90013C00872 +:10ED2000484B494953F82230A288000440F00300C0 +:10ED3000C7E7017A434B828853F82130407A3F4934 +:10ED4000039251F8205020690293334CFAF7E6FE03 +:10ED50003249641AE4082404CDE90050DDE90232A6 +:10ED60003A4944F00200ACE72B482C4BA2883849C2 +:10ED7000C01AC008000440F0010005B0BDE83040F2 +:10ED8000F7F766BE828880680292FAF7C7FE224CC7 +:10ED9000029A304903462148241AE408240444F026 +:10EDA000010005B0BDE83040F7F75BBE1A481B4BC9 +:10EDB0002949C01AC008000440F003008CE78068AD +:10EDC000FAF7ACFE144B2549024614481B1ADB081F +:10EDD0001B0490E7114B104862882149C01AC008F3 +:10EDE0000004A38840F00200DBE78068FAF796FE93 +:10EDF000094B1C49024609481B1ADB081B0443F057 +:10EE00000200BAE70448054B1749C01AC0080004BD +:10EE100040F00200B1E700BFE40803005C08030013 +:10EE20003923030004270300F82603007623030098 +:10EE3000C8230300DE2303000B0A0300C8260300D7 +:10EE400009240300D02603001524030058240300DE +:10EE5000A2240300C9240300F624030009250300AB +:10EE60002D250300692503009825030010B50446ED +:10EE7000FFF7DAFE217821B96088BDE81040FFF77E +:10EE800047BD08290FD10848084B09491B1ADB0860 +:10EE90001B0443F00100F7F7D7FDA06818B1BDE8E7 +:10EEA0001040F8F7E1BA10BD5C080300E408030065 +:10EEB000B625030010B50378042B04461AD10E487A +:10EEC0000E4B62880E491B1ADB081B0443F002003C +:10EED000F7F7BEFD60881321FFF718FD43F2020229 +:10EEE0009042034606D033F0080303D0BDE810403B +:10EEF000F8F7BABA10BD00BF5C080300E4080300CD +:10EF00005F21030070B5DDE9045468B161B15BB104 +:10EF100004FB05F6964207D835B12CB1C0E90013C1 +:10EF2000C0E90254002070BD0720FCE738B50D464B +:10EF3000044608B9002038BD0368002BFAD04068A9 +:10EF40000028F7D0FF29F5D0BFF35F8FF9F795FEC2 +:10EF50000028EFD0E068236800FB0530EBE738B508 +:10EF60000D46044690B1036883B1406870B1FF2933 +:10EF70000CD0BFF35F8FF9F780FE38B16068BFF344 +:10EF80005F8F2946BDE83840F9F76DBE38BD2DE9E1 +:10EF9000F0418846064618B9FF242046BDE8F081B6 +:10EFA0000368002BF8D04368002BF5D00027FF241E +:10EFB000B368FDB2AB42EFD970682946F9F745FE58 +:10EFC000BFF35F8F40B9FF2C08BF2C462D1B0135C6 +:10EFD0004545E2D00137EBE7FF2C07D1FF24F9E7E5 +:10EFE00021463046FFF7BBFF0134E4B2AC42F7D311 +:10EFF000F4E77EDF70477FDF704786DF704710B52C +:10F000000378182B044602D1FDF702FA207010BDD8 +:10F0100010B504464088FEF7E5F8A0802046BDE81C +:10F02000104000F079BD10B586B0044614220021CE +:10F0300001A801F07EFB052301A88DF80430ADF88E +:10F040000640FFF7E5FF06B010BD30B587B00546B6 +:10F050000C461422002101A801F06BFB082301A833 +:10F060008DF80430ADF806500394FFF7D1FF07B0D8 +:10F0700030BD0000F0B587B004460F4616460021AB +:10F08000142201A81D4601F054FB04238DF804301E +:10F09000094BADF8064019788DF80C700022204617 +:10F0A000ADF80E608DF81050FDF7D4F901A8FFF708 +:10F0B000AFFF07B0F0BD00BF592300207FB5032389 +:10F0C0008DF804300388ADF8063043798DF80D10C3 +:10F0D00013F0040F14BF0123022301A88DF80C3094 +:10F0E000FFF796FF07B05DF804FB000030B5144B46 +:10F0F00087B00C46012219780546FDF7ABF9114B94 +:10F10000221E1978284618BF0122FDF7A3F9631EB5 +:10F110005A425A410C4B28461978FDF79BF91422A4 +:10F12000002101A801F005FB022301A88DF804309D +:10F13000ADF806508DF80C40FFF76AFF07B030BD00 +:10F14000592300205B2300205A2300202DE9F0479B +:10F15000224B0F46197804469046FDF763F90028C4 +:10F1600039D01F4B20461978FDF75CF9014678B37A +:10F170001C4B20461978FDF755F9002804F58070DE +:10F180004FF0070180B214BF4FF001094FF00209A0 +:10F19000FEF778FF064698B1052811D0FAF7BEFCB5 +:10F1A000114D1249024612482D1AED082D0445F062 +:10F1B00001002346F7F755FC31462046FFF745FF8F +:10F1C00043463A4649462046BDE8F047FFF752BF5E +:10F1D00043463A46F7E7BDE8F08700BF59230020D1 +:10F1E0005B2300205A2300200C0903001027030092 +:10F1F0005C080300F8B5154F154E164D164C3846F1 +:10F20000FFF7FDFE3046FFF7FAFE2846FFF7F7FE50 +:10F210002046FFF7F4FE3B78182B08D03378182BE4 +:10F2200005D02B78182B02D02378182B0BD10B4B41 +:10F230000B480C49C01AC008000440F00100F7F761 +:10F2400003FC0320F8BD0020FCE700BF5923002089 +:10F250005B2300205A230020582300205C08030071 +:10F260000C090300D21603002DE9F0418AB00D46C7 +:10F2700090460446FDF772F820220646002102A8B7 +:10F2800001F057FA012E08D1424B0022197820468E +:10F29000FDF7E0F835B9852716E0002EFAD143F2E4 +:10F2A00002014AE02046FDF79DFF4FF6FF739842AA +:10F2B00012D100272B78DB0722D4374BCDF81480EE +:10F2C0000993012E18BF0025394602AB2A46204675 +:10F2D000FFF791FE014630E0012EEAD12D4F204686 +:10F2E0003978FDF79FF80028E3D12046FFF79BFE11 +:10F2F00039782046FDF796F80028DAD18527D9E736 +:10F30000852FDED004F5807007216B46012280B284 +:10F31000FEF746FE112801460FD090B1FAF7FEFB2A +:10F320001E4D1F4902461F482D1AED082D04234685 +:10F3300045F00100F7F795FB032108460AB0BDE848 +:10F34000F0810198502201F0F4F901990B46204612 +:10F3500003F8346B029301F1180306934B1C0793D7 +:10F3600011310D4BCDF814800993FDF74DFF0028A6 +:10F37000A7D0FAF7D3FB094D0B49024609482D1ACD +:10F38000ED082D04234645F00200F7F76AFB08213B +:10F39000D3E700BF58230020F03400200C090300FD +:10F3A000792703005C080300DB27030038B5054616 +:10F3B0000C46FCF7D3FF012808D154B1214628465A +:10F3C000FFF717FE042808BF112038BD43F20200E2 +:10F3D000FBE72046F9E700002DE9F0470388113BE1 +:10F3E0008AB00446092B65D8DFE813F00A006400F0 +:10F3F00019003A006400640064006400A600530130 +:10F40000037A80883D2B41F23D014FF0000218BF86 +:10F410004FF488510AB0BDE8F047FFF797BE8088E7 +:10F42000FCF79CFF012808D1217AA08801F0010196 +:10F43000C1F10201C9B2FFF759FE34F8045F14228A +:10F4400000210DEB020001F074F9043406238DF85D +:10F450001430ADF81650079405A8FFF7D9FD29E040 +:10F4600000F110073846FDF72EFF4FF6FF73984264 +:10F470000546A08821D1FDF7B5FE0546A0880021EC +:10F48000FFF734FE4FF6FF739D421AD1002600238A +:10F49000A0881A463146FFF7B0FD0828074629D153 +:10F4A00099489A4B9A49C01AC008000440F00200DB +:10F4B000F7F7CAFA0AB0BDE8F0872946FDF724FF3E +:10F4C000DCE705AA07212846FEF766FD0028DDD106 +:10F4D000A37ED907DAD5069E96F84430DA0701D51F +:10F4E0003436D4E7394606F14600FDF7D8FE002849 +:10F4F000F6D1CBE798B1FAF711FB834E009502469F +:10F500008248A3888349361AF608360446F001007B +:10F51000F7F7B1FAA0883946FFF797FDCAE7A37E4F +:10F52000DB07C7D5002EC5D1A088334641F20602BD +:10F530003146FFF79FFDBDE790F808808588B8F158 +:10F54000000F40F0A080744B061D197842462846F3 +:10F55000FCF780FF617A11F0040105D130460AB052 +:10F56000BDE8F047FFF7AABD05F580791FFA89F9D4 +:10F5700003AB012207214846FEF712FD0746B0B152 +:10F58000FAF7CCFA604C654902466048241AE40850 +:10F5900024042B4644F00100F7F763FA3946284665 +:10F5A000FFF753FD41463046FFF788FD82E72846C6 +:10F5B000FDF718FE4FF6FF7398420446824630D19D +:10F5C00001460498FDF7F2FD50450446804600F0E0 +:10F5D0008580DFF858A101462846FDF795FE9AF888 +:10F5E00000102846FCF71EFF8046D0B92846FFF7DA +:10F5F0001AFD9AF800102846FCF714FF014600286F +:10F60000D1D0484622460721FEF78EFD814650B9EB +:10F610000121C8E721462846FDF776FE4FF0010894 +:10F62000EFE7B846EDE786280ED1142200210DEB56 +:10F63000020001F07EF8072305A88DF81430ADF81C +:10F640001650FFF7E5FCE3E7FAF768FA2E4F344966 +:10F65000009402462D483F1AFF083F042B4647F00E +:10F660000100F7F708FA49462846FFF7EEFC0021AB +:10F670003046FFF723FDB8F1000F3FF41BAF2046E3 +:10F68000FDF74CFE16E7427A414602F00302284697 +:10F69000C0E6244B80881978FCF7C4FE0546002894 +:10F6A0007FF408AFA088FCF77DFE0146A08839B939 +:10F6B000012341F206020AB0BDE8F047FFF7DABCC9 +:10F6C000154B2A461978FCF7C5FE03238DF8143034 +:10F6D000A388ADF81630ADF81C50BDE6FEF79EFAD3 +:10F6E0004045044696D1094B07480F49C01AC00847 +:10F6F000000440F00100F7F7A7F904212846FFF7BE +:10F70000A4FC39464FE700BF0C0903005C08030066 +:10F710002928030099280300592300200929030000 +:10F72000962903005B23002064290300582300204E +:10F7300058B3027802F08203802B25D0C2F3021363 +:10F74000042B21D802F0F203322B1DD041788378AC +:10F75000994219D8062917D9102B15D8C17811F05C +:10F76000040311D1007943070ED4084301070BD4D9 +:10F77000D30700F0030003D4B0FA80F040097047CB +:10F78000003818BF012070470020704770B515463B +:10F790000E4614220021044600F0CBFF2846FDF758 +:10F7A00021FD2670A0806580204670BDFEF7D0BD8B +:10F7B00010B50378182B044602D1FCF729FE2070FF +:10F7C00010BD0000F0B531F0080387B006460D46C5 +:10F7D000174628D0112926D01D4C1E4BE41AE408E8 +:10F7E0000D294FEA044422D102461B4944F002008D +:10F7F000F7F72EF9042132460DEB0100FFF7C6FFA3 +:10F800009FB13B7803F00103C3F10203DBB28DF833 +:10F810000C3000238DF8103041F20113ADF80E309A +:10F8200001A8FFF7C3FF07B0F0BD0223EFE70846CA +:10F83000FAF774F909490246334644F00100F7F734 +:10F8400010F93246082101A8FFF7A0FF0395E7E76A +:10F85000040903005C080300FD290300B22A030029 +:10F860002DE9F0411B4B88B00027CDE904771B68D8 +:10F87000039303AD0446884695E807006E4686E884 +:10F880000700224606212846FFF780FF2846CDE9DB +:10F890000586FFF78BFF104B00991A682046FFF78B +:10F8A000E3FCA0F111035A425A410C4B054619786A +:10F8B0002046FCF7CFFD0A4B3A4619782046FCF764 +:10F8C000C9FD009A29462046FFF77CFF08B0BDE835 +:10F8D000F08100BF3C350020303500205F23002040 +:10F8E0005E2300200021FFF7BBBF00002DE9F0439D +:10F8F000054689B0914698460E4601BB3F4BCDE97F +:10F9000004111B68039303AC94E807006F4687E873 +:10F9100007002A4606212046FFF738FF2046CDE99A +:10F920000567FFF743FF364B009F1B7843B99DF8EF +:10F9300009302BB90526304609B0BDE8F083002711 +:10F940004A4639462846FFF731FDA0F111035A42D5 +:10F950005A412C4B044619782846FCF77BFD112CA4 +:10F9600020D8072C02D80CBB26463DE0A4F10803A2 +:10F97000092B1BD801A252F823F000BF69F902003D +:10F98000ADF90200ADF9020069F90200ADF902001B +:10F9900069F90200ADF90200ADF90200ADF902000B +:10F9A000CFF9020043F202039C42DDD02046FAF771 +:10F9B000B5F8154E154902461548361AF6083604AC +:10F9C00046F001002B46F7F74CF803260CE0114BEC +:10F9D000324619782846FCF73DFD0F4B4A46197808 +:10F9E0002846FCF737FD0026B8F1000FA3D03A46B1 +:10F9F00021462846FFF7E6FE9DE700BF3C35002084 +:10FA0000393500205E230020040903001D2B03006C +:10FA10005C0803005D2300205C23002013B50A4B23 +:10FA200019780446FCF7FEFC084B01901978204633 +:10FA3000FCF7F8FC019A01460123204602B0BDE81C +:10FA40001040FFF753BF00BF5C2300205D23002060 +:10FA5000F7B507460C46002945D0FCF791FC054652 +:10FA6000002842D03846FDF7BDFB06464FF6FF7032 +:10FA7000301AA5F1020318BF01205D425D412378D1 +:10FA800045EAC00523F009031D4325703846FCF7FD +:10FA900089FC237860F3410323703846FCF794FC1B +:10FAA000237860F3820323703846FCF79FFC0546F9 +:10FAB000B8B93846FCF776FC50B16A4607213046A3 +:10FAC000FEF76AFA58B9019B93F8440000F0010070 +:10FAD000237860F304132370002003B0F0BD2846A0 +:10FAE000F6E70120F4E70E20F7E743F20200F4E71F +:10FAF00013B5E0230C4601A98DF80430FFF7A8FFE9 +:10FB00009DF80420237828B993430CBF01200020DE +:10FB100002B010BD0020FBE713B50378062B0446A6 +:10FB200007D0132B0CD0204602B0BDE81040FFF7E1 +:10FB30003DBE8168408802B0BDE81040FFF790BE2E +:10FB4000134B1A68FAB14088FCF72CFC0146E0B16F +:10FB5000227A6088C2F34003C2F300019B00C2F323 +:10FB6000800243EAC10343EA021301A98DF804307D +:10FB7000FFF7BEFF80F00100C2B2002160880123C0 +:10FB8000FFF7B4FECFE70121F8E70246F6E700BF32 +:10FB90003C35002008B503780C2B0FD8082B0FD963 +:10FBA000084B094918780022FCF778FC074B0849F4 +:10FBB00018780022BDE80840FCF770BC142BEFD089 +:10FBC00008BD00BF5F230020E5F802005E2300208F +:10FBD0001DFA020010B50F480F4CFFF7E9FD0F4862 +:10FBE000FFF7E6FD0E48FFF7E3FD2046FFF7E0FDD7 +:10FBF0002378182B0BD10B4B0B480C49C01AC008AB +:10FC0000000440F00100F6F71FFF032010BD0020A4 +:10FC1000FCE700BF5E2300205F2300205C23002060 +:10FC20005D2300205C08030004090300D2160300D2 +:10FC300008B5FFF7D1FB074B074918780022FCF7FE +:10FC40002DFC064B064918780022BDE80840FCF759 +:10FC500025BC00BF5F230020E5F802005E230020E2 +:10FC60001DFA020010B5044630B90A4B18600A4B61 +:10FC700001221A70002010BDFFF75AFD38B1074B62 +:10FC800022681A6022791A71024A1360EFE707208E +:10FC9000F1E700BF3C350020393500203435002025 +:10FCA00000230A461946FFF721BEA8DF7047ADDFE3 +:10FCB0007047AEDF7047B0DF704762DF70473CDFF0 +:10FCC00070473DDF704770472DE9F041044688B02A +:10FCD00038B10388512B27D006D8102B18D0112B00 +:10FCE0001AD008B0BDE8F081532BFAD1304DC2884C +:10FCF000EB889A42F5D12B7E002BF2D000F0ACF9C4 +:10FD00000028EED06B69022008B0BDE8F04118472A +:10FD10008288274B9A80E4E7254B81889A88914214 +:10FD2000DFD14FF6FF72F5E7214DB0F80480AB88C4 +:10FD30009845D6D18679022ED3D10289EB889A4292 +:10FD4000CFD1837B043B022BCBD9102200210DEBBA +:10FD5000020000F0EEFC01AF69898DF8106002AA84 +:10FD6000404602960397FFF7A2FF0646D0B93846F1 +:10FD7000FCF7C9FBB0B19DF81630ADF8146043F044 +:10FD800001038DF81630A88804A9FFF794FF112805 +:10FD9000F9D0BDF81430002BA3D104F1080000F015 +:10FDA000F7F89EE740F2FD13ADF81430EBE700BF23 +:10FDB000403500207FB50023CDF80B308DF80F3093 +:10FDC0000323ADF8023020238DF804300D4B8DF85D +:10FDD0000500DA88ADF8082002228DF80A206A446E +:10FDE0008DF806100492988801AA02A90592FFF7DF +:10FDF00060FF20B9BDF80230032B18BF0C2007B0FC +:10FE00005DF804FB4035002010B54FF0FF310020B5 +:10FE1000FFF757FF044658B9B121FFF750FF0446DA +:10FE200030B9044B01205B6998470220F9F7B2FD15 +:10FE3000204610BD40350020F0B51B4B87B002AC0A +:10FE4000024603F11007254618685968264603C67E +:10FE50000833BB423446F7D122B3144B12685A61BF +:10FE60004FF6FF719980002119760AB9104A5A613C +:10FE70000E4800F053F898B901204FF659630D4A27 +:10FE80008DF8060001A9ADF80430FFF70EFF38B970 +:10FE900006492846FFF711FF10B9044800F058F84A +:10FEA00007B0F0BD0E20FBE7822B03004035002099 +:10FEB000C7FC0200423500204FF0030C00DF704702 +:10FEC00014490B6810B51BB34B680BB30831984746 +:10FED00008281DD0104C236858B9587601210220FB +:10FEE000FFF768FFA0B123685B690320BDE81040FD +:10FEF000184700225A7606210220FFF75BFF18B14F +:10FF0000236803205B699847236802205B69EDE75B +:10FF100010BD00BF7C3500207835002018B1034BA0 +:10FF20001860002070470E20704700BF7835002011 +:10FF300008B5FBF73DFB38B90448FFF7BDFF18B91A +:10FF4000BDE80840FBF768BB08BD00BF7C3500205A +:10FF500010B588B0044620220021684600F0E9FB75 +:10FF600022460323ADF8003012F8063B8DF802302C +:10FF700042F60103ADF80C301723ADF80430608869 +:10FF80004FF0013369460493FCF7C1FA08B010BD85 +:10FF900070B50546007B2A4C01280ED0022824D0DB +:10FFA0000221287BFFF706FF18B1236803205B6955 +:10FFB0009847236802205B6909E023685E7E4EB1A2 +:10FFC0000621FFF7F7FE48B323685B690320BDE80D +:10FFD0007040184718760146FFF7ECFEF0B1236831 +:10FFE00011281E7628D00421DBE76A7B531E132BD1 +:10FFF00024D8144E05F10E01301D00F071FB6B7B0F +:020000023000CC +:10000000B36123685B7E002BEDD10F49304651F878 +:10001000083B984718B9236801225A7670BD0F280B +:10002000E1D10A4B0A480B49C01AC008000440F04D +:100030000100F6F709FDD6E70621B2E70521B0E792 +:10004000783500205C3500207C3500205C080300FA +:1000500084080300922B030008B5044B1B680020A2 +:100060005B699847BDE80840FFF7CEBE78350020B1 +:1000700010DF704711DF704713B504460949684621 +:10008000F9F7F1FC019808B902B010BDD0E90021E0 +:100090002046904718B16846F9F7EFFCF2E71120C7 +:1000A000F2E700BF6C2C030013B50446074968460D +:1000B000F9F7D9FC019B0BB902B010BD2046D3E97A +:1000C000002190476846F9F7D8FCF3E7842C030039 +:1000D000084B9A6822B11A6822F480021A607047AD +:1000E000054B4FF48002C3F88020BFF34F8FBFF35E +:1000F0006F8F7047EC29002000E100E00B4991F878 +:1001000016335A09EC231341DB0706D5084B9A68CE +:100110003AB94FF480030B60704742F20200F7F7E0 +:10012000A3B91A6842F480021A60704700E100E047 +:10013000EC290020F7B5194F3C7864BB184E012517 +:1001400020463570FFF798FF112821D02046FFF791 +:10015000ABFF144B8DF80340186801900DF10300BC +:10016000F7F7DEFB104901A8FFF782FF0446B0FA5B +:1001700080F0400938709DF80300F7F7F5FB3CB9B3 +:100180000A4B34701C70FFF7B9FF2846FFF78CFF4D +:10019000204603B0F0BD0824FAE700BF89350020EF +:1001A00088350020682C0300857402008A35002001 +:1001B000F7B5154F3B781BB3144E01203070FFF795 +:1001C0005BFF11284FF000051CD00220FFF76CFFE9 +:1001D0000DF107008DF80750F7F7A2FBFFF74AFF74 +:1001E00004469DF807003D70F7F7BEFB2CB90320CD +:1001F0003470FFF76DFFFFF757FF204603B0F0BDE7 +:100200000824FAE72C46F8E78935002088350020D5 +:10021000054B1B7833B1054B1B780BB1FFF7C8BFFB +:10022000FFF788BF082070478835002089350020F7 +:10023000014B1878704700BF8935002007B5084981 +:100240006846F9F710FC019B13B903B05DF804FB95 +:10025000D3E9002090476846F9F70FFCF3E700BFA9 +:10026000782C0300FFF7EABF60DF704769DF704753 +:1002700061DF704730B5134B1B7891B0FBB1124D65 +:1002800034240DF1020103A8ADF80240FFF7F0FF9E +:1002900070B9294601A8F9F7E6FB029B002BF0D0C4 +:1002A00003A8D3E90021904701A8F9F7E6FBF4E79A +:1002B000052804D011B0BDE83040F7F7D5B811B02B +:1002C00030BD00BF8B350020C82E030030B50C4672 +:1002D00085B0002900F08B800023CDE90133454A29 +:1002E000039301230A608DF804008DF8063001A9FC +:1002F00006232020ADF80830FFF7B8FF60B1F9F70A +:100300000DFC3D4B3D4902463D481B1ADB081B04D2 +:1003100043F00100F6F79CFB0023CDE90133039382 +:100320002268012301A940208DF80530FFF79EFFC8 +:1003300060B1F9F7F3FB304B3249024630481B1AE3 +:10034000DB081B0443F00100F6F782FB00230120C9 +:100350002268039301A9CDE901338DF80400FFF76A +:1003600085FF60B1F9F7DAFB234B274902462448A1 +:100370001B1ADB081B0443F00100F6F769FB00239E +:10038000CDE9023322684FF4B06301A9A1200193A3 +:10039000FFF76CFF60B1F9F7C1FB174B1B49024631 +:1003A00017481B1ADB081B0443F00100F6F750FB4B +:1003B000012300252268039501A9A020CDE901555C +:1003C0008DF80430FFF752FF034668B1F9F7A6FB3A +:1003D000094B0F4902460A481B1ADB081B0443F06D +:1003E0000100F6F735FB2B46184605B030BD0E234D +:1003F000FAE700BF60220020BC080300902C030035 +:100400005C080300D62C0300222D03006E2D030090 +:10041000BF2D030073B505460668FFF725FF2B685F +:10042000B34204461DD91A481A4B1B491B1ADB0854 +:100430001B0443F002000190F6F706FB2B681749F6 +:1004400001983246F6F70DFB4FF080532A68D3F837 +:100450000C31134901989B0203F100539A1AF6F7E5 +:10046000F7FA2CB90F4B01221A70204602B070BD6A +:100470002046F9F753FB074B0B49024604481B1A69 +:10048000DB081B0443F00100F6F7E2FAEDE700BFDA +:100490005C080300BC080300122E0300412E030079 +:1004A000722E03008B3500209C2E03004BDF70471B +:1004B0001FB50E4C01A8FFF7F9FF70B9214602A83D +:1004C000F9F7D1FA039B002BF4D00198D3E900216E +:1004D000904702A8F9F7D1FAF4E7052804D004B050 +:1004E000BDE81040F6F7C0BF04B010BDE02E030019 +:1004F00053EA020C61D02DE9F04BB3FA83F51E00EC +:1005000007BFB2FA82F502FA05F403FA05F41646BB +:10051000C5F120051EBF22FA05F73C43203556EAF7 +:10052000044C4FEA144418BF0134A3464FF00009AD +:10053000C846904271EB030C39D3094207BFB0FAA9 +:1005400080F700FA07F6B1FA81F701FA07F6C7F16A +:1005500020071EBF20FA07FC46EA0C062037B6FB30 +:10056000FBFC7F1B103F07F01F04C4F120060CFAB0 +:1005700004F42CFA06F644BF34460026202FA4BF0C +:100580002646002454EA060C08BF012418EB040890 +:1005900049EB0609A4FB027CC01B06FB02CC04FB52 +:1005A00003CC71EB0C01904271EB030CC5D20B46EE +:1005B000024649464046BDE8F08BB2FBF3F200002C +:1005C0007F2805D8034A044B105C5B5C18407047D9 +:1005D00000207047F82E0300782F0300A0F161037C +:1005E000192B98BF20387047A0F14103192B98BFF1 +:1005F000203070477F299ABF017001206FF02E00D4 +:10060000704700BF5AB10A787F2A0AD800B1026049 +:100610000021501AC3E9001118BF0120704710468D +:1006200070476FF02E007047A0F16103192B98BF3F +:1006300020387047A0F14103192B98BF2030704734 +:100640007F2805D8034A044B105C5B5C1840704758 +:1006500000207047F82E0300782F0300024B5B68E0 +:100660009B6809211B681847602300206AB30F2A82 +:1006700070B511D8013A2FD0034600EB020C01E00F +:100680009C4524D08E461C4611F8012B13F8010B13 +:100690009042F5D0801A70BD40EA010C1CF0030FA7 +:1006A00004460B4606D0013AE6E7043A042A2046FF +:1006B0001946DFD9194620460E680568B54203F190 +:1006C000040304F10404F0D0D4E7104670476078C6 +:1006D0009EF80120801A70BD00780A78DAE700BF22 +:1006E000844640EA010313F0030F18D18446202A00 +:1006F0000BD32DE9F007B1E8F807A0E8F807A2F15D +:100700002002202AF7D2BDE8F007042A07D351F8C7 +:10071000043B40F8043BA2F10402042AF7D2002A69 +:1007200005D011F8013B00F8013B013AF9D16046D0 +:1007300070478446002A2DD010F0030F04D000F833 +:10074000011B013A26D0F7E7C9B241EA012141EA8B +:100750000141202A12D3A2F120022DE9F0030B4619 +:100760000C460D460E460F4688468946A0E8FA0319 +:10077000203AFBD2BDE8F00320320BD0042A05D387 +:1007800040F8041B043A05D0042AF9D200F8011BF2 +:10079000013AFBD16046704700F1010110F0030FF0 +:1007A00011D010F8012B002A23D010F0030F0AD02B +:1007B00010F8012B002A1CD010F0030F03D010F802 +:1007C000012B002A15D02DE970004FF001324FF0B7 +:1007D000803350F8044BA4EB020525EA04051D40C4 +:1007E00000D1F6E7A0F1040070BC10F8012B002A3C +:0807F000FBD1A0EB01007047F2 +:1007F80039C2020000000000F9AF0200000000004A +:1008080099BE0200F42C00206DD50200283100208A +:1008180079C0020000000000C5E2020000000000EC +:100828007FD702003C310020C9FC0200403500207F +:08083800EDB002000000000019 +:10084000A196020000000000719B02000000000061 +:08085000C1FE020000000000DF +:040858005DB202008B +:10085C009A12030000000000A01203000000000028 +:10086C00A712030000000000AB1203000000000000 +:10087C00B012030000000000DA09030000000303BB +:10088C00CC0A030000000000F50A03000000000081 +:10089C009412030000000000B71B030000000303C8 +:1008AC00050D030000000303602C0300000003038C +:1008BC00B92E030000000303D42E03000000030331 +:1008CC00DD200300000003034C18030000000303A9 +:1008DC003C1A030000000303B026030000000303CE +:1008EC00681A030000000303001F03000000030349 +:1008FC00E61C030000000303722B0300000003033B +:10090C00EC29030000000303780D03000000000035 +:08091C00940D0300000000002F +:08092400E59402000000000050 +:10092C00AD960200000000000D9C020000000000CB +:08093C0099B202000000000066 +:100944007502030000000000B10403000000000071 +:10095400AC09030000000000B8090300882200204D +:10096400B82300208024002088240020C0230020F5 +:040974001800000067 +:100978000000000000000000C18402000000000028 +:04098800000000006B +:10098C00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10099C0000000000000000000000D601060100006D +:1009AC00F164020055650200A16402007561727465 +:1009BC005F6C6F675F6261636B656E64004261635D +:1009CC006B656E647320666C75736865640061702A +:1009DC0070000000A82800207F00000028290020BB +:1009EC001B5B313B33316D0025734C6F6773206497 +:1009FC00726F70706564202825642925730D0A00B8 +:100A0C001B5B306D003C25733E2025733A20002083 +:100A1C002530327800202020007C002563001B5BF1 +:100A2C00313B33306D001B5B313B33326D001B5B54 +:100A3C00313B33336D001B5B313B33346D001B5B3F +:100A4C00313B33356D001B5B313B33366D001B5B2B +:100A5C00313B33376D007761726E696E6700696E7A +:100A6C00666F006465627567000000000C0A030085 +:100A7C002A0A0300EC090300320A03003A0A0300B5 +:100A8C00420A03004A0A0300520A03005A0A0300EE +:100A9C0000000000E20A0300620A03006A0A030075 +:100AAC006F0A03000D0E0F10111213140000010138 +:100ABC000100000001010000000001010000000025 +:100ACC006170705F627574746F6E00009822002004 +:100ADC00466174616C206572726F72005379737425 +:100AEC00656D207265736574006170705F74696DFB +:100AFC00657200000100060000000000642900205F +:100B0C00F174020052544320696E7374616E636514 +:100B1C0020616C726561647920696E697469616CBD +:100B2C00697A65642E005254433A20696E6974697F +:100B3C00616C697A65642E00000000000000000002 +:100B4C00000000000338FDD8704700000000FFFFD4 +:100B5C00DEC0ADDEFE011EF1DEC0ADDEFF011EF11A +:100B6C0030313233343536373839414243444546D7 +:100B7C00705F667300257320636865636B20666124 +:100B8C00696C656420696E20257328292077697447 +:100B9C00682076616C756520307825782E00705F42 +:100BAC0066732D3E705F61706900705F646573746D +:100BBC00006C656E00616464725F69735F616C697F +:100BCC00676E6564333228737263290061646472E2 +:100BDC005F69735F77697468696E5F626F756E6465 +:100BEC007328705F66732C207372632C206C656E97 +:100BFC002900705F7372630021286C656E202520BC +:100C0C00705F66732D3E705F666C6173685F696EB2 +:100C1C00666F2D3E70726F6772616D5F756E697471 +:100C2C002900616464725F69735F616C69676E65EA +:100C3C0064333228646573742900616464725F697B +:100C4C00735F616C69676E65643332282875696EF1 +:100C5C007433325F7429705F73726329006164644A +:100C6C00725F69735F77697468696E5F626F756EC6 +:100C7C00647328705F66732C20646573742C206C0D +:100C8C00656E2900616464725F69735F706167658A +:100C9C005F616C69676E656428705F66732C207089 +:100CAC006167655F616464722900616464725F6985 +:100CBC00735F77697468696E5F626F756E647328B1 +:100CCC00705F66732C20706167655F616464722C61 +:100CDC0020286C656E202A20705F66732D3E705F35 +:100CEC00666C6173685F696E666F2D3E65726173C9 +:100CFC00655F756E69742929006E72665F66737420 +:100D0C006F72616765006E72665F6673746F726195 +:100D1C0067655F6572617365006E72665F6673749A +:100D2C006F726167655F7772697465006E72665F7A +:100D3C006673746F726167655F696E697400000039 +:100D4C0000100000040000000100000029950200C2 +:100D5C0009950200F99402003D970200ED960200FD +:100D6C00CD940200D1940200D59402007077725F8A +:100D7C006D676D7400000000C0220020580803004D +:100D8C005C08030004000000736F72746C69737468 +:100D9C00004E52465F53554343455353004E524603 +:100DAC005F4552524F525F5356435F48414E444C3D +:100DBC0045525F4D495353494E47004E52465F458D +:100DCC0052524F525F534F46544445564943455F28 +:100DDC004E4F545F454E41424C4544004E52465F87 +:100DEC004552524F525F494E5445524E414C004E63 +:100DFC0052465F4552524F525F4E4F5F4D454D002C +:100E0C004E52465F4552524F525F4E4F545F464FC3 +:100E1C00554E44004E52465F4552524F525F4E4F14 +:100E2C00545F535550504F52544544004E52465FF8 +:100E3C004552524F525F494E56414C49445F5041C6 +:100E4C0052414D004E52465F4552524F525F494EF1 +:100E5C0056414C49445F5354415445004E52465FF1 +:100E6C004552524F525F494E56414C49445F4C4596 +:100E7C004E475448004E52465F4552524F525F49BE +:100E8C004E56414C49445F464C414753004E5246E6 +:100E9C005F4552524F525F494E56414C49445F4454 +:100EAC00415441004E52465F4552524F525F4441AD +:100EBC0054415F53495A45004E52465F4552524F7A +:100ECC00525F54494D454F5554004E52465F455262 +:100EDC00524F525F4E554C4C004E52465F4552524B +:100EEC004F525F464F5242494444454E004E524683 +:100EFC005F4552524F525F494E56414C49445F41F7 +:100F0C00444452004E52465F4552524F525F425536 +:100F1C005359004E52465F4552524F525F434F4E0B +:100F2C004E5F434F554E54004E52465F4552524F02 +:100F3C00525F5245534F5552434553004E52465FF4 +:100F4C004552524F525F4D4F44554C455F4E4F5496 +:100F5C005F494E495449414C495A4544004E52460A +:100F6C005F4552524F525F4D555445585F494E495B +:100F7C00545F4641494C4544004E52465F455252DF +:100F8C004F525F4D555445585F4C4F434B5F464154 +:100F9C00494C4544004E52465F4552524F525F4DAC +:100FAC00555445585F554E4C4F434B5F4641494C49 +:100FBC004544004E52465F4552524F525F4D555478 +:100FCC0045585F434F4E445F494E49545F46414933 +:100FDC004C4544004E52465F4552524F525F4D4F66 +:100FEC0044554C455F414C52454144595F494E492B +:100FFC005449414C495A4544004E52465F45525261 +:10100C004F525F53544F524147455F46554C4C002D +:10101C004E52465F4552524F525F4150495F4E4FC0 +:10102C00545F494D504C454D454E544544004E522D +:10103C00465F4552524F525F464541545552455FAB +:10104C004E4F545F454E41424C4544004E52465F14 +:10105C004552524F525F494F5F50454E44494E479F +:10106C00004E52465F4552524F525F4452565F54A7 +:10107C0057495F4552525F4F56455252554E004E9E +:10108C0052465F4552524F525F4452565F54574935 +:10109C005F4552525F414E41434B004E52465F45B5 +:1010AC0052524F525F4452565F5457495F45525209 +:1010BC005F444E41434B004E52465F4552524F5295 +:1010CC005F424C455F495053505F52585F504B54F0 +:1010DC005F5452554E4341544544004E52465F4571 +:1010EC0052524F525F424C455F495053505F4348F8 +:1010FC00414E4E454C5F414C52454144595F455819 +:10110C0049535453004E52465F4552524F525F4220 +:10111C004C455F495053505F4C494E4B5F444953CB +:10112C00434F4E4E4543544544004E52465F455244 +:10113C00524F525F424C455F495053505F504545AA +:10114C00525F52454A454354454400556E6B6E6F91 +:10115C00776E206572726F7220636F646500000099 +:10116C00000000009D0D030001000000A90D03000C +:10117C0002000000C70D030003000000E80D03008F +:10118C0004000000FB0D0300050000000C0E030022 +:10119C0006000000200E030007000000380E0300BC +:1011AC0008000000500E030009000000680E030048 +:1011BC000A000000810E03000B000000990E0300D2 +:1011CC000C000000B00E03000D000000C40E030064 +:1011DC000E000000D60E03000F000000E50E030009 +:1011EC0010000000F90E030011000000100F0300A6 +:1011FC00120000001F0F030013000000340F030047 +:10120C0080000000480F030081000000690F0300FC +:10121C0082000000850F030083000000A10F030073 +:10122C0084000000BF0F030085000000E00F0300E6 +:10123C008600000005100300900000001C10030045 +:10124C00910000003A1003009200000058100300B7 +:10125C00008200006D100300018200008B1003005F +:10126C0002820000A710030000840000C3100300DA +:10127C0001840000E7100300028400001111030038 +:10128C000384000036110300636C6F636B00434CE6 +:10129C004F434B004750494F544500505253005553 +:1012AC004152540055415254450000000D000300BA +:1012BC008DAB02000E0003008DAB02000F0003008B +:1012CC008DAB0200100003008DAB0200E022002069 +:1012DC000023002020230020446576696365206983 +:1012EC007320707265706172696E6720746F20650F +:1012FC006E74657220626F6F746C6F6164657220BE +:10130C006D6F64652E00446973636F6E6E656374F4 +:10131C006564202564206C696E6B732E00446576C1 +:10132C006963652077696C6C20656E7465722062E8 +:10133C006F6F746C6F61646572206D6F64652E00E5 +:10134C005265717565737420746F20656E74657267 +:10135C0020626F6F746C6F61646572206D6F646571 +:10136C00206661696C6564206173796E6368726F65 +:10137C006E656F75736C792E00526571756573743B +:10138C0020746F2073656E64206120726573706FBA +:10139C006E736520746F20636C69656E7420666172 +:1013AC00696C65642E00556E6B6E6F776E2065767A +:1013BC00656E742066726F6D20626C655F64667515 +:1013CC005F627574746F6E6C6573732E0046616921 +:1013DC006C656420746F20646973636F6E6E6563F3 +:1013EC007420636F6E6E656374696F6E2E20436F2D +:1013FC006E6E656374696F6E2068616E646C653ABD +:10140C00202564204572726F723A20256400506F5B +:10141C00776572206D616E6167656D656E7420779E +:10142C00616E747320746F20726573657420746FB1 +:10143C0020444655206D6F64652E00506F776572A1 +:10144C00206D616E6167656D656E7420616C6C6F8B +:10145C0077656420746F20726573657420746F20D7 +:10146C00444655206D6F64652E004E425F444655D0 +:10147C00313100427574746F6E6C65737320444621 +:10148C0055204170706C69636174696F6E20737460 +:10149C0061727465642E00457261736520626F6EB3 +:1014AC006473210053657474696E67207665637488 +:1014BC006F72207461626C6520746F20626F6F7440 +:1014CC006C6F616465723A2030782530387800464C +:1014DC0061696C65642072756E6E696E67207364E9 +:1014EC005F736F66746465766963655F7665637454 +:1014FC006F725F7461626C655F626173655F736567 +:10150C0074004E6F20626F6F746C6F616465722033 +:10151C0077617320666F756E640053657474696EC1 +:10152C006720766563746F72207461626C652074D9 +:10153C006F206D61696E206170703A2030782530B3 +:10154C00387800546865206C6F63616C206461743A +:10155C00616261736520686173206368616E6765A1 +:10156C00642C20736F20736F6D65207375627363C9 +:10157C0072697074696F6E7320746F206E6F74690A +:10158C006669636174696F6E7320616E6420696E45 +:10159C006469636174696F6E7320636F756C64202A +:1015AC006E6F7420626520726573746F726564204F +:1015BC00666F7220636F6E6E5F68616E646C65201F +:1015CC002564006773636D5F6C6F63616C5F64624D +:1015DC005F63616368655F6170706C792829207244 +:1015EC00657475726E65642025732077686963680D +:1015FC002073686F756C64206E6F742068617070F6 +:10160C00656E2E20636F6E6E5F68616E646C653AFA +:10161C00202564006773636D5F736572766963651B +:10162C005F6368616E6765645F696E645F73656E46 +:10163C006428292072657475726E65642025732088 +:10164C00666F7220636F6E6E5F68616E646C653A74 +:10165C0020256400466C6173682066756C6C2E20C6 +:10166C00436F756C64206E6F742073746F72652099 +:10167C006461746120666F7220636F6E6E5F686167 +:10168C006E646C653A202564006773636D5F6C6FE4 +:10169C0063616C5F64625F63616368655F757064EE +:1016AC0061746528292072657475726E65642025D5 +:1016BC007320666F7220636F6E6E5F68616E646C10 +:1016CC00653A20256400436F756C64206E6F74203E +:1016DC006163717569726520636F6E6E5F7374619F +:1016EC007465207573657220666C6167732E204972 +:1016FC006E63726561736520424C455F434F4E4E7D +:10170C005F53544154455F555345525F464C4147D6 +:10171C005F434F554E5420696E2074686520626C8F +:10172C00655F636F6E6E5F7374617465206D6F645B +:10173C00756C652E0043415220636861722076619E +:10174C006C756520636F756C646E27742062652000 +:10175C0073746F72656420286572726F723A2025FB +:10176C0073292E205265617474656D7074207769CD +:10177C006C6C2068617070656E206F6E207468658B +:10178C00206E65787420636F6E6E656374696F6E1E +:10179C002E00556E657870656374656420474154FE +:1017AC005420737461747573207768696C65206755 +:1017BC00657474696E6720434152206368617220BE +:1017CC0076616C75653A2030782578004D756C74AF +:1017DC0069706C6520282564292043415220636878 +:1017EC006172616374657269737469637320666F87 +:1017FC00756E642C207573696E672074686520663D +:10180C00697273742E00556E6578706563746564C7 +:10181C00204341522063686172616374657269731D +:10182C007469632076616C7565206C656E6774688D +:10183C0020282564292C2073746F726520302E00AB +:10184C00706565725F6D616E616765725F67636D10 +:10185C0000000100FFFF000000000000010000007C +:10186C007064735F706565725F646174615F7374DB +:10187C006F726528292072657475726E65642025F7 +:10188C0073207768696C652073746F72696E67205A +:10189C0073657276696365206368616E67656473EE +:1018AC007461746520666F7220706565722069645E +:1018BC002025642E007064625F706565725F6461E0 +:1018CC0074615F7074725F67657428292072657427 +:1018DC0075726E656420257320666F7220636F6E5F +:1018EC006E5F68616E646C653A20256400446964BF +:1018FC0020616E6F74686572207468726561642013 +:10190C006D616E6970756C61746520504D5F5045EA +:10191C0045525F444154415F49445F474154545FD1 +:10192C004C4F43414C20666F7220706565725F6945 +:10193C0064202564206174207468652073616D6572 +:10194C002074696D653F207064625F77726974659D +:10195C005F6275665F72656C6561736528292072BC +:10196C00657475726E65642025732E0073645F62F6 +:10197C006C655F67617474735F7379735F617474A2 +:10198C00725F73657428292072657475726E656454 +:10199C00204E52465F4552524F525F494E56414C73 +:1019AC0049445F4441544120666F72204E554C4C63 +:1019BC0020706F696E746572207768696368207334 +:1019CC00686F756C64206E657665722068617070E6 +:1019DC00656E2E20636F6E6E5F68616E646C653A27 +:1019EC002025640073645F626C655F676174747357 +:1019FC005F696E697469616C5F757365725F68614C +:101A0C006E646C655F6765742829207265747572E5 +:101A1C006E65642025732077686963682073686F2E +:101A2C00756C64206E6F742068617070656E2E002A +:101A3C00706565725F6D616E616765725F67736318 +:101A4C006D00000001000100601A0300010001009C +:101A5C00641A03000100000000000000706565724C +:101A6C005F6D616E616765725F696D0073645F6263 +:101A7C006C655F6761705F646174615F6C656E67F4 +:101A8C0074685F75706461746528292028726571AB +:101A9C007565737429206F6E20636F6E6E65637449 +:101AAC00696F6E20307825782072657475726E655A +:101ABC00642025732E0054686520726571756573FA +:101ACC007465642054582F5258207061636B657490 +:101ADC00206C656E67746820697320746F6F206C5E +:101AEC006F6E672062792025752F2575206F6374C2 +:101AFC006574732E00546865207265717565737416 +:101B0C00656420636F6D62696E6174696F6E206FBE +:101B1C006620545820616E64205258207061636BAB +:101B2C006574206C656E6774687320697320746FBC +:101B3C006F206C6F6E67206279202575206D69634C +:101B4C00726F7365636F6E64732E0073645F626C87 +:101B5C00655F67617474635F65786368616E676500 +:101B6C005F6D74755F726571756573742829207269 +:101B7C00657475726E65642025732E0073645F62E4 +:101B8C006C655F67617474735F65786368616E67B9 +:101B9C00655F6D74755F7265706C7928292072654C +:101BAC007475726E65642025732E006E72665F62AA +:101BBC006C655F6761747400436F756C64206E6F45 +:101BCC00742064656C657465207065657220646151 +:101BDC0074612E206664735F66696C655F64656C06 +:101BEC0065746528292072657475726E6564203081 +:101BFC0078257820666F7220706565725F69643A2B +:101C0C0020256400436F756C64206E6F7420696EC0 +:101C1C00697469616C697A6520666C61736820739C +:101C2C00746F726167652E206664735F7265676995 +:101C3C007374657228292072657475726E656420E0 +:101C4C00307825782E00436F756C64206E6F74208D +:101C5C00696E697469616C697A6520666C61736818 +:101C6C002073746F726167652E206664735F696E92 +:101C7C00697428292072657475726E6564203078D9 +:101C8C0025782E00436F756C64206E6F742077720C +:101C9C00697465206461746120746F20666C617373 +:101CAC00682E206664735F7265636F72645F7B7706 +:101CBC00726974657C7570646174657D2829207205 +:101CCC00657475726E656420307825782E20706589 +:101CDC0065725F69643A20256400706565725F6D9A +:101CEC00616E616765725F70647300706D5F6275C1 +:101CFC00666665725F7074725F676574282920630D +:101D0C006F756C64206E6F74207265747269657681 +:101D1C00652052414D206275666665722E20626C9C +:101D2C006F636B5F69643A202564007064735F7045 +:101D3C006565725F646174615F73746F7265282985 +:101D4C002072657475726E65642025732E20706523 +:101D5C0065725F69643A20256400536F6D6520706D +:101D6C00656572206461746120776173206E6F7495 +:101D7C002070726F7065726C7920777269747465FB +:101D8C006E20746F20666C6173682E207772697494 +:101D9C00655F6275665F73746F7265282920726562 +:101DAC007475726E656420257320666F7220706581 +:101DBC0065725F69643A20256400504D5F42554658 +:101DCC004645525F494E49542829207265747572F4 +:101DDC006E65642025732E0043616E6E6F742073E4 +:101DEC00746F7265206461746120746F20666C611D +:101DFC007368206265636175736520706D5F6275D1 +:101E0C00666665725F7074725F67657428292063FB +:101E1C006F756C64206E6F74207265747269657670 +:101E2C00652052414D206275666665722E2049739D +:101E3C0020626C6F636B5F6964202564206E6F7425 +:101E4C0020616C6C6F63617465643F007064625FE9 +:101E5C0077726974655F6275665F72656C656173D4 +:101E6C006528292072657475726E6564202573204F +:101E7C0077686963682073686F756C64206E6F7423 +:101E8C002068617070656E2E20706565725F696484 +:101E9C003A2025642C20646174615F69643A2025C2 +:101EAC006400506565722049442025642077617375 +:101EBC00206E6F742070726F7065726C7920726511 +:101ECC006C65617365642E207064735F70656572F8 +:101EDC005F69645F66726565282920726574757226 +:101EEC006E65642025732E20706565725F69643A97 +:101EFC0020256400706565725F6D616E6167657247 +:101F0C005F706462002573206661696C6564206291 +:101F1C00656361757365207064735F696E6974289D +:101F2C00292072657475726E65642025732E0025E8 +:101F3C0073206661696C65642062656361757365A5 +:101F4C00207064625F696E697428292072657475EB +:101F5C00726E65642025732E002573206661696C92 +:101F6C006564206265636175736520736D5F696E6E +:101F7C00697428292072657475726E6564202573E6 +:101F8C002E002573206661696C656420626563614F +:101F9C0075736520736D645F696E6974282920728E +:101FAC00657475726E65642025732E00257320662A +:101FBC0061696C6564206265636175736520676334 +:101FCC006D5F696E697428292072657475726E650F +:101FDC00642025732E002573206661696C6564206E +:101FEC0062656361757365206773636D5F696E69A4 +:101FFC007428292072657475726E65642025732EA1 +:10200C000025732829206661696C6564206265630C +:10201C006175736520612063616C6C20746F207036 +:10202C006D5F706565725F64656C657465282920E9 +:10203C0072657475726E65642025732E20706565EB +:10204C00725F69643A20256400436F756C64206E7E +:10205C006F742072657472656976652072616E6B3F +:10206C00732E207064625F706565725F6461746169 +:10207C005F6C6F616428292072657475726E65647B +:10208C002025732E20706565725F69643A20256483 +:10209C0000436F756C64206E6F742075706461748E +:1020AC00652072616E6B2E207064625F7261775F67 +:1020BC0073746F726528292072657475726E65640D +:1020CC002025732E20706565725F69643A20256443 +:1020DC0000706565725F6D616E616765720000000E +:1020EC0001000600C8340020706D5F706565727366 +:1020FC005F64656C65746500706D5F696E69740012 +:10210C00706D5F636F6E6E5F7365637572652829A2 +:10211C00206661696C656420626563617573652016 +:10212C00616E20534D502074696D656F7574206914 +:10213C00732070726576656E74696E672073656363 +:10214C007572697479206F6E20746865206C696E85 +:10215C006B2E20446973636F6E6E656374696E6772 +:10216C0020636F6E6E5F68616E646C652025642EF3 +:10217C000073645F626C655F6761705F6469736351 +:10218C006F6E6E65637428292072657475726E6546 +:10219C0064202573206F6E20636F6E6E5F68616EB6 +:1021AC00646C652025642E00706D5F636F6E6E5FCE +:1021BC007365637572652829206661696C65642096 +:1021CC0062656361757365207468652073746F72E2 +:1021DC006564206461746120666F7220636F6E6E3B +:1021EC005F68616E646C6520256420646F65732084 +:1021FC006E6F74206861766520612076616C69640D +:10220C00206B65792E00706D5F636F6E6E5F73650A +:10221C00637572652829206661696C656420626546 +:10222C00636175736520636F6E6E5F68616E646C5D +:10223C0065202564206973206E6F7420612076619F +:10224C006C696420636F6E6E656374696F6E2E00CB +:10225C00417373657274696E672E20706D5F636F66 +:10226C006E6E5F736563757265282920726574756F +:10227C00726E6564202573206F6E20636F6E6E5FC7 +:10228C0068616E646C652025642E00417474656D04 +:10229C007074696E6720746F20636C65616E206664 +:1022AC006C6173682E0044656C6574696E67206C94 +:1022BC006F776573742072616E6B656420706565F1 +:1022CC00722028706565725F69643A202564290064 +:1022DC00546865726520617265206E6F207065654B +:1022EC00727320746F2064656C6574652E00506584 +:1022FC0065722072616E6B732066756E6374696FA4 +:10230C006E616C6974792069732064697361626CA5 +:10231C0065642C20736F206E6F207065657273205E +:10232C006172652064656C657465642E00436F6E24 +:10233C006E656374696F6E20736563757265643A5C +:10234C0020726F6C653A2025732C20636F6E6E5F64 +:10235C0068616E646C653A2025642C2070726F6322 +:10236C0065647572653A20257300436F6E6E656304 +:10237C0074696F6E20736563757269747920666118 +:10238C00696C65643A20726F6C653A2025732C2059 +:10239C00636F6E6E5F68616E646C653A2030782591 +:1023AC00782C2070726F6365647572653A202573A2 +:1023BC002C206572726F723A20256400466C617332 +:1023CC00682073746F726167652069732066756C21 +:1023DC006C00556E65787065637465642066617415 +:1023EC00616C206572726F72206F636375727265B7 +:1023FC00643A206572726F723A202573002C206E3D +:10240C006F206368616E676500506565722064615A +:10241C007461207570646174656420696E20666CEB +:10242C006173683A20706565725F69643A2025644F +:10243C002C20646174615F69643A2025732C2061DF +:10244C006374696F6E3A202573257300506565724D +:10245C0020646174612075706461746564206661C8 +:10246C00696C65643A20706565725F69643A202511 +:10247C00642C20646174615F69643A2025732C209C +:10248C00616374696F6E3A2025732C206572726FCC +:10249C00723A20257300506565722064656C657412 +:1024AC006564207375636365737366756C6C793AD8 +:1024BC0020706565725F69643A202564005065651B +:1024CC00722064656C6574696F6E206661696C65F9 +:1024DC00643A20706565725F69643A2025642C202B +:1024EC006572726F723A20257300416C6C207065B6 +:1024FC006572732064656C657465642E00416C6C48 +:10250C0020706565722064656C6574696F6E2066F9 +:10251C0061696C65643A206572726F723A2025733A +:10252C00004C6F63616C20444220636F756C6420B7 +:10253C006E6F74206265206170706C6965643A20FE +:10254C00636F6E6E5F68616E646C653A2025642CF7 +:10255C0020706565725F69643A20256400466C6181 +:10256C007368206761726261676520636F6C6C656C +:10257C006374696F6E206661696C65642077697439 +:10258C0068206572726F722025732E00556E657807 +:10259C0070656374656420504D206576656E74209B +:1025AC0049443A20307825782E0041737365727453 +:1025BC00696E672E005570646174650044656C65C6 +:1025CC007465004F7574646174656420283029004B +:1025DC0053657276696365206368616E6765642014 +:1025EC0070656E64696E6720666C6167004F757408 +:1025FC00646174656420283229004F7574646174B9 +:10260C00656420283329004170706C6963617469BA +:10261C006F6E20646174610052656D6F7465206427 +:10262C006174616261736500506565722072616EE0 +:10263C006B00426F6E64696E672064617461004C5C +:10264C006F63616C206461746162617365004365E2 +:10265C006E7472616C206164647265737320726550 +:10266C00736F6C7574696F6E00456E6372797074FC +:10267C00696F6E00426F6E64696E670050616972BB +:10268C00696E6700496E76616C696420526F6C6587 +:10269C00005065726970686572616C0043656E7498 +:1026AC0072616C00706565725F6D616E61676572F9 +:1026BC005F68616E646C657200000000C1250300E8 +:1026CC00C8250300CF250300DC250300F9250300F2 +:1026DC0006260300132603002426030034260300D9 +:1026EC003E2603004B2603005A26030090260300C7 +:1026FC009D260300A82603007526030080260300F0 +:10270C0088260300436F756C64206E6F7420636CB5 +:10271C0065616E20757020616674657220666169F2 +:10272C006C656420626F6E64696E672070726F6393 +:10273C0065647572652E207064625F77726974656A +:10274C005F6275665F72656C6561736528292072BE +:10275C00657475726E65642025732E20636F6E6EC2 +:10276C005F68616E646C653A2025642E00436F755A +:10277C006C64206E6F742072657472696576652066 +:10278C0052414D2062756666657220666F722069D3 +:10279C006E636F6D696E6720626F6E642E2070645D +:1027AC00625F77726974655F6275665F67657428CE +:1027BC00292072657475726E65642025732E2063F2 +:1027CC006F6E6E5F68616E646C653A20256400699B +:1027DC006D5F626C655F616464725F676574282904 +:1027EC002072657475726E65642025732E20636F7C +:1027FC006E6E5F68616E646C653A2025642E204CA9 +:10280C00696E6B20776173206C696B656C792064E1 +:10281C006973636F6E6E65637465642E0073645FB9 +:10282C00626C655F6761705F7365635F696E666F2D +:10283C005F7265706C7928292072657475726E658B +:10284C0064204E52465F45524F525F494E56414CA2 +:10285C0049445F53544154452C2077686963682080 +:10286C00697320616E6572726F7220756E6C657320 +:10287C007320746865206C696E6B206973206469C1 +:10288C0073636F6E6E656374696E672E00436F754C +:10289C006C64206E6F7420636F6D706C6574652052 +:1028AC00656E6372797074696F6E2070726F636598 +:1028BC00647572652E2073645F626C655F6761700E +:1028CC005F7365635F696E666F5F7265706C7928A4 +:1028DC00292072657475726E65642025732E2063D1 +:1028EC006F6E6E5F68616E646C653A2025642C2097 +:1028FC00706565725F69643A2025642E0052414D03 +:10290C002062756666657220666F72206E65772030 +:10291C00626F6E642077617320756E617661696C8D +:10292C0061626C652E207064625F77726974655F9A +:10293C006275665F67657428292072657475726E9E +:10294C0065642025732E20636F6E6E5F68616E6404 +:10295C006C653A2025642E00436F756C64206E6F95 +:10296C007420616C6C6F63617465206E6577207088 +:10297C006565725F696420666F7220696E636F6D46 +:10298C00696E6720626F6E642E00436F756C6420F5 +:10299C006E6F742073746F726520626F6E642E207C +:1029AC007064625F77726974655F6275665F737479 +:1029BC006F726528292072657475726E65642025A6 +:1029CC00732E20636F6E6E5F68616E646C653A2067 +:1029DC0025642C20706565725F69643A202564005B +:1029EC00706565725F6D616E616765725F736D6452 +:1029FC000043616E6E6F7420736563757265206C35 +:102A0C00696E6B20626563617573652061207072FD +:102A1C006576696F75732073656375726974792057 +:102A2C0070726F63656475726520656E6465642091 +:102A3C00696E2074696D656F75742E2044697363BB +:102A4C006F6E6E65637420616E642072657472794A +:102A5C002E20736D645F706172616D735F7265704F +:102A6C006C792829206F7220736D645F6C696E6BB2 +:102A7C005F73656375726528292072657475726E53 +:102A8C006564204E52465F4552524F525F54494D39 +:102A9C00454F55542E20636F6E6E5F68616E646C8B +:102AAC00653A20256400436F756C64206E6F74204A +:102ABC00706572666F726D20736563757269747977 +:102ACC002070726F6365647572652E20736D645F20 +:102ADC00706172616D735F7265706C792829206FFB +:102AEC007220736D645F6C696E6B5F736563757276 +:102AFC006528292072657475726E65642025732EA5 +:102B0C0020636F6E6E5F68616E646C653A2025643D +:102B1C0000436F756C64206E6F7420706572666F05 +:102B2C00726D2073656375726974792070726F634E +:102B3C0065647572652E20736D645F6C696E6B5F76 +:102B4C0073656375726528292072657475726E657C +:102B5C00642025732E20636F6E6E5F68616E646CEB +:102B6C00653A20256400706565725F6D616E616702 +:102B7C0065725F736D0050EADA308883B89F604FDE +:102B8C0015F30000C98E54686520626F6F746C6F0A +:102B9C006164657220686173207772697465207056 +:102BAC00726F7465637465642069747320736574E3 +:102BBC0074696E677320706167652E205468697341 +:102BCC002070726F686962697473207365747469BC +:102BDC006E672074686520616476657274697369C8 +:102BEC006E67206E616D652E2054686520626F6F74 +:102BFC00746C6F61646572206D75737420626520EE +:102C0C00636F6D70696C65642077697468204E52CF +:102C1C00465F424C5F53455454494E47535F5041B5 +:102C2C0047455F50524F544543543D3020746F20FC +:102C3C00616C6C6F772073657474696E672074684F +:102C4C0065206164766572746973696E67206E6164 +:102C5C006D652E006E72665F73646800010000077C +:102C6C00240903002C090300080000004409030098 +:102C7C0054090300080000002C0903004409030058 +:102C8C000800000073645F626C655F6366675F7366 +:102C9C00657428292072657475726E6564202573BD +:102CAC00207768656E20617474656D7074696E67E9 +:102CBC0020746F2073657420424C455F434F4E4E19 +:102CCC005F4346475F4741502E0073645F626C65FB +:102CDC005F6366675F73657428292072657475720B +:102CEC006E6564202573207768656E206174746549 +:102CFC006D7074696E6720746F2073657420424C1C +:102D0C00455F4741505F4346475F524F4C455F43D9 +:102D1C004F554E542E0073645F626C655F6366673B +:102D2C005F73657428292072657475726E656420F2 +:102D3C002573207768656E20617474656D70746995 +:102D4C006E6720746F2073657420424C455F434F4F +:102D5C004D4D4F4E5F4346475F56535F5555494463 +:102D6C002E0073645F626C655F6366675F73657486 +:102D7C0028292072657475726E656420257320771E +:102D8C0068656E20617474656D7074696E6720740B +:102D9C006F2073657420424C455F47415454535F18 +:102DAC004346475F415454525F5441425F53495A22 +:102DBC00452E0073645F626C655F6366675F736565 +:102DCC007428292072657475726E656420257320D1 +:102DDC007768656E20617474656D7074696E6720B8 +:102DEC00746F2073657420424C455F4741545453B3 +:102DFC005F4346475F534552564943455F434841FD +:102E0C004E4745442E00496E737566666963696565 +:102E1C006E742052414D20616C6C6F6361746564FB +:102E2C0020666F722074686520536F6674446576F3 +:102E3C006963652E004368616E6765207468652060 +:102E4C0052414D207374617274206C6F63617469AC +:102E5C006F6E2066726F6D203078257820746F202D +:102E6C00307825782E004D6178696D756D20524152 +:102E7C004D2073697A6520666F72206170706C6981 +:102E8C00636174696F6E20697320307825782E0029 +:102E9C0073645F626C655F656E61626C6528292086 +:102EAC0072657475726E65642025732E006E726681 +:102EBC005F7364685F626C6500000000F8070300D4 +:102ECC0040080300080000006E72665F7364685F60 +:102EDC00736F6300400803005808030008000000EB +:102EEC0043000000504F5349580000002020202080 +:102EFC00202020202068282828282020202020205E +:102F0C0020202020202020202020202048101010BD +:102F1C0010101010101010101010101084848484D5 +:102F2C00848484848484101010101010108181818A +:102F3C0081818101010101010101010101010101F5 +:102F4C000101010101010110101010101082828288 +:102F5C0082828202020202020202020202020202C5 +:102F6C0002020202020202101010102000070320BD +:102F7C00041702010857104080000000EC2E0300DB +:102F8C00F02F03000431030053756E004D6F6E007B +:102F9C005475650057656400546875004672690085 +:102FAC0053617400000000004A616E0046656200C7 +:102FBC004D617200417072004D6179004A756E006E +:102FCC004A756C0041756700536570004F6374005F +:102FDC004E6F76004465630000000000414D0050C8 +:102FEC004D0000002831030024310300243103007C +:102FFC002431030024310300243103002431030065 +:10300C00243103002431030024310300FFFFFFFFB0 +:10301C00FFFFFFFFFFFFFFFFFFFF00006430030017 +:10302C00942F0300A0300300B42F0300E82F0300FB +:10303C0048300300F830030054300300256D2F2571 +:10304C00642F25790000000025612025622025656C +:10305C00202554202559000053756E646179004D6C +:10306C006F6E64617900547565736461790057659E +:10307C00646E657364617900546875727364617908 +:10308C000046726964617900536174757264617988 +:10309C00000000004A616E756172790046656272CB +:1030AC0075617279004D6172636800417072696C70 +:1030BC00004D6179004A756E65004A756C79004166 +:1030CC0075677573740053657074656D6265720015 +:1030DC004F63746F626572004E6F76656D626572D8 +:1030EC0000446563656D62657200000025483A25F1 +:1030FC004D3A255300000000C1050300DD05030017 +:10310C00E905030041060300290603003506030008 +:10311C00F505030005060300000000002E0000006A +:10312C0000000000002000400000000000200040D3 +:10313C000000000000000000FF0000000090D00321 +:10314C00000000000000000000000000FFFFFFFF77 +:10315C00FFFFFFFF00000000000000000000000067 +:10316C0000000000001001401100040000000000ED +:10317C0000000000FFFFFFFFFFFFFFFF000000004B +:10318C000000000000000000000000000000000033 +:10319C0000000000FFFFFFFFFFFFFFFF000000002B +:1031AC000000000000000000000000000000000013 +:1031BC0000000000FFFFFFFFFFFFFFFF000000000B +:1031CC0000000000000000000000000000000000F3 +:1031DC0000000000FFFFFFFFFFFFFFFF00000000EB +:1031EC000000000000000000000000000A180100B0 +:1031FC00FFFF1801FFFFFFFFFFFFFFFFFFFFFFFFB8 +:10320C00FFFFFFFF1818181818181818882F03003C +:10321C00882F0300882F0300882F0300882F0300BA +:040000032000637501 +:00000001FF diff --git a/2.ble_app_dfu/test_image/app_dfu_00.zip b/2.ble_app_dfu/test_image/app_dfu_00.zip new file mode 100644 index 0000000000000000000000000000000000000000..49ab27ce529016629e8a8969cba19b7c10f402ee GIT binary patch literal 54405 zcmeFZeSB2K^*=uMVIQ+eHVfjV!qf;ckSL2#pB$BK-5;cahdKmc9n@_YmHFh9y5h{Qk4am_F06>A*MN z$J75^eD%S9&3iA)sc`;XewsG^_dk9AdYrRvjMr4&zPNSlqPGWE%>l;NoyX*N6o zCZ47#<#-}iBF|9M=+ksHpCMOY%$_Ay)>G-3Rkx#Ns%vVkKs5^v{T+fl>48H*Cj zBjV>Gv5@>?xtcK7!q`)qnOV%-p-6L$&&h__X2w1oZLXnoO?ps*#t1WJ zapZn0vD_~ZOBnP+gQDZem+AQSxPc@8TcCMolmZT5jEBc(qukfSZN%~nU~f3glF{hD z{u7yfBM}=3rMv279pkHdSWI(yYtmedR5{qpFrLsr{ga`AA3T|em4*y1W3937-}jaF z>5K2P#P;x(dPG>M%2AH%u(Q(NEf)!$1BZKB?)IcO1$Pd%Z` zXfQp+$!msn``K3Qey;TyCENallF`7)9LtnUj&v&77R@uq299z^2ew@EgkrXL5WSFw z(wy8dd}83KLj57qS}L-K(he4hM1Chuzu1N+w9B1riGuRiG|N8=NkViypIXI! zIrh2$?co&~f@{JG z5XacKFl#e}8DPgK5g%LHHL%6ZRvSH+qbZWp$Chz@yRuR|e~+3)iocn?a{W0a@7YJ& z(?ufi;v;#f{W>y1d_vLL8Tmhl&M3TPuIG%Rw{w@h>-XmxFXh!3FK=lwUdnbIcIKYK zESlLA=H+y5KT{=ZxW<8Wf-?3q9b9Qyb)8}*&nP9pWXjEwDxw9*07vHwbMQ%TmM3|yWdC!nV zG7%3r@_tK$n|v*uGr9h?gAqlSzgOi3g6IN<3OO)&LYq#qDRK?EW182TD!>DOnLd z)3F!0<$>q39mv6*l+H?gD+~OxHf|TYa~WoBnthcESi832`kOIZ8>VUd^~`q$p3HiC zz`(qWubiw^XuU*!+RMq;D@4#+IdA|@o~N*T->W*?!IZt*!OeQTZ%cap#Vst~w}~k{ zefRKYMKAoaPp_pprzuxD^!<9yUCYTMT&YOY@)UMIH;3!{nU4J#+FMR+Rgn)A^Qxsi z_elGkyStzB6p30&Rh#resrXrxvE6~zn(Q~CwOcZ@#YG`){z{BCJByLinQi1{d}HNy z6-Q#2mCq!`Tgu9ROORy1F4|_^S_I09B$yj|qx9*m zL?Tv^@X8E1(GiReNOx=y{AE(HI7zaLduj%xDH6GEAVPB(Onf}Upf4%F~snz&134l>ppaj%$&rHtm)n-4S3)XPNwQr5G89 z0uGWuhBzyDTGFqr3m#X@sJi@j3L;sPw$N|)_fIT zHzb(-!g`M4;>lao8h)<4AHB}{Sv2|fGv!m@zYuuON0@{lAWTQl)YZ!es?2wuQux`z zFp;~e2)Iad&1?9^yL0bkgjNS~IFBl(*_6lsYr6i+bbWxz5ORXb3|}Nz{9a5@$%4bv zXQAZR57n$mEwH@D5 ziwxm3gmeURktxJk=$uNfSyT?8>lWkAxs&#R=0B>_2N==xA?-b9J*HGoKc=`479liD zPsH{n9@81suO@sgM`{Jad<4gIeP_MwU3yBfGtN9dR4+GIwJJU7Tc(b!gJdk_dTogz za!R?d;Mf3{#m(bwY&TmMrY%5Qev3A+bte^qwIm)!S`XteL&iFpaQG?o-F2swg0f=+ zyl_-;%ud8UOql&U+&k-5d^Zv6O1RWK$mcwzRF@tbaF!ia<|Eh9gx$XlP)F>7>|K8p zaUymw39*WxAEx|ciW#AzFcJGz!a|{_y+45W=Mx_PgKiCSnWr)M^-ZHCa;7c7Z}zmY z9_QbZXHa{5N-3X(USCi9rw`E{YD*SJXfL_$)pe)tBsMXOGPg?ZlM0`GOtDNjspt_G zAT}W`LTpAn193KDJK`L~<%shTI}lqCS0gS!>_S|GcoE_mh#L^w5idhrj@W~^0`V%u z^ASsk9f-TF9)9IpHUjr^YzT>5jDU2@+n5y-3KFrujdm%-nTY)rF^~8!qeP(J z60y^xv`%AfhWmFCJJ@qiR@HmzUX6sVMpNBsb-5mMC$TdQ(xr2x$}j(hU|&WWh~o{= zA?YHHP8yqu<0y?mi#!?D?0`&2c7(ZOI&(nxfh=h19Qy1#1;@myjAiCd1M_Z2xX zhGIyU0fRfQ#o(SO5#ebk`w_94MSEw4QU-~W={v^8Aa&9;z=6CTgscEBGCLEo^N9+7 zm1OfXd%*$0zs!!D8n)fs$+>wKU|DPRM854eBvg$ud(a+ppsNGxeu5WC3oB1cG`6gm zvedb>a*I&p-Bb~`vkgf^0q>(FW9e4 zyMDfd4EY(XhT9>BjmbxLBHt2cEYJ5_xa0j6rl`&`%=D9CZXl)Vfa7E@skBt3R2}Ul zTvBqnJI-O%B*i%)HXnOUbuCTA?g`cUIl%po1oO4jO(7;9(o^wg5kCJy)PNkHMH8__ ziDGc>L~Px-gw{Z0^VeFS|CbgNTqGp_BF7yW8w1)`Dt~7#$*Ly>Wi4$^{YM#NILQfP zZKzDdmWFPUG=0bQ6O?ko%8!ihQ5bs?gE_gC&dN%fo``)X!Ib|ciV~Z~$BV)?l*9rW ztkTzrH=kzZ16MEjr@E)QCVQs3E%kZL7B|T^Tc>yo@>@ew+@PHNW4(l7=6~A3O-sy3 zjpWwlLef*$Cm53+L2RZ{eEn8Tj@8AWTSH9w*79<+`XWF7Ye(wKv-El(&K`&_J! z>#kB*q^LXmSyX2^k3Lg6qO?cbn6Zu}ltySfXRT*RH|V%IpkJ(CLJDjxPdgdx5}P~A zBql#g?fJ2*O!?R8acTf<+rhk4eTgBE{W6HmD@mD;kcz;%*P-u-LoOMj@}}9Hu_$A4 zX6>iBpXv*ENT|TrABR6wWcyhi`H;M2s;!2^oQRzmrgQS5WN;^EWZ#!Fl7z-(WjYT( zLR&8&&^c!ggnQYlNH5DCaIWj)xEUeF0;=!S2aGNv-yJv9f%ax~<>=LMt?Vbv4(D3r z<4&6Uz0LGp-}wgSi3B|KAk0xm%;L(3Pt*9WGw@ZyvpnP$h#gs!4!D4d8LNqo@D3Ok&8D{nmY^|^9nNNBPJvF4T{ zlpRN&;-%)7sHHTtTVVKLNmk+W7mrvHRV3wkRbwC_X8%yL(`8~LUEBu zJVaAzNT{%I@ov4=>`l|*cE2zyY>5;~ToU<{9# zL(I^J-+((6D{~V6Cy>q*B%x*wmHUfDMulbvSG@8T*wEm9)(cdR{vhf%+z4qLDrdwKL*ZaU|0 zb1hv&>5UymdnyoaJP0fclEN{V$nN-l@jL0*UGWsc`jC-J;WTW08I}fz5(%xp%c+cNs#tB*$8dr zKccgcYu->_v{>5dFQzb<&CbUvuRm#%PJII&7cQ1)OH4!bcj6FQS*rtAUNCCOZR%qT zOwopZ!sVQ8zdSoV>r^6kS0b;DtglLAENu4hEb*`74wM*HqZT0oqLi*Y`qb?x^Bpjz&qZ+E)Z1N8m0620s@`OlqM;y zClarzbV+HlIq;7G^CRnCH`VQy7~$z)t0%>sviOwZH5WTFJjWDo!zpE}`4$hQjAP1H z3*W2_-t&5MC)Ye2{T$`VC!}XYo9NWL_eti!3V%Zo@HVY`T~n7QWqawBofW=+C!Lp=EDX>hfv$(Z=$NBxa)(vO% zllW4975HLaEp!!%-lBA}lF4^e(J$OF#5Zhj;WymMkeMetCZ5f%t)KWPbT^Fkdj?*f z%Cp1#U?uka&JEhWqYP6ZDy77Zj z1820KrHHe^Z#fCL^)%Pecm?A10j9q}^D-gQ%N_ND-txyCWLlS^uj*18QW+jxLqv>zZKI!m^uM@WKVRBS) zt$)1({ag=8c*0&0d%Tn|Wcn`1xK2geen;-E+sQ6LeyEDEk$v?SA2ymI)7*gLsgfCP zPffQ%>{ZCO|8|ONyqU2_y7z6RdVSlZWU0JJu3K~Y#Rr&jT7qJVmQI$W`?{Yy4G{{3 zSRhZYKc?_wJH=GXaCCe1yZwo*-zkoTfU2?PGIMD^xyuh#wL1TPij@2{!jzAFoxR6- zCfWcTauSO@LA7A;1D1fj3wphIZ6Y@C7V0hIASZDWB=)Rhiax8kreW4LV0Ig%w)1as z6569d34$@V6Pw}e3ImhR$x}H7l9i*Bt*un7bk`Q5gYgPYByswdb7oBD;wv_R%|m@FW*GDzw46T6OXzsX*~*Puo`VisWa6s^<`T~oXdDm zDhu+KTFKnZSask~jYo8~8X>Eh6&~|4Rs*EwfoKuR&~j84YqAlGEm9^$bUskCmbAm;;%^=ypm^`zA_DeOw_|rfJ^aLH7jv3DdWg;n9zK zQ5V*d5N$hc6K#(fJ8K?m%R8faR;-5kdO0vcb<_&-NPboVuK`6mB%ON?&dC_yKO6gX zx=ZH}=u8ErcyJ9 z9bB6K5ruf!B0~gp*l6=o`L#`&E44bw>3JTT?;g-bR<+IBh!`4X{$q^Oe6*<|knPU4 zqLw(Z+oWoVM=fpsJAGU^*SD2_+&Mw5CsVEGkE2YHKFk)Sgh^3aRCMagKaY;X zj7Ev&^4R!0rS*^oQpMGW1@~!byR-Pzq^5n&Y2BI7X$z65wPc%No6k8VVv%-AK4)%Z zlB*KAxYG>k-|kF3wW(>l(=_&`Kgn22yoZOk$PNSLI=NyDv}R~TUDK}fGCwWyF*vQ* zm#_zIKBjDc2V=8&2Tu1!nf+F2ue8(o_ei6Mbx+zRY&sXEV>C`{GkcY)JaMvnQVUM7 z#0ld1!6*5aWd6o=lH4CC=m<2m5lFrD@k9Vg_>XBr0BqAU%OVECker4T$Na7|8TX!bCXou z;+~?h>9D8Ek}c$Z{A(F4a~I>fl(s6{3hDkuy}UMFd1dm_r=2*FE0`zoyK`IExqJz^ zG_vX3g-rQlrk6=!v)EkrI{%|?g0-Q3P+Q#-wQb;RdFoyF+( zmhJSu6AdWY2VVLK^oKiN@v|j;KJ95br;R($n zTcg^aqsGhunC$wEJ{iM&wmi*trtB+Q?Dr+GRcn&pj zo36%IW>1e|3G7jyDODwWkMq-a){;^B``TNANi)(gy7E=|9QB#SklItECob;+~17jTiGJ_jD>o^A=y9m-E>+LCyo@;vVQPK(myOQQDlJ5+ttv&wAeeT=` zf8(FBKDULLt1Ve@<(XHQXKzugG6@~o!jexA5(t{DEUEIcBn9zggxnTg$!FckoVU|F zo0H)oJhvkJdMrGMICtB!TBbC26R6yqyWZH+F}(TGt%iN;j6X>}omq!g`?@5@{fMr*C1MSesp_iSt&yv`lL7_VN6fyjm6#pZK<_$ zwC)cLzW?&+zi}#zGd>DCcUw5htM6y&yZu~LBcNvc*)P{_N)MDi^oa8i9B6AB_FDRY zMuod@Bqx~UYI{2A`8mypv$D!P;vAI+r;5aOXP6Y<6*j2S%U56uj06Kppk^*@u8~CAe9e6)Dzh(2b_HkbR zn6d{lEhi^fvTL57j${8YnO-3p=-hu&-_H~5qvE7!Fhcg9Q$Bz8l%g!SGf$5_vKcy6 z@2&dK9ZeZcw>B+D8XIQ@eg`{{rrNg4j-|xfApQ=cO622Lb>Jr-MDm2j+EuP|%8UNT zsa?=8Cj`ZtaKbZRJfoOAORDV{ja_l3=(}OA=vqhyH$`r*#rkP7#rYAY&%`o{iG0gr z>Nm5de!aJ?kK(jyq;HR}fs6G@d~f4l59ABBp&S z$Iq!x%v-dk=9&!5ep<&NKi#uHA`a8JykdBdUn6kM3@~!s%N#TSCpExH_f^_TDzhi0 zDGsfqvwKjTXLNq01D-C>=BH5R0E(7EIhca-(}#@M=@|Xk1FuiS4g*qhPeEY~sZg#! zex-OEpQpOO%Ze5@3%nV4Bvj7)bZm#A3uKA(n-SWoB#!_5FJEXGdeZ#6u`d??L}<}c zJXFq4_8l^4{d}|+Yq#xtm_6SQpHnXE$b`(MllP2rf&f{R80$rP3dQJ8qaBcD+JlO| zK@Y0?(-2pr4+)U&`4HEiC=PD}yZGUy+w&xXn`^z1+>c&kcE_?57 z+xBwDA!kMCg-uMqUPGnrgU;g9HtZ#)g^K|3V}&U)LdKt<%J@kM*Vu!)ja||6kay2} z&u?3;?j_D|T7y{Aw?*?YzHC*@-o=wX*~XMHeJ?QQy`O9{^k*A>(@)ZS!m9N9KL^OyAHB#rQCc9jScLB9=or&F*#%RF+b$pXeN|Ix&)3^< z?4o8N+KpPNEyVv+E9uL0{A;Z&YPF(P%&f1~%E(h$H*^a-9nc0~CAjwuw*mW7Xp@-y zXUEd&l^zGQsKnffbdIs^bGQvOcLW+Znjfi5gCdZ3)LhLqbpKI5?K*6ssG(*9gn%Xyf2XFC!$ zR)RLxVqR=sAtW z73!{@jijQlN}^4&qK0QZA1?c#mnq%n~ zMNA?4G|RMS7xtcH=FbuvKuy5}nQ= zC=q)hQ6?U8z8=4PrT^p+Kw`rt|Fa93Q`nI|X~}O8nfcVxk)Gw=2mKG#XKG;2;uA?R zk#F9VqcD?dgSH2WjmUF0(X$9pb$ueXGE`XXkbmtZ)2Jji)8-VZ&6NZKV3Qa{GLv_+FI4$^;}vjuWY9hp2>GV8i%> zVpDfx@jYQ{cVTg3cscsw^U{_Q+f$LBMVoKb7stApwxvow_El$hvgDQ>$*^|px&CWu zEAhOlmAT8htKGaX7JME-VePD;nJwH3}*HObXVGOK(Tp7JhKj0$6k$Umg8@bgk~g4{iBj zq@OuyA4_i=JsG`GqHv9q=Xxk?gA_&zeM{D6wq90ind`X*n1?OIj)DknD;IW&I$0an zimy2*cN_W>H%?TTsib(p;PO{#YkoL-1y+d64T;#=(TR%IOp0TXUphmBwXcr1>0aa@ z)8y#*`(2}_$7-Uj%aanZWuq-BE*eIORWG1DrLdv0dZQ|>JxM}YffO-A^agSE>dL6= z%1sksnb>M}6W(0w01v+!D;!BvWg<5;n|fCY@^tCbpno8|*8O>u^GuS)?F;C+z^@Q~ z3|g;%EV&7Bdy?*}K30mnzTnO7n_UZ%5DIQ~lih^BX{?q@)RLUi|CYL7xqG&&Vk}p= znyW7wR!GlVz?mU3(>>Ews(#fM%v8UA6mG{^qiOn;Q{VkQdiEE^dLfB0>{FEZ_~6xNR<*3MZ|gM1@l_hOIkPY{{L#O4pkzR$wdO64bok@t~=K?RZTS%`6;OuC=j=Z|%pPg{GaCCUI=*<*1%oyF(&k z-8macMGj8(n`^qTPvP*+Slfra@{0Q%hGd#PU>0*x+dr`1f}Q~S16n`t(#h#VoD1vD zu$msC<=YX=0mCALyUIg#;d4eDL9M)TR9kDgKTpuQ9>o1;8zeTRi%py)1z4o7%Db5cV;)b!$91wK=Zj8aM9< z&i93rxi}fQ`-5K2TokGw^xnEl&y-Yz80*C99PD$yooMi96nz|lR&?D-*k^JaOd!>}{4PLlrW$=xv5&y-lh zjX!?yNU|+^L#KK*nNQ>f(3ahyTPL!Yy|?aLxzqVYge{^HvpzIY6xNyDIib}29Ppg< zL|Sbc`h0r$qiAjuv|%gnfPOw2g&k;_-o|vF_k^LZJ@0{CK3b@i-|npFr1<-K`?gGB zkTVfG6vEibSK<3W?U10Ey5Bja!P!umbAKYX7~g0)b3nVu0&U=T<3+*7A5VfFh*~M# z3@fE%zo{O`i}M0AEEcX2r(z_h!-k>VpF>C9u9GvBnJJ7QtYxq_J`OF;e|bLhd}k#f z3`5p{_9dwc;;~nNjU(zy!b=ya1;jPtWWYtQ;=O=& zEug*h4QNSNN`1ScJ+N>C*1q;f<$cEi4M%B~rTHRWFckqi3Z&E%`~5fh`F9U zqASwyFjIb`I1r_$8`|yf=g|}V-w*RQ&#vahK>W&O*$*mR|3$|Z?|*xln{=K{v?l$F z3o}nrz1pvbwW7=4xPd8aTuUXIcNIctp1()w>V@$md1+{Qcps z4xEZW{-Y!N5=M4v0Cv_^stcyJ0^?TX+%9G;ZRuEA8Td^lLTVlCWN|KNs>_14(A`g_ z)S9qoe^tR*BJ_t>vGTK`UDY5OU~}NDyc+xOx2PWRGmQ5I1Rv)1M~Ex;v1BWryT;B3 z$F16~#{QP*|GRmvApe5<1Tn3{=yu>dcWXYCi?7Cp6I%Js5sN=*zfEoCEg=WO*vTW# zWt#&9i($Q|uGh~EQ3w@5eugnT6?%nSKYcIqGJ(XPGuza z57lD-8tnGjd5mpBH?@$0?fSp5T7>UH3*_;lKY{lUxkC9Us+G;~pQ3(I)Mk>}sFFfj z-U1s(+INbBPZ4PUsa+Mdr{bty#m`${-%4kwil;5GD_r3@*2`P>dCqvKB|wT)Cslb` z>A8@=K-XD?v?{3zXO%mpTcwohR%exm$2XeZ9H^GGn57me$A1_;7JF)Pf`Vl86r#@s z(m=FI%8~RaN#WAx6$I>4w&(=keV0>0IBZ z+#P1N?-+lpQfA-c)O52aaWcYw9`#7(&V2C#=J)PQPW8z;mtfrl`i~q@-}&tf$TI=m zBFz-!=5j)LBHHE8m8_mSFe~=d#G)0QgTRd?sG14+>lOtW>~IqUn3fu=+gu@rl9Y(IxkEQAQO@zoR;y6tT(e@Dp>dUwG zX_mZzK>EE7B5ZEwJREw-?5EZ{d|lQCA;{#LJv+TQkW(H8jhawK=gyT*>i7@3tXouz zoLpEECFfpFA)QYI`~WFVeSn3fy1opSAfTN;BpBh82NvDsXSw(XRDMC8N^>BhkXenC z_ae`miB$LU4U82w{(?EUV(lb&xKK#2l2P+eI4>oVP&qdpsYw!J$*D1S(srqRxZL$G z{qUl92ON+$r&|XdrCo^eJf{jeGCW_~T%&PQODJ7Y6+B|LhPraRiVHm@p=`i32Xbn6 zD$DIlkI+2UVNUMSxkB&caQzJD3V9W~#bO(Xkb<5LrX2GlVVW@%F=4ImveezXMbUB& zOAbzq-$J|F6FSsG9I%h!7-17&VyD}whbE8KLvcnt#KE~+mE|xmO-h2vHpqb+mz3qS z4%x9wZ94Nr%ZUMphRjR}=>^zu6zB`u;LFEbr9N59X4IMR?&1hFPhkm zw{34pZON2bwlKV(aQ*NKxC~Da7Jf*D*1?)m;Bp=O0t#pHG=&T*4Vpp6?4l|&EZ5B% zVtGBvl=-8JTgc@e?1c~1yi95oYr{KH{d^HxvE51oaa??O!d9iB;X+hz`32~b;z2^F z2v`;s<~%iIx9Cc8KGx5z9^Opz+xHtdTMBf62Vj$Lp76GVkr{@am6Y>RLkx79Y(AHN zC3>nuXPeyJ`emDuTSNDQv|Vh!gE%_8#0%S_=;$qe)M8(z2zJQr0yoTFV%^k!siIRI z6O6}LZK`hx)eC|yR9y%uShASe4XRzoMx4gXoSpgohe=nh_2!#pfm$B{hA?W-io|gVfZz( z`qI_aA9Z9Z{0vTBVB}y;t%H44uG1PeUhY}nAT9?MjtwyGBmFG2N?bk*+5VnU-LP@s z9mO(R(`V#bfvek)%k6*Gz!mdhnlm%P6f=8xm!Pi zGepST#dMvbbWZWR3W0&0Bemsf#&a5Mf93>CA{)m32YR@#uM1Db_3p_VCIlI4o+nq; z@m-C*8plwCGb}1h3vo~w9AGdZ4l^(p`7l~z>C`fDb9>S@k@7a9Xb#j5{wFLlE+w*7 z@08xXGixIa$iC%`AGG53otM)YyD$5Bhqsfi_`cnjV};CAh6Vt1X97)XxCdbL(br1k8mxxp1y z@@C!PpIvuLQ`YLe&c&y9!PAl0Y9kqd{dnR!e6L1*-$H%Qp|=kvY{^=1*28-CHIb6q z@bcBCA^q%IslnPut$}|QqOH9{7e-t4DEs^Hltp>4xK6~@CmL5jhyBp8$oZyEB)7k9 zrO@eYOe&VVjZzf>!>DkXN4 zxD#hX4*93v#kB-Gx1LdYF6)qYc&(CMx+O0KzD5TssjnJVli4h2yk6!^m5R`{QgY`_ z4KZrUfkl`pX^Rx0r>&_=DVV)m$?j_W$(zu+E`k?DmvSF$GP5UiDW<~7k>_wGJ2jMq zbf6ODRA}d+=~e4m#N_XF{9e&d;4b&9MO}cJ-vgUbKrk21fM!yE=}->1%MPLGPy^lF zSTH94xwhaTtPP`dbnNKGq0v$)*L@WD&q{F)=t@^Iq~zU>DQB;7ZOz%LkSr$uR(Pw7 z*+#-HvP|MtnKy}*e5WFqac(+F`>v@b!d6g4 zqetnaecQ?=`^9eH-7{eS1PhU-@l|zPtosqPqC24lp;dM=j>HGY^t|-ZbzAqub#yT_FdwnBX;SmlI^gqe%hJQT?TvB zynIp;hqcNXoM@^e^CKcWxRUO2pTg{%7o>BR*px7Z@|&xFjiy`rq8S#tm!!7Jw0-}~ zul_e4^E~oD6sUr?S;0zjohNJ-DQ`jhASuzAbyD$`A4T9=;hi>{ZN1U`uY9CTFG2^b-o4~=0pi{S!UrpdT}~Qn z4@N#}IxVg8LxQ=rP_|GB=GNS%r&pfw`~{kdHHp2^r&mJT0p3CJLV3rEC3Kt%DDP4SmhnIro$@lxL(Cg33$iFQ44IX>3DpmKGBiyQJ?5Yo&{(5)mrMC@uyKi z%B=VO5UDoW{&%VXN)H%n~HM$_G@ueTNAD-K#BIzmgFi z0sh9gikseCuwq&7mt2K}D9$JR7fZ~X^J{#idXZ)Wg`=rr;k8brLw<)FT%gRMa+Lau z=2@n*s9TE`9rKITd0 z0L^8P;&^y((?rl_HJ&eri2w+*voJqR51dl6?}eu&^{Sr$9yR~F3*iZSA}6G~-18&& zww?gTLolCEc~lkUQB}(Ht{){iQWfQ7?DQ&SS~KNZlw*M-Rk72mlzb0eBh)v_weqVJ zD|pmvakW({kFuydisES;N0dhu{1cC&-x=9cb-170P0yIMIC2q+GaxUMw zw55hD^`BD~?MQRgfpd8)M`GW(st<01HgkIQ&DAOHj+Wfp$jtL$gX$A=4)z#;Py?y4 z&%v`UzWUyle?TWoEWbm$K11k1cn1OAppao-ftNW-wk-7%wE2+2;P*u(>4QEJYkPw} zAsu?=cTq+OY=mAzBTj-ZivS7zlf<<%$)!iV)E>!n?X}LOs~&jh(Z?TseD_}ZckG>T z_xba5Z~Hy;^~S5;gWSoB)N@RM^fD4#p~z~j%?dly1TFX{tLg_gu4;5oZYG8Gg9N?Z z*j$X?;d_YiXBsN8@6K&@ zTzS8eSdSuCnsQl%;ZSaLYw?9x9hbhdGN7grrQEHfX$4P28H=TPBsNp|``A;FLagZ1 zEe8N2ODS=itQVstu977qv6n|a?9b5fVqUmA$jra=>7J% z6}`_x&+moBB5R4qev37xtod6}`usjl8WiYzuT5mRGp$GPlnI@5JQhf#yR)o^@ovOT z0&%QMu)?w)!aJ*ee?d)s4mT`KupWrUW5*L5M&Rk_M;LDl=;l+zJ-IPV?ZNonqK07m$KDe3btutpZ;KE;9$YJGmmJI}ZAz=Q|WG&h0s0iX|T*zUvj1^dNrt5PW43b43~5OoerlVXY=2q&_E(*PW9&I3sG7RSHyNxYmmD_TI9w(3syFt z-VE`6LhsiVnIk&9(>o$gsPFm+$v0Z{Sou3~$AJ#IOnS1#`OG$RfDLEZri9I%xr_28 zKlVyA*Gp=tf-j*wr@rS!__12{sqfhl0jD^Erze_Hmjx|jmWSBRL~v6K>~H=QPI}y( z1b3qT=Fkzt|L$+$JvE<3Wwifugyd}%6qdFK_B?3qZnRE2);dB`-Ov_!Ok%O0ej~VJ zfdvntTx;prxz3hQA~rax_ooP#qL$`<%qe=#Lt)c8eh6LvMuZbiw z`0!ckV7a4zynPbS72N;}P23AN{rWQa-0>DMw>BR8_Q(vJN--~L;@F}jStvLrf>b8-jC(TG~2Wlswtx!E} zMq*xdWyHM_A${jaY{MIb*r74;R=(O!dG4_x+Me$#@z@Aj@&~nb-^E$ZLN)y!Wi<9Y zZlD{9-KG4XmIK_!)EwVZxP!DetJOZ#E6*sV24427Z!XB7+(F>Bm6z|w924i!Om@d5rjeFp3M$0q!|crTNRCR)KN)7_ z4}sTs%$JDAN`|NuI2wb?GFH#eMlVMrm}7VOS@J{BcMmx!sjAAuwB z*p0(fC-y0BL9_S`NMn#@Ls~_rZtSgKm@mBYB`;`49cK~JCeU*(_&F~!!NYR=76uB@ zJgjrkI|?YoaTu%$alEa>!;)zzPvLwI?cIRz6NFU=kZL&}bj_7bXNy_^t^|cS$#~Y)ob<9(xuh3 zd;sOck$fM8V63)!nL<_X8Z}u?;ADHCQvZuirNBEugtb%)3t4muu=z})Ay@{>DSDR( z?$vCe{Ey!Iu`{GTZK8c7!nM9E?+#_A{bBggrHa|&9f$STGu#Y};q1W&!oMaWe> zi8?EnukANezM;1D7v8eR#=lLlX5(89zAaF{?evzeCM8r4`6rA7wb8VP-@v+;@7t5N zJ&&#ajdQ`3Wv`AFEx2;at6bTdv6dvh#1C!B8_=O#T-KXI`)l#B@JY5Hjkm1ucPo0> z(ya*>Rr7M+sNkciS?J?Wl^M|bI^;cGdkZOA5-x+6=JK%B$M&yPyNE_mHl1@ zR-GN*pE+AQy5v{9$Zyx@)10HW1y{a!1$0_=NTt?Y9air_Jkd6#^dzyTg%pNc8G)f! zaMHhEaOtbb*@4;AW$M>*M}U#{UdixjikWVmMUMVp(Di+$FAejl{?bowUcYeg^irS3 z)_)r5o}3(SNAtqI)9{FB-sEJ$d!3(kYXl9raFQM~zcHd2zTRaQaty{wm1-zvZ}pAi zHAzP^qK8)#+cD^hiN0Po8SCY1Qv9p$9`;=_#@S0uA8UYzo_$Xq9j^_qSYX+28yhjf zt5LZ2WUYdC`-*Y6`ywX<(o8M7Iz%@xy$8eD!d)=_9}1dFyln+ zS*P}Fme<~?xr>=S1HS5XuNaF$77~dS{utC3gXO^uPC{m-9xpvPRQg#59=9IheuN50 z<){o#HoQ~W zXrJWYsq6tI-WU0^a=^~pr0}1WrxCBB7&dKH*e+dvi#Giag_F}yr2irP#7{5iaE`4b zTNQiPpOxqBjg5a+UbMG0qP}~m*UNEb+VSU=g7V{vrQo@`is3kk} zcVQ|#L~mnoqhj{+N_IJaDcecyb)LHFIP#4=muBVT&QavaL!LaRu75u0ar4y|gKbUE zD=s@EoApfL^EhQ}Y_hCk#I4HwhQ?KD&(UkDS0us0W<~Y9(7~EY3FzRP0?)kbaVofp zYL=#zcPYi?$9$Wb$)#yxik~Uw!sj=@USy^=(zxaj&Re!BGYj-MvEwgIui`Jwtjtmv zTV`;tb2xIXxMm7xTLPJylQk*nnaEk*7j4@x$xr*h1@8`?-;m-b*Dr`rySJMojrcXe zhl?+4T=PORvCRo{H!(BIyYJbs>+o*nx`K^IfX@P2ad`{=2Cy#>g7||qM}d=(r>l5weVv;&Mm3J4J!yK{B4viJQ3vz zk3ru8*yShT&9zmTWhcV%UUMVHsGP<7e7jemIBmnN!*`+Y#I`1alieP8W0cU`*&!Vy z7Mf2`agWj{d0v{fs&Un)xLdJtRdP%+;h{uxHEuWzJX}}4Ke$`5mv6zY3a7?)9=B(~ ziX9x~cM%OzX4yeAY8#HiH|$FEJm3hcX*<4xvqgooMuoHV8*nxO&MzZc;Y^ely4Bvz zvi}_So?5a?L`wHmX04#*%)1r(b}#bp3@e?xm04s@&682wT@vMd8Q7niL}PfGZEDzT z(?pIv2w(Zg7T>d=VC*!kTYQ@^I)0^~V4w3!BxM7E?Es_pVv%zn^}bhNtMjMvWP>HP<8p(>o*Dhfs0>#ndP+r}C`m|n(sVu1r^5jzdrrFK2 zjM$Sr2kn=%?kr@Ku1K+H7n5byhrB-cs;he8*TN3ea|!z|Sc@ho7ZtoOMU!ospth+k ztXEORa8>aUg@KUxo^qbEW*dqf-yTq`m= z(!`y9=IQ(VICaErugr@hvAU}{{u{*?JKAxV3o|===0Jqn*vp+JaX4zkesCi8q}O%g zmY$u=(^~QCC1;|fwy&CF%AfHjOWMV952YlktLA)Ledc+Ow`)YBEnnrgT8Ab1cW(`W zkD(V5mi=rMY3){cvjn~N>Z@cg^_YAYckt;AWID6|7f#)&tQnc7aXVV<3x(<{P3X-Tmg6#b}7OA(`jR zf6BA?%RIEL$viLpQ=WNW=AnJk2XgXhFK!&^>YzFe+PCI_af#;tsqJ0ho376P@y{op zq)9LILJO2~@zbV-v?(=EP%bii{m_!$Y|Dn=mXf(xz#C@8^7y-o$O+z5f5g$w@w+bA8Tpp7WgN zdCqe%J7NIk^x?HVM2qeVF6~h-&XgiPya#-Y4N{XC)bDeY-ghP%=bM%?Plm(Z=;1n+ zqXjZN_2NaqNj1yk!|Z(VJY@T<4#9ZH5(Rm6GRi&#e!V%l-h9N&GOFjCHQoT#mqUm9&w>LQq2O^DD$#c&DQXq#=~*(>suIbG83`0I|;uNPi=SxCF9@RB0&uumcO7NmJ*Dg@6=Aqlor z@QYYjf2BZ}owiJhJccq1O3ypKh8>9>LtK(`%H>FY0Ci|kdK5~3G?)M>gvM|f^a|X? zamtA|hS&!ic02$s<|sZhz$v@|JtE{3CzSh-Iv^!69JRdROLETY`73@Ui<nu~gle{D9LD*LZk6Nc(R`F|hz(xt*AL*Lem4E4F{++Hv zJMu3n65u;hz42kc`#LD zow1$SgLL6kD}6*O4;N6HTcN|^Ja-Q#Kx3BcoZjEx6AcSiQ3`l(7)q%~fmAf5aE#FDl(!&D{Vn7kBnPQPtX)L1xhMPJW2-c|lg^|c zIG=%M9lumCJ>Q>wi+4Is;%zN{>{H6^IIRk;d%(V{O^gR)oC^})zcUsTS*Px-Wu`sN*@C$j;2#$A_>B()oJpS( zJPEHC8pF!of@`Xb^|QWO@YQ_&=Dt(!y9=%;6^LjhXLyUBIIEHWL7~wdXAn)29LUB4>MdJ!Bw0t!a(1QgKWL>MFRTlNw1 z8|EV<9qDd+O~Fz6X^3w=Q*iBvkY93!D5Fv$pO<_Ff82_8!Usqdyp)dUdX=NSaIkZ( zUrRK;ga^q`?X$7v9<*5`Dq;d_wtJU*0wab4z2?&oxc&S>2tHnOk#Qp?gX zvS}q@sXEW)Vq_b9#F604!w8o?XJC&`z_=2wUUVnHD>;wxd|`y-wn{@n3FO?Rm$a3+_=>1O1M)GH+e)=>Ld zRhN3fEGO=Oaq;ItiK2soZ$@O>k3 z1KoK0>(E=Jq;^KLx`W3_lGq1U*e<^k3f0o)p{h>lhaCX&;_xOtu{a zRwU~aoWNYfQ=BV0lc7n<#i!b-$EVV%#V7Af*2TDDjd3M$qw->&8}v2>1@NW5-O)yP zGGgaXph0GBB)lg4BOFRYAUZj*!)5y$f~e2x!$4+W!)QNXaM5}fRYpGfi&Iq1#8T?~eEJQvCEz7hCq zL7+PGXUOvn=kvhfRq2WHE_259FVUAeZ_;y~2fEi9*M{cQg5ikJD*VlJ)%rANt={93 zskGqP9GI#VaZ;So@;uISb_gpRxc6m4tI^t-j4FQMFB$!Q(NFmL;qY(SIiQHZuiXOp z`d3}My7;VLxcI%GGl>TaUUc2Ua$x-7F*t7IdH1pkQCbLmIf30kkCRJV$f(QD{FfZ3 zuHJihl+)gWJF1NG+*nvjG<*=YfgIc0eIFOsySe{z4YmrEne`!;yBcU_`!5&A;Ecl+(`*`cO~ zV@CM$ELPYagi{E#;?inM^XA5(y3y74r!N5bq2G z-3KnNkJ2cNXrDc$n|NyaP4e~oPIjZ64-LxnB0}nL-co*x@#ApKDtk^DEUbcN_aT2t&mu|A`H@cm2P@xyBtQ9%Plp-! zPGCCj09hox2%20eO%=e44wCZEYJoY%<(1Avy9k!W6KIZ6(UjzFYL6^JTP*yAi+ga zVr};oSjOBKP#e`4AN43*qjsMkhL_88St0xa`_15#ct*WiDLweUz-^IsegperoH6i= zU+Ia`X#C16KRosB`V$2zC%-reJ~WVSt8#$&nawEoGbhPffFrC7!BN<|Yj%_YP+u{t zcNd^eHa!G)YIo54NpNjXnj;!>PUF&~DHa}?EqE>r%5aAy5O6n~xfiF%IZx6!$V`_Z zV~ZOQ4vUiNvV^_bAK<@JbvcVCii{JzI=2&0`{S34PuhXeFHFp^Hr-Elhh|rVXAkxWs+WhR9zVcFyLU}=vwbDr=3{QWf7`GWK z+h@Qs&9Q`q;EEuX@(>ga=b)ueE{RIpP`ERBclBZ4JW+EX%8uOjmwfP#SO8rr_iA^H zlXlVycr1Iy7nMhQT+Y)RB+ccoh7vIjR4$Kl@5bo7=^Cr`M%3zYJRC;D4!UG1p zh|SQx(k<-Fzcy29RCOXC%q}@QW|#Ber9>rCg+;0k6rINUUM9=&wzwthW37Vn2MIP zJA>ZsjMMw!P`R-J6tQ9gMO-rU*Dfy0>C)ny$Q#bQYui$>j}g=MVuu5`DMi}Z99Z?D z``sN;+oRfeeIk4TBsu@$(C)pzK=nInO-ay(Qz#ehsXH2W++T2lJu3+Q$Q|vt2;a0u z2kcqtoGZM$k!@tdP_{7#t;n9xicfJj)C}#fyQ2v@xg|UA-+7;V{oY?W_M;Dp(hPl+ zm3kDtb3@N-UAOhft)%uTpixyq_9EgO5T|X}+2l^?ingw98|*g*0;7 z2hg8~-7~wiI}W1UnbL8z?AFgr&klQ&ha!xTlU56oAjRhmdY|m2F?C=pX?(we_#|*^ zBLeIcarT^cKR)mXnqK%fIG3Q~(bqwDgGJUZ)b-qswc$_L2SnqP^Pk`ej^<1u<5_6r zH3&MELg~t%@YDkeb1&pgTxJ2ZetFJll(N#bi+TJ~x}v)hdo-Xx=Yo1@Lvo$B>EoQd zet}Eh#p|An?`;D>tWc^CX7QT}@)8!*Rm8_5yp4^~DtAcbR$pG0`p88?z2ZFHV1%0M59Y**$#?^)uWzWf^ zd5hpTn?I)TBnOY|)pi=n;rTkR`;<~oJCs|Tn*Mcj6ZnDzzrg~YIliGclI_;% zu2u3QPc5bW&f4Iw-BCMqcljth|h}h?MeU8js1cj z@}VN(xaz60Pt}l){Q$N7*~LGlIyQtmEcio*9V#~Z^gAXvh=iYoYw1o;F(ltml_z#KP8~FKI~M;|0sXx$F{FI z6bEy<=l5Fc=uQ8~CHJisi{&})r=S8iOLV`@P~d!l=R!>SAKmKocgdy}XaBe~TI)Xp z>^zV|Mxd6xBjlx9DfxPS2q?y{7M>yqu0Y+~gt|$`d6m_?&T+_*)h%4@E>t|S8MUwI z9`YU-c^_Q+KQJy-whjFvnNT!JUfsX9llrv=`HP&WqX3jk#Hb-wKq|{WILo2fFB~UM zX+}_`vr59TsjeaKe)RQN&ylMUg^Cr?`kDRF`WZ~)k~Dq#^vHSmm_B{pkoTUE58Zpv zPQq7i!H_c(xre;hV0#vye#NaRi7bx{&7m|Ym(3xc_r{=*jvIf{FS--b|HAzD(3tGQ zc+iZ-jdd>sVNK3RS|;(h%*?gp;F`wVT@iGnHpG%K~;M{QUq zaE|5fLha6@U0Qg9KWev~tMAGzdhHbL2^SCYOK5D0LhYfslHau(92unY(jr*XMh({W z;;w7shOUL95&@p`LGmYv(tx(>2}&!H4*3wRJO
{IJCY(&!3_)Al!CxI{F3~7>8 zTI5qk)Yxa3J!M_-<9dPe z!Sj*|GlSE9Nvg8!#F`O9H!0NVJK@c@I|?4ylk}^dk^0rHrYW<72fF2@Lh zPl;1ZnwXDVRpd=gJEb(%7>g6RN9>&E58xCmumb&afOH26DS8|q(!nkIP0^=wxuhmPjO{H$H{r#3I=r+dnWC{+Vs$bZ((yozw<=bF&oW}6ZQl# zc>w#mf{Qr4ln8$loW=^>X*T+DZ?L;J3Dkdc*R%;UAv!>kOwUe|FTC$oLMNBb3yXh# zuEe`QTTHsP%&ZUC%u>Rky5@eDj=2B-%wVS4y}ML5gyL zm%nq!`>nt|boa^KxJ3i|_K1OC_E3K+r1d70brsxP{5eHQ9=IBX=U2Ep$^lsMrQ|I} z{!Zl`C?J{`;Z)-JZ-QEOKeW6L=K78yeGqo{ycE^X?~5oI^5zHlgRoa;{xyfZ%g@PL zV=7lpE9=Yxaf;bfg z0@n>+Q_w+Rz2QB(z>&(b?h&v3XA6O0hKpKGRw&@^Ojst|1Q$`iodv$6Q~L-*^LBg#~POSnOv zCo2$}5x$M^Ji=cQ-UD3zhA@CI3L|!cP{Z!|(DbY6)H}QfCE5u8Xs<+fqElKLTN-2X zF$Ehy&%0;oE$*(tGjJq$s>joR`ZYK;lmM=T{J+qN6%E_j&Ic5;Fem)@1wPSodVHC z5%=vP5RC-=hrD|y_@!L5)q%SqIsMm2CWCh7`MC@wRv$%;;)H6y^0;s!g8Za?m;9Qm zb)}SQ+gV6}gUdajgBkR@?fV4_Tt|yDoj-ytno8tE@}0mtArU-DvRmHyD%R?Vo}0V* zL(#Z>iaR39vK5C;6r}eZg^#OWOOIeTj#F8FSRNdwI)mQSq1W9i@eeo=*fp&F=>93yO&r(~707D`dC- zs(^P(&v82Pe(iI=3V0EI5pH=v5uq1wjCh|5Xglk=BUcD|k?~`Sj3w5FF5GOlI>B;V z&j2_boC~V^((1<@3Eda#Vh6~B40%U4_AE0#;h4oF``WGuJ@3LCMh1#+%Ca zzYiORPX5{Z5F2r#_$}CSae1{p37}IP3JbPJ%_tZ0yftxyCD;ARL2csVd?jx+jG6$S(J~**e@; zHFI@tovg3e01Y~)`-PM4H{jr(BSA+V=yU7NI``;aaH@6BV}4~1#+Jo_%ZdxpE#d<7 zz_(Yhi#_Jnr2o*JnEoWgw~v5pge%m4>N~-LaPV*l2gzcy4H6k^FYQg<3qTUC*azQ3 znjW9`vA|)h9*5K=Z*k1lvM)du8~L!YxYa3^rLwa)Q*?9|XSxfwlPc#xYM6yqZ1W|u z^seCA)1d#pWVBR|*(2L7`MkF0qjefrQYmpS@@YC-p3i&7^RljA;flqZ%a~QYKGLu0 zLp;tJAKe*BoQBU^eU7Z3{)T=Ky@&xl{yM@>5T>T#83K*3&^ZlyTu_Jp2)(M`cv^th z9LBxxRIiBD5BBp)BMv*3NG-0g4+U_%J`VRe^F>d+CGGCNXagY?9uUnN}{W- zv~G2@<%lEAmk8>xW|0X^UCvyI-&n7##i#*RX_KZ{M6@t z|7QYZTtDu=$06&Ic~8*@4{V`Zs}2O8aF}$*j#PumX0%vPCJbD5czw2JxMPUjWFS zDCZN9yR5LOvQ@6dr6hIodiMtF-4WS>YaxCsaHcXFmM%Wh2IHooHO~&hvNImi(p*~w z-S)6yA8sL9{p@$#X>4Cs+vXZ)+h!PVuz(h9y*P6se3tkUyH6HJJ2QNV zbzunLMqPqHH^~KX7fJTtTyxz~kYc3Rc3W`g(}w-1r}o*?S0gI#{%q>A66g# zZC-Ai;Gc>^w)Ag0m&4*!TrF46-Nk*6`vKR>y^LpXu;-MfpUZP>DGzwJ`L`I;y0&1n zwirLw)cDd2n^$xD7r+anC^k5Xac0fy{d9!1F?kLX(wqDy;|8Q|*vs!v>-w6Ja&Y^< zy1KzZIb=OE<@wvl-`q7NwXjJTvwtCps3FhmJ$=60GUQDO8jaPMKgMx8u`dm*GD;=& zUFGFzT`#7Tq4d;v?Oixm9=94EZ1u2u;u2rflo(4(sop0XoH7qB{H2@kDm3nLkgvkL zu3Jlm2XFIMIg(bUc*Fo6EOi_$3#VIuKBZ)qF>|y8f%}%5`u6llk}(5)OA7UE zpF6=AU$ViG8cKQ8K^711va}D6;1+SDjU0u8f_uTOEKx!GI|jQR;7*vHEYpI=n=f#_ zc>=c;-(N+5gqw@Teaf%mS!BAvIT24oycXdJgx3(RAw*_?_8?dh4j|C31v{CM)Xvo2 zItR(lAx}7`!HIZHi3YOyuyqQ}u|EWk!2c(u@p=F9LOj#EP@A4(<-jHhwnZtf*pgV| z21o2@P6cwFhdmOV8bBo-=p-a zu033!?qAZA-SZ-0zz4WBL$oo8*HU)h4LowSOekgd$kLuV3+2j$CUhxu5Y6Z5HUm$-LyC}+ zdxKbKX@5=i_?(6KgwK`v!SvIX0Pa@#;TWaTa2{B`5FM;-75E>0*|gWP?Id z-Z;zS?sXQ^5U`(4k z6FWINQyK6c9c-Apu3%k$472PEcn=MRdkksjSdXhvE--g9>kYMIJ;FK!jNYm=V;r-} z+K2KRZ~}N4y!MiEo*nwN2JdhWrmYf}7IdFVf|nZ}@-ao^2>dfeNVt_q zm*5* zDQKPwu(n|SSwJ(!!(uJq!T1r>OEzqT+21@l1*d(LfQ;QIrh$J-RbajO$`GHUaTQ=C zBP*(acfhx#_ul!_2e_Oe7q}pP^#DCR%+6jMD46Qv=IcA(Rj0jmv+)gIQg`HjJ|`Kc zx0b=;CyT-4J0rYg7~pd*xfWE4(lS8)F<2a2gyaF1KA;AwFdIqxHoZ#ykP374LI5{9UXE8U#rWlf z#!n^Tc2iKBGmuptad4p1i$`cTbQt%ua`QOt5l0G>37rgRbZRNnb+F_S<0GROM^O6J z5NqFknJ6_q_?}yJTn!F;1b&V<_`pB<;+x)bFOwoJOYpqi z59)l)^=tP5jBJ8`cLn!dg|w^WsAG3XB1rN;ueWFDh+`RW<$Hl&xsQJ1UG*>D=5l@k z{~)?V0mDM{oma1nv$gfSm|@Jp}8!56R;dlEkS#y;_kbXXvynCb!BE?LtSXimw9|IwCM64s3wrlq)r|2emk&Js)C2&SFvVL?yc~r%4vp?x`(`$p`6Oaka8%b1tA-Cy+l^(Uaw|IzGdZ~!yIh#f?jQa;C3r+4W*e~ zHZt8^(3KAjouJT3Fa9Il*zK6v3F~QK2;C8>dG-jf@ave>7#Hx>Gzww3zVowb%vKnu zeQ=K%VIQ4?m<}AAU3KmsBi=`c@&K2I;e$jy!4lW&{n4P3?aQ7VUM5vy&e2>WdX=dY zxPu5p%OW!c?qLL?p^b=XUamc@=u~)i3EjAV=jAJkL?uo>DLkJFi}Z7x`JKBv4;IYq zkI0;HAs)WhU+M%N2njB3d!ah^ElnY>j(+P+H3u$IcuTfkf;21aofwiW+nH%3=_iXJ zjO4E&jSP5G1M_T0y3MfRw4EFAIme?$7qDY#Wg=S;|)=bTeE zSKgCm(w;QUrI2PZPSoqoLC+USQ$FOe$NAsjV?8T61?ZJtxvUW0Jw+=f2ROzX@;~Jh zvGy_z^($=6RcJqPYaruoA0#V^T(%SSdgBMl_K{ZRBSGQ2ZnrW7#{l4UDodvOvy6_D z+EJU#{4j;LkAjqpS zd^&-8!`Dk7%D6oA{j~u1NG7BEcLim+1n!((0za_`CXCnD5Qxg0?PD~tP$lg>`5oy1 z;LM-B6+UK_39L;|lQmSUbRRym&>pIJDP%ur&n8&V2X8WRkIm{V>^$ISr_ zcVBUFN1e+<(zSn#90tx4oR%RFjA-2E=;b-^Rs6mKA@NLcd`h;S33_WFuc!2s&wEA<9SN6N4C~qN4ATrQa1#ALhue)nw`_)#9{|(9Z;5n% zMB7<>=|z>+6DiCo%&;v*O?!tSy}ObxXxXoa*soooUyq@@=X)vDR!G7(gK8N-M>h|x z?d1>c_Z49x;7km1D-*RgNP)p8>ZEIKUi^&Rf<~+3XE?(@fVi{kMR8OJ_SePIA=(KeHP9g zltE7(h%12{BS3esT!j7{J_sNiO@`m^$$Z>3?+rMaKs~3krBn`;86H!ji-aG<$C0ki ziJ{Xuh4n2A0v=;)&_)I5LO~E-!l22D<_xs2#(wI^PLem zRh*1d#VJmiD%9wQT!!+O9Unrzd)1}?2B-fN){aku3;(Bci&Y`ARQbuPcHtJ}N4o#! z&M@wDJOcYFcB?(x>b`;W$wId)J=riX7M`?xnJR>)O3Txk91;^@aElFT{EN zIm|z6-3uyOr#PM`DIONSM<`$^o74VaK_^bKD$EVtqe0;H-6g9w_fG)#dR@qAmX3lxxi3bPcSckuG?ktp&RmkGFQv4$ zw+A${3f~Mk>BNicadV$S9Q2+77R8^V^qw=bu$NLit&jw8co{e)b-QJrB>b-io@f?J zURT=bB;!=ex_Zp{I}di_{P@SIedPmS+DFAt64?F~~_qkSCz)H7&(&>I_E z+8a?yTuMSPzE_EqYkjoai^Y801=>XQ{&HBs6(A=6(;P-VsWjRWe`eNcqb2&ZX5oQV z8r>Xce3{m=ws-AToSZ~|EWsl^TFZJX>8r^X0PZH)8o}PIhgFZ(BCy_REegaRyD(TuUPdw3e@ZqoOAQHSF+s>`vw0ry(m>EE*BbUkunHhk=gD>X>B`7|r!`&Mv&$yVFBIGiBF*`bo~ z2}rX1y5@}x{N5drddjUzJ?SQx+<`!SCpvKt!h;wq%^C92h`li|Cv?{CJf)4tm?a?4 z8NSF;3uG9Vhxr4VUZT6s59mzJzE#OR^!$_IPjRAv&TutllOH zQ}?Z+)cwO(-1i`z#`uUOjqYUmtXq*%$L^!RxA8Zb;2xGt(3QV%1JSsRVtVen$d9y% z`R}SD-ln|Ed!eNlqLH%z>xI{Qv^T|45GsrEP+squnU%M6Hl9tc;4?&NiH&5^3A$9K z_d5|x!YmZ>=+q!|%P8Sb{`gYjk9J`;$z0!3*m={NtNvR+6&KrPql8{&SA+8q%rZoi zPIpZ01-u*x7WC`hb_MrMeD`ASzM^y1>7)u?q*H3^Q8RXKs@YD$^(LIFSHnMpy2|T) z0;i)^qfWY;Wu*;rF@JWiATCCp<{-`Tv6`}Rf+JiPX;pK3=#wlTUxohK!8E4S4obtr zmnZ39>AU)jhK)!(MkEn-TO?({h=}rt#9>6p|F!@=^HN_O#@vcfk6^$Vwplo5?eCdd zzBrw3TPIDBA}{Fmz|NR_77XI7x8e||_c(=P@)*m{K69&Ji<%IUoWA{h0%XNp-~DLI zt2qK>)G-qLi^1R0{m>cW{(#(K+$_UuqaZ<20xA*kni!!KMbiJ1r^>pXLGP5|l}7no z?U?lOn)mzgAV>Ly{b}$}&OenW%3dBHWqGdn4aP;_!3?8PRGJmLkcSu3z~S;wQC_MO zexO*6cl=r-og_-1ki*JqQRJq<=k&=2{;9`t6EKY-wd*DS4C5^1m@y$om7mvg8K~pC z{8L9n)UpP(pfAAxcvT1gtUtp%-G{NEIs1FW zX$u6d1)&dtbYKw{((malr=iiFb0MW91+57~2>bng*Sryay=4ac-Yt@@d8hc{tFb1F zyg@Ha#Ir*R;WAhANXj*@cPP78wi_TGiflgyy*1z;NdBRm(6_%1(U}rz54CM7#xozm zjzHu4eZ)rK&JDOLiDuIvFeOz|08?B;Fv7#RV*Y@PDe^NJQIQpR~195&jf_&(l0KHs=0k>Ln`krh2oMgUs9G;UP>wg zzqO^(~gTdE$*v_RWKJOYNnI7)>9ap8TOwQ~F^< z>-@#I zFf*}Q`OweK8wKvj<$7Tz?xz=*+EyL8oG*VjK>C~cNFQ(G#a2%aM{{{yPgLjKSyBC5 zkD`uCtxADiYyxrUkPqYRf}H9L%la4fD~#(chb)n)bSp_6_{q(uTzx+dSAg+XLpM29PVU}nT@+Qm9UzPaPrIl;Z`nJW0iJ4Qmio=xU|$69D=VJB$v`EZb2y)gmaX6r_~nDHI@EEG z#APjT##7szcs`3?KF{fOzeab3r_z1lV%F3*sa(_}L}M>B1$)gn?0EM|N8TS2#N~df zO%NAFJC#|gH&NRx<#H9i5B^Rr&ChDVDKehwNO0l?Up<$lWi>{He$8gTgwU^Pz-Jo= zP6BuScIQ_4l*T7NRH!m8DOGdwIM+4zk;_WX_A|L0zv~Eg{5l%N0NuX23%A7meuuYvy}KJ4R@^7F?Zmg76w9b_E$(un-~tEUv) zBk(Ote@8;`k3#W@P<%2Jzk|I6JR}LPL#IT4S3@z~!A5^Sh21{AS51-QI?yZn-3vUY z_^nXExnq4@6) z$$fez)YmEBmwz8bAL*|{LHRhYM=8fov;J`0^N1awwa)|hyVJ3jBfN<3$t<<}@zOnV z8T2bS>2ECA@A(KG7jHExxHV=4_c-E?dV9O6sdbZSLw&;*b4w#vAjfUu#-@%oi@A}j zx7kp@F&*{`h;`swX02biB6ndkm(f<%x~WZUw71%9=0;JM(U_UhHYJLiwcgOo-ICGv zB{8FIIrhRChDDt?kuE~5o6&%`$c+RnUKEORL-FEJyd)Ig6pC+d=C;+_TdXacIBUzs zR<6;!p<@&ED+Xhnh42wzv&31dMovYd2)^2VV?dCRfJAua3Zf!Q(k&}y{ z0&w>suPkVttd{T;I4I53KFh`X+0axiN=QET8y<6%hImmInGk zQ}GuJ{^`YM{xrhRy-aZsv0>q&+{H_7x_Rlc{DQ)wV##LO*oMIn8!YCAE#k&{YZFGp z+5+h7GR1Ayc8j>RzNy138agvNL8*~?!Ix~NdYcvB8_jL)T$8zlt8Z+yo2+dnG;dRj zxiNQhMF%5W_WWY^rawm}tCE zpS^XHy}sGh0T7IpI#wCA<9g3^9oCli+(oALOjgHOlIt~y3JJ9++#Or}CUdw?p=QgE z(A|Gs*l4nBk@YL)Xt7uQIt7`$hn!z15CNC;Tw6WD_54vs>FIr6T;GA&=)c zB_cw}%j;CYDmq5N&F_Vy+# z#0xl@(W;%1di%N-I{4e_JWl78QTFw6NGz zQCVv$uE;MaD=r$BptPd4xVj?0Y}})YN>h1p`Gg0xCaH2w#rS+wTFsiOs>xU$2~%Ze*j)s|f6g;bWmYJ7jg8H)02^T#EppQf79 zb>qvfEiEsuTvIzPRmGaJ@jaC)s|!ktii#`7B?*_GUsO~*?s37In%l?yEUc`kFcktO z<4dnDuBlv8jqw?mu)MNpO_>b*(u&gBQUGV&1b~&VsV!b>qIV`KzjWf@$nVN33yoj& zZcW9%dW%*TeNoYJyYkDbi}Qikv3CTSwr@~cW2HkFoFl@*s41B1q6 zhE$wiyQcaJ@vYKSRa{Xt5lf4zzig`gN~sALZL0h-KG%#Nk@0WyEAk7C zz;sh-RZW$tdabF-SZk_9v4z0C@r@l#Q;0cKQCwyU1EhFuX-)0;fgDX)R$5^+6_wTy z3KSQ9L2*^Zn2y!OtK|f1TDG*bZflVjAF-je(TsUbe}}!IyAY$A~%AG_!1@X@j$0Ghc;yA>A zM-1}B4I)lJ93O{07UCNaCn8>qxEpZ^;+=@Ch<72r7x8Yyk0ZVZaUbG)5f32VgIE=h zeI(-9h`)n)IpPNquSHA+G$ZB_-;Y><_(${{1-(Mg5xeO*;so5SDTe+r=XzzGHVD93T3I6f2)fTnWbwM2v>^HwWXb8DMu zvzu-8c5owNd#h+}X*b)&4Xv&1O|A8f_}YwN%HfKvZ4Iq0E#`)Hti~CQVw1IHOB)`` zg>17nfu*>9&T8|W9azb}uU*ER9rNLrvZ85iYv^8x9OEH$Q4ZNIKPkf54wWZBW zWi>QeQDG=^4mXNgTiH{4YqPka$!u!e*b!oWn#^rzuOzb*$lo~HAs`~_n6t-htbjT*$5DEd+)tqB3`bBXJlnvlQo z3zAn9n2;BDuof_OjatkK%eUE@tPS<;XrKrl%#I<*;fiUg#yEk2N#$zH?d>#vTQNSZ zcCo!4eWyyshH*LZONOPLVF=heT8RG?+Zs)6tsC1L**Kcy{3ezkJT!O#Vhk(B7laOj zn}|7Nq;*0G_j!EUut zPZ>;GTHCD~LtSqZF&Rzh`ihrN8XNMrAfx1 zBbNkX(a{8QQJ7y%!)p)m>TIN1=Cgqc4U>-TK+v(a%p9@WT;Gn3hz-+;D2WVq5$H}; zw3s{F$InsBb#tdprbMgqYinsvw0E%41J-W}O@)aqV5r#1m3K6?TWv^1yE`$Qq#i`g z4$jir5W?(iK!lM))V|SbZ)+#|GFs>7vxRzz{lX?}PpE9*G-0D?zz)T122;xjhTXKO zp_w@0U=YL_f3)V=8rw`P4b2S`%Qk5|ftF}8yO5AMumu0qRyxkcs^FB ztsOO++b0!!J;W?R{(8(P3yNyD&_0i7oz>RSM0iqF4yFZYz?e)hw*-9?7Nq<#hOn$c z)&Q{{^d7)#tH-RSJ>{(;wTNvJK#w+Zp`QqTQL>du})6R z-q6~-!P+7(K&=~58Y9J%OKkgmkz%v8!QR?tMpGM6>Nqern9Q9r;WRb3cK{z4lQ4dm zGbUzeo1Ecu{$H0sZ~s+pHihIh0_!_#Lb&RNR(qpq z2TO35j4@yTTuBTF;a*L^K9C{K)=ZOgBhY?~VldLp7Fn#6b}Oclh#jpcr^^BT2Uj{; z;J+hfITPxyp*4SWR2XAHi#dcVHnY8HyGUJWhYV({qhkc*dUSH~sDWG+tdS%TEZSC% zhXvtQVSNkL#tNDUP_PpX^_czQe*uruwo#A}<483S(+BR&+;}S^%VT}GE)kqWw#Ep{ zc+h3D28Y33MTEb!i0UKeYyu2JbuuDFo)<(GyM)a}onuM$q24}1sd6u(MyfaKO%1tXc3sqV${eH@TzS?%LO0X4p`S|%co;IV;*j#`^qyC|X47wAF2={N?5Pe|*V?7I(#JHD6 z?3)`JAS|HHZJ*GVP=yRPfKS)0Y^<~SplC8ejE-mckvzi0YKF@g%T~sA_C*C4-tbNq z`*GS|TWR<|Kj=WQ@X{p@(58C(2Jlcw+SC-{Xys~TeGjV&0GzN3t11`4i$DNVS|o4o z#?LHn4ciyXv%<_(cC-WNm<~EaCZrZ@+aBIOp~ny@VB%mTH;qfVD0AG8+)OTioDhaa z5aOxkR&bT{og^A#Glwexw@W3mWHNL{Qx&4gcAy+-bV$B~kJhFRLJ_VQJMZmG_7N_D ztE#uso{uYSkx5ZCrV=WGhy;_kzKIK!#xd*(?=fXk3N0S=&NvtND#C9O-a{Bfh=ATV z5g{F6F~XM+j0o!x_8}ZbIEK)H(2d|g7+Z2=qSIj$>o?LKD>O_bhN2#i&S!Z!`Zui3 z=j1Bm+2reRn~Y>zTd*6Ux~R^{)qHM~`?)GOD|lQm{!F9x?~~_ zwj_}hZgfWjeV(}i3+BdF>}4ixP2>$LbX4K}DwC*Whd4b@rTP{b#XDM<%#T(oS|~#_ zH@tXY#TY*jt<4Z*00GUTXfq!C|53w;L-|+J6EfIQR-XaC#k`HdodKkyrG6{Ksk9{g z-^XEmSHcW3Bt6^0l=M1dJ+AXI(|$b+xX!-dU-xn1+-YlW9NieO^-CUzFwNHU`} z$_FO_POTOlplia!7tk zgb{537{=tch0-cW>Z(SG)&IE^WHwPD)s;*n3}x?sUshpdd3hyN#whN~HKsLdN{jyc zvPk?`!-~R}YEx}~0n>c{e^DTW-ON~k)S;`2(Z>B7% zWPKQj8&hqt(Wk@^(%K<-BQXHup-4T&1Wgz#igUQ~`c7+eM>CVHw85l?(LcsRh4KKA z<&+^@Ft-rlowzNMC15}-THWjeFf@D0t0R;`6%Eo{w?_ zT-E>`@Iu(AcC>KiV3TS)%-mOC$yICV;3T`1tEp$^BHZfw7EUs603_{T*6fJ4bE}bO zbw?AI5A&)TGpqp{NSn14d|?Ah=Qx;VRFxyvq5Sm!AWSqxgME}i;2uKzjv)RC;`b3s z@ZE<{i;&TLV@BhR8QZC@jCwI+gP36!Git?*+d1k_BbtaVQG{N#QH-9o$luUEJ9~sq z(i`-%!%koDhrYtpZ9DbX&c2}24HoLQwJF?jGxdBsbsdC^dJhH52D6=D&`L4jAU^;w zB5>1B$Q&;VOQs5Yt}{`^1OH<*~2f7(bYbW1mw_ z$X<@w@`ZkmMe%%I0@L)%kHT;sOEB@<|6lK;l1Vp{%!kVl$H}2T2gY}Ds4@yl7~bJ; zcV|P*o*U;q@BqG3AWH;HVUxj-1O9*NH~FX{4L>zc!^ba9QS4NRoQ^YaOP_vHC`i`` zQ^n|y68`wkDXUXD9Gff@4&HxT+|z&9`|Zk~uTlN}p|~Tl4JBN)68T}Ukdim^sp3U7 zNB6#waf7Su&c{C5@Lse1*te#(t5vYo}yBw|)H$(f!&$O4L0S zw;PtP`N16tMJF^Z7biCQ+RudPWUfGA3IeHoHbRP!v$?IcWyh2#A^>UOhiS{j&?EME z9F3azhP{Q_fC<|1DlG&GJW9)!%cLaqmj>`mPKHNmW2wF_e?|25DkHB*;>IA}^UK)O z?B8)51%i0^@421yZLHGC`6iFlSiV}6G&XLN^GycUSiZ3)s` H9QXeKp=*jE literal 0 HcmV?d00001 diff --git a/2.ble_app_dfu/test_image/app_dfu_11.zip b/2.ble_app_dfu/test_image/app_dfu_11.zip new file mode 100644 index 0000000000000000000000000000000000000000..c12bf727d3d981afe69e82286c15868c0f5d6aab GIT binary patch literal 54405 zcmeFZe|%KMxj#PV$NtPF+5A952(a0cK$0c8`GG`0*=)keCJQ78wupLN47Mj=+W^`I zY(FkP)CKhl1Y3S+i=w?ERkOkMy2ZGWANOjl?Jj5=KuavzB}Cg364;Y$$bR2*Hdt+Y z@Avci{{2l}vvbaznP+C6dFGjCo_U^Wa&vq(p?^Dm*u3QAgc+e3Ckdg!h_n^0t@o6b z-EeQq_X%Mv4>q&pZiIUfRvu+)ybJ?)Yx})Yvv9i7r zZ(8+jtRn-Bj1qdY@AhW+mRvy}rGUdn*1{*1J+yBKa^UHX$>MdQUNniE{BI+<`%>FK=+oav3T>j^syS#8jZZ(R z%xE$_&B?1rbo|CZ$sEg+OpbIZ*%r;S#|DpbM+Y}w_oQOBcM`pj zhSHqeG;(6_=|cS>(q1mIhtdufi9~)kPQTbjCUnSMY>9&M*EP}7CkD4ppr!TG^`$q6 zMIrsPIbyk(gfnC0l}Y+T?8{|h+Do%)iEJDtrTvjJQS{8sSaVxj>jJ%;N7I1Z*T~SSWANIxLe`lsrRwuLDW?hNOh$yNLxq*p_Oavzw2aYv!A!~@~0yd z>dzB;cWzszUuYw?c(|&|gfE+vfhY-4ywkSoXC&!DAJDt>4P4u)yXL6n3rD&x=pDq8 zi0uuT?3_H1xDushXnqE%PlX842NJR21n=VWiTwBo2MjD96^W_!*kdOLU7yKY~u@lsx$@$%*tEy~QY8w5KHmB`9l z<1YL@7kA+I=W*0Q*zMh&oZZ;(CG5dOtUbZ*vmZIrY3$#`MkH>>-aMw_EZ#PA?9Nk) zse@7bYej!2gg1*6%KwR*{p`NqptX01w1#CAs-5;B+4>iwJ)OUcb}4E0V}o0>xQfP$ zliX~7JIA)4L#hd>o3m(IR_*2J3z}M4OLk)neFem#b?aQ_00HfB@&<($%|YJ9$-9Rw zqPdHHUx~5kMX(2q3)c9J4aWM+NhkG0*z05>#A5F%Q-r2Rz=N2I%TZ2Ts#K7n=v{h_ z6rc>9p9VK`GuPiuxMD-kxeJVJWO*%5DSUlvodbbVJBvWe&~fA3r}`NCvD{_OWz~3B z+laBOezYSI8%StGQsj`o^!{kUaV3YReB*$`wx8|fD)|1*DsDd?WB29wKU8uGNXhc> zna(}HEe|}O?L-dlq;yu|+gae3wQ)Py9ZNB5)9fo|x)7dNwf|3;?p z^gSb+6ut1ve!Z6FoTgmq)DP%6cReSMa^)gT%Tw5W+$^sDXFB$0Xm2I4)kHp2%qy4l z-Ye~O?&^8oQzU9BRc+J@<>Kd2#&#!KYqH;r)^5(w78ixI`71EmY#Ae`Gh4|k_{Pc| zDvrc3E1yYRYbh)LB|)a4tOcAc^Dz0TlS5mMpJewm!bpyb zpayPc?L}X9?Zrn6dOUSXp<_yLQGQ_grX-U7PA$VLdR~kL`uJ@$W^^Z8UVS_XfJt<{NCQp`UFv{4CMHeECa>D+l z+SaOo-pv%A!Wc|$<%3mS=cT*XP^{lMj`g8&USJO#^F7kRi>YFTKf8hK%&wo%K*#s_ z;rtDn;>qFW4Q~H_Um`YP%SyIeK~kcGFQMHOCWT`_3_elwNXJys^ehpcR!rM%>$H#vwu{B!nTgo; z#G3=!bjpSFGM||F9hE65hfuB2-6WX4UO{t8uMMJ6n>^K zLgelm0xr^8_d34u?%cZ=q1}NT&ZCNHCgt(}oUZ>WT_2z_gq)xje1B__;i1wbd9#d+kA5&Zi3lN&7 zCt`aNkL!%;R};QgBDD%(E`npazN=C8E;*&x8D}0JYLr`R+Lhk)%~QwMK{B3lqqf8l zIi*~fcWjW$;^y!+wufy9(-xpD|BW`V4JQ?XwIm)!S})@;L&iFpaQG?oT@9y{f{J5< zyl_-;%uK{SN|^oI-8&kVe>V~9PPo)O$mcwz)RrF`bXFWy<|5b8gx$XtP)F^8>|J*h zaUymw39*KtAEx|ciW#A*FcJGz!a|{_z2A@b7ZM)-Lv9UnnWr)M^-ZHCa;DA0Z}znD z9_KI4GpId2rBs%o*EiDs=|i-K+LDD4+DooyRl}*fh)oQm%x#kUq{3$(Q!EosDtg2P zh)sx#5StOtK%9-(jyMN#CE`594#XD3wTKH4yAT&4UVwN8;wHp)#7hxZBK9DzLc9|3 zT*MM$2jcq?*A^U8TG7LTZ{TfNIVU%AN0rZRO~kHGeyKU7kb;xC+RzVVhCPPoYrWQ% zq+uj0%aWs5iT+jiD}m>^vucLC&A|OE8{T~OnxR%e^x3cNlKx&k{cGi?q5K@+-YlF_ z^j74lIi@TtOul2^S;C#gY%C`>>zT>*jDU2@JD3#{3KFrujCCu-nTY)vF^~99V??0e z60y@`v`%AvhWj@XJJfq`R?YkBUX6sVMpNBs4Y?k37qK%A(yeo(%CG#IU|&X>h~rJr zA?YTLE*hJO<0y?mi#!?8Y==xpwuiZ6I&(nxp)6<`9Qy3L1jodhjHTu-1M^;IxX zrea8!0fRfQ&ETFW5#bpp`!TVaMSE9;USL_A*+UqP&kR$Cn0l}3*}}7YV@;!^P{>2p-Bb~`vkgf^0q>(FW9e4 zyK%0A4Eq_ZhT9;Ajmt-NA}@|JmKO#r-0=YmQ`BG?VFt(uH<(hh-*K{!R9k9NYL501 zE-5+P6X&pMlH!~Yn~%Mwx|Swl_lD~I9N_+2g85qN#t@Sa>8beh2%mo;YCw+9qlwsp zL@_vbBDVILgw{l4^VeFS|ECrdTqGp_BF7yW9|PJ~Dt~7#%4#G96>SHc`j0clagr0p z+EAT{EeYKsY5I@rCn%MKl^-43tuXc^26J+&oz>MeJrVm(f~ovd6eTuZ8!rmmP!bDh zuu5Mi-g=sq_g}r>pX#3Kn(UeCwlwCoTHGYxY@OmU$Zro%af5R5kM$9TnfqBMH!U$E zHImzq3rSC1qZ~xOBgo2iS4q()VGeupXBDlT*8HTxd(b*okagUXNMjDRw>_z7?6a{t zuDwcOk)odP=TV*IJo-%Oh|(TyW5!yRP#U4_EL+Et9?)@XK)+DGh!oh`o^dkRCAM}| zNKAf~+Vf*qnaZ!zhg>pD2`T$o{WpBne%UmFYbE z7;U|PKvQGEu+U-)V$Cf_ zs5p*1$$4>V_`^PpeRmxx9G_R9>KBpsm>+O5I|mY2J^c99gzwC84iFY4%V&zovVmbz z8Vc)O`567$kt5N`;-%)7bA>dY%sVcLNmmSVAqQsHRV3wkRbwC4*({`L(7j?LUEBu zJWOak_P{DXC!v3p2s4+jXqd9td906}zqoqh3cA16Sw^EV@U>)LuZK*CeHQv#3LLP) z-&?N3j^+A>-kKB@vq(!X6Z}gpMUC7{?># z5HtMIH{edi%ACai38XUxNvN5_mHuLpQK8wv6|cNa`4e~*VKDkPfw$5=LW-@?0v{7c z9R7P%8p|5+uA?mkk1Hejc6`ensq){oK#&B#MM}i}inT}ZFzT1o5es%>uZ(@mP3QdW zt|bd7y|E)`PZh$=`-A6{+KmerIxvzCVh$1c5ijWcYd9&7&~Gb-zl=g>YO_F}qL0)r zq%!-rk^e{G?ml*FEP7|KTEg7;S~)g6$HmGshna&_py?sRHz7VTd?H#c3DO=X8=Ul^Z?k7;d(TUq-XQ z{fPYiVYF`tNF^E?pMxhF})))%p>>xK*oyz@=$0zsASQ96$=Akeu?X_C@< zBJsLPmy{-31AiMdKf3k}Q^PKa5uORQds5sf3r{ItbFm}Cb4>9zol>@#7kemW98&ZS272d`DLvUa@oaW|1-VGRzBe%)4COXO}FBz5f?L;Us^N& z4(4gA{IHXG)}iEEx|Q0R6h9=e8kH|%FB@x274f~6l~8_`W}r#?l*22&LD>FB$Wg_$ z?u}0La~&k%3428B@lwK&>ANB0Iu&ilow+;jAUg&5;Tpz9_BLL8#Au34a|4d2MrOF( zbv+8P*C5}%J1DO4X2u@rzIT+`bq6LTOXWp!-I~iUJ;+qj5)@Okbh0Gf*ZtgSh)^iR z0(pAfF@+!BDW+ORqT6cU8%SjRMsdssRE;&4nN9o2U4FQx-TBv3q~y;LrgHr2%-zm2 z(I()KlUVEtY6XKIumtQ~(CbZW60yOzQEvqYIf;`Xv1c7q^jWQSO=Vkw*{zV;&cDq` zXpaUZ2*%t_Y=*PT4NN{KPvsa$R*rJEzFM);U0aBb7whI4CP`)~hrW-GX=^|WT{|hb zUE$}X_^Eb_spMzGB3Pe7X5^{yaTNsmqCL)(Q=5E^R}$;?I`v`BSK;?cHF?P$nz|Rn z9*nblI~|wCDt0^VfvG)N(4Nl@=54)u>x^2y_Jz*ZFMEGrJe~WKmxFsB|M+ohEnB;@ zvlD5lJ&e`p%@(t*Y@DxHzSUg2Y$N6Vu1k7PJnFin^(dghTC^pl!BoG*mu(?&F5`Wv zBFJ0nC37od)qz7bAJNrogsfIpc-+fa4Un1#qeUn~%TZmd$wn-?01-6xq+QcskTfp6 zz{szTBu@mOOTqV*7z>)0=40sjLIbbn+Bcr-uJP|#_-?{?M$|XxT|D4y8>tHF+}Zg| zoG)X9ln3bA=em^Y8Hp|%FGJfg3o?h%?UbJJO_Y}SxI(T%)4H#d?g{o0rhf~=qaXL7 zF03UX+IHF|+8#4@);!jhcgOOqSPk>_a$uC|s1@Xq{Hz3C1B!G=I`?jzlQF=5Humdu zm(C&3-7yLMsr!{bjWJUOs63l0vciN$oA)}AT=p&|1A4wuX7o=u(@qK!Q;`y;QZt7g zT$=w;g?QN_Lj-i#Z1Yn2^?)>6YIl;;b38WRy`YV(TAQ~SF*MBlCm5%>Xj4@n+nsGi zEpcMENwpG>S`PT{@^O`1{}%oU=LEH$Otqfhk1<91Fk6%oCPf3086L(`)upfeB6Dy}*#xKB&loW-Xmwd{3H>&b*pTZl}pCtD3$eaJc)Bmj?6XRHq#e$`Mw&gWd(u{6=aQ-ba)j!cU8&4M_d!-ZDk!ew{4RfUHg0k6li2;?lF7cjN)B@aJYll9d zb1(BvoJ{rDIew}&O2k5MC*wQcPSO`>q3#zrDcZlu*P#{XNJ8*gS2fnz-(9Wp+#(gX zxu0?sZEH;U~Om|($@AyZRrX+iH;dHSN8Y9}w}32oQQKk4_eCI5Hu8l%;&>Uzinoe%~2pg+mV#0cV-Q#hiSRN@a}-DJlz7Jp4XtYauqwdVv|wr5P}>yujl;2Q*95 zto=T+v!rDo;Rj62xhPj`3TXuGS1>gLdiK+tQ&E~?bx-tJ+{=LbZCAl>iuOnJR1^9b z9r?Xca>K(zlU}o}XKa;_D(4N=zD8^h4-LJ_VvJG;j7-18wR10h(8qr#5t}w<4uaZO z{^c+H?k>e>-t6o5az5Ke$a#QV+zb5$XqNIZO1qRtUgLR`jzLM59Pq#@#OD;UlY7}M zmWeNcrWcIyVrwv{@MeB@A~p-K=-hqAIdACdt7OK*L$AI1V)VT}@|{7owZ~t*-<|u= zul-Zj<+d@iwI%beJo_s1++xKllhBdPEcp~6fuPyKk{T~dQV>r@$ZgY=eBP7Hc?Zq2 zDH$Hdb34L+j)#X3=WbnE&y?qG1eJSp*BRS7M>bu$&9HZ^@h8crGi$L<^)9GiCT;UM zd|WwOyUoi&A`L|E^387$>$3|rao(zzmP$a2ayy&KAd zXEtmL((}sY-sPUh{xS>p6?@nIMj|DbB8DH6;=hHLdlNBsY;lxW&#bjKWUL~^(a26n zj-=##n6ds1T9K|%Cw`ZY&WkShO;=Yewt|lIBcnH=)N)YU{i9`3#`+{q%yPHBqU2ci z`p!zPD7h9*ySbPBMmkMBBklW%X6N3iRA=<0l4s{$f^IcVrd5lXu3J4sJ{8YU_lR4e zb$@v1gI7-fg;Qai@ln{hTf~Y>1UhN~cW#QG*KHaiN zL-59}sRJxScM-pc+x_af*TyX0x6vNf&Y(ArQM%LZQdo;{4PRTis_se4Ho7k9Jb#IL zu|^VM^MlA?-@IwH#I0cRp_zegg3Tvvd~<+HU+p{KV$Y$tN zy|?K@ceZ4-+}5%TX>6Ps{0;0tTIvs6b}S**Ch<2IRU#k1sslgyFp?)U*ROP)Q(p2v zLG6M@I3XzBf)k#(;u*!{SyXGsXzYwLMc)l`Mb|?zxFvE&J=RZ?Db9~F{U(-COypZ0 z(}0;Z4d_iqS}2zCUdJ*79>dT))x&06;4>|W|U+A1KGaAEX?;XL*j(a*H z*qhmQhe+X+4_D%}Zm&3G+9?s%h z%2dA4c{)n=t@clYbaZdco*dS)dns*AgQuWDzmeAXLMO3W>uI|v28!cH&^orn6ar_k zPN?}cI619}dx;3NrbNs#azm8GNd0x>T|drYZ{b>vrSz0fBWv|qy$=8B8L*xaxHarS zJ!mpA3?1rNc9at?M_EY7py2POMwg{>@%MIYm@Ty-yygzX*@$J99AIKL`?g3 zj-OMXn73(7t#uig{j`ole!6FYL>#7bdHKk0zeeC%8DQkNmpNzvPU?V@o~yK#RAx^~ zQyf}JXZMgg&*=P02RvQifS*E{1t?kyVmUBcXEUXX85zT_8)O-;B^!C2{=6fBHhp(39rhjDNBCCqj#s z;-PYWvhR>V8|R|ESi5cC!|eHf_?&WKdnRNyoxFRD69mYj#Mmg(Qz%A%8ts5I(-Bnk zO?pt>ABMRieMo?G&xg2yM1|nh#*ORlu01Pd)i!&Dt@~=5x4xk0J6`Fu)i!TDaoKy{ zfvvA}9&%QNUfjqG=rvT@KIkkyZNpw-TDS-hKT((>BV_yus*InMaE-mF+t?jF4|(^z z_x#pX>R#gf#?^>5{hKwP;L8@p>|HqN)2&Pe)BhrK-uvlB!$7v-*8?QIH>^s(PhA@? zD*YyLOliv;SmE!C4-Rqh?1C3MYlGc=Bzucz)5c>P>8>daT15kP>YF;6F0ePgq9#`t1mLuP6WQ!DbaL&h!GqY*i2G#AwsREpaH}#+Z4*Ms8n4yE6{X-nfGkx z@vVimTeiOFEDDuQ;t{i<(BO?v5v=$pE^->j1!gIk(HB9F*(Vk3%-Wf~Mp%e&W=2kM z`FffH-$!*mMxWb9_j7=JI4PI=fsPy3l!q;MHD zE&BdP44>8P8hK&p^^q+@jTh(VT4rb?%*@xEf9t8lc@C9Bm)8E$dHHlctiuwqw-Tgi zFnn4ej=z`sJZi>Dxa0y!H;OeENWm_dq{kxWu4}1|iwt`${mS3dZ^XzGr1LcY*V5C; z|B#>kpYr$rYxr#czl49|^Z$@ePtFeFOe+!V4AGf>BxDY3_lIFY!$|vbVJ+uj=A7+J z*jNeLSc`d$xhq3jkeBUAX}uIpv&5p`)N7B$p1xWlt(G#Ny-hpqnqu~3D9qe1q~dK% zoU1(~WvrhBn0qjPv(``z_gL(?t4WQv3P(M^GpV+NW3g61%98HL%kcC`D|3sty&fMJ z%4%&q2>= zEUr>_^=u>+eN_?%Br9ro&hydI5Br$%y-xlV9rY^gUn8NaF3Q_>i=XrvYbJ=Bu){V& z|Hl|!cBY?vXMR=a9WhI0Qkcm7K~lg>dvkzEpLAM3kf{28jS{6+9-Z;amo7y2>C!%W z6I{d;vQM*2dv1Q;NoH=D*aT_{CdiB{k>03f+F02097|8Vk<(0#SZyDy<{4d#7b>Wk=k4dVY{s$Y_k=H zNkNH?9bgzCGDpgtJV~1E$*VPrS#3AirbQT>6A`0XGz0c?19sC}1BUd;Jx01O%{nk( zH?pD}6=g;n!7r=*9e#Q3`%y{>_(}{#XM2oP|5j_X6>S%la2sqG ze^6}dX)eAuZ0#v5ZVoR)UwmHLQet~L^0R2`&HCb44|8CNl8=4W*&QrdygeD#j6XMi zEo}v!R~9qjmf}w$vnAMVY|ogy^_pQa4rWi_QetZgJdP&+j=w6JStOZW)Q$3*gw2X8_+NTF}Z+RWC=YAv%p*8%geh1gyYp>5^DE>S0I z<67}`=j0y4K;q_!3Nw`y&l_6y8g0!F$F9H%k+~@mTQfFM(V9tdEb>cdXsG_RYi+s@ zImk3QdhPx0vD4!<(bnZjiP+MyHWe35W5lW#(4KPGP+7fEmDZjjp{ziPm?3(DID2(v zG<4^t39w9TH@gXMu6KZkUyT)xrl~TK8=6hMD+PJF^=Z&Q5MJy4BFcFtN!RQP=()hJ z5Pl3=uYxSO5phS7?rT0#ioCwyt?pZ0^O6t>ZgrDggui9HmP^!y_;B)zxM~l44L613xETX( zUPkCb;7uI40YOA)L5Kys!4kL4WmDm#6_luOO2)Bur;07P3s~uXOT`Lo1zdufS6?ty z&3hr*5X^Pwx~8hBhJsu*^%E5BF20 z>&}Rp9-`$t5X=F?0)xB8Lv`V^Mjb(|ykSgRZ+Re3(7K+$j^hL5r)PLH{{r;8V7y#a zKv*a&ux*$V6zT=QEs9$_`k>^g>SBcg$+lKlzYe`DfbN^xvHTGBF}Ag+3wo}iPRD~Gp#M&I}bHANv@@Eu%5`k89?Mc{YavV)v zlo*WKeoSod!CI%v!CHuHcr)3)9<=SlzqfCJuz}dBsYgMCE3$`SXJVZs{n?Ydezu<} zv4)#}{LqnPTlR!b^=UGn%nhI|yF#~3WG{Pf+q+_i^UDZZL?vc@Xrd^rHM?^{srfnJ zIq8YC`ZV&Px~)7pVorb>d{eOTY@^rEz##`C>v3%Wvl3@jmXmS{34b zfOb8gz5ESmNmxo_hoap-e?8W|j%Ssk?Z&v~GJlItOzG#CgRoNPd0*(oelF$p_{bHV zXpCQ1dlWer1z+yxHFwW13f(PI$%DseD^Janm|F*;e5Jl$OXk*=h;)@n4d;u8`ZXz9 z`N71Q`8U+glWwPHr93V9X_SF1P4$5%f2{<>^^CZ73Tz>Sc4w)?ogxLlbh1547gKR1 znl8~5X=H?{yjdKK($fv?wh!{?3I1f(urnUmttjM{Y%y`<8@w5u?n`(sA2H45sT+q~z1#6*u zo=T}VVbA`Wg0n>E53ge7XGOcJK{UYTz*~Ja_Fr#PJ>usW?+XY%%|Oby~xwrHMt=hXPvpNc?)tEHA_c=S7SSr z(b(Tqi~Z}c+h^x6wh2AdLJGF)|H5h!z6))T$BX^|-b3Un<>RPUHp734`bANjNou1? z3Tb%@Y#eFdDGokEp#7(IRn(q}qk0uTZ-IR)ouMk8Hp8xPx#w6PZ{6!T=jn669@S4y4vUcX`*^9ZsePTASV{a?hu8 z{hx7nn%Vwi{B25weX~>3!=A*+2>V6UBbmGM#S563FV1smp@msdhW!m*j*QkR&@;lH6AIE4$+QAd$aRz?E8cZb*!kDbVX3 zXe|<}x*jRKjCRuUx9?*KA&g^IAa%jtZN{#~o*M(Fopas;O)_LQlwLXk(0Y^?)g9W^ zSYRx9woGBr@=Q@yzyuAeC0rHELJwfwVxi+t{Sm1)Ed3kM*NzEoDZxZ+f8xAEDI0nl zs^4q98rwRCQ(Ac^_H@a4dN`D{H=y-kzQW=V78mdm*epE>&#hyUrh#kMxFr!g1^aDE zzIk`uxMd*x<9LMsFJ%`u!a^*-^YyKD8aK6s(iPRfBW6peJIAZI&{Go12267x zr+$aB%)aCZ&0`(m0!G?SCaFIes=B1CYs;A&%oJIpbOj&n|$+xcN~n&Fl<>;&Pxq3&}p*y zT>h2lsZO13a!>nLZANYl-4D`su>%g`==2gVY>%R2i~Xp@zElzHklO`rguTSNsr^z_ zmpUdGkMY`6-x8`91YM}Q5K^#cA+rlqyOzmk$8od06VzzaMzC|MNP$mfBKF3ZsfI7_ zyuAJ4#*5X=#Yi!0b=`@EA zeWMq&-``dW?SlWEK~V1?Z-K27yoMStirQ#|%y6A4UI>V;;zgh|12g@)VP?+qys|L- znpu7Ms@jh`GZlUYC(ko-u%_0*zAD#g4I3}_u4@vP0Sm_l8TXL^7Fs1PpM`9H@0f1H zIQXt&nW^bFa_zv??a1Z!KWE^I`7q6y8DWZG6Fp}J@ zAHf+SWbR_RPEk6i_+5#>z|N7{a<$?)4YohC0w$3SWB&s^+}GEIr{j9}XTg_I`tY98rW{Lx2BK^d_v3^xw#Ttns3 z&P3x7v+e}=WG&`?vBii!uJSnQ={YsAL=iZVzdmg=gC}B(1g0mjhv$utm z)Q6X?It}S(?+OjpK57m8vk-0Vow_jEsz=%1hNmpZgT-|swl2}U>Ur#kjz!M5d@8y9 z2UZ9zSosCds`D$F?@h!uB;JVbQi|;&Sa;C zl92XSqnrxuJT$#(T??4}J&xZh`U%|S-ZiKTQ1g3XGYSai!Wqy^>MtG20e9Ihv>a-p zyBiC}Yl&Ou%I3Wk)t*E!|vb*?QrTNIMT_7tU~x;U9q4UDg4r@;!;vm7bFE=F>{lg)Q3f*I$gW3=y@S|V%# zRWy5)F50&(Y_ebMdfq()_D`@7X}Pwlj?+}5R-`nw75>PHSU>e1Dw-RyG|nj0$2AYp zk$E4MRPQVL?e8lV^0-n&==hwyYKKkrX3rfc^U2k-IKjSKoOHx4omH|OwpGtKGkPju z&zhG{O5(6qIfD~Tb!2`-gojqpUGCGEopXY8&Jvpvrci!;_0Q3COMf)OLidu?R++Z% zANke)#$#SU{)YoK@HQ)0L2mGb%_8M3XdfgcIkq>V4|CbN zht6dSvtv2ta*{($Mww-0`%varDAS(E{eQ{NLvIE@K;Y+f%n#ohGjPP)_kA-0p9dEhK3avo9Tc+6?cY!~Ps_I<@wNQmNm!hf*D%sIctS85k%)>Al|8WvvbL^|YmxWNS~94bd? zyl5^nokiVRv>@LPt}=TOaY|i1#t1c#uqkcbhv#FS zWDd|=1}Tn*_q0p|ZPw!Xa+nB!Ff$AD)AZmeCHp>jT2in23E)w4zdIkEuqSdty34&k zf^X{ya6AO_36)3HP##sIOz-|tk|WhnPR35JQKq$0u0=T(I8qHetwzcB&^1DRqg*S$ zMzMlNy&hLvrSd3?%A+WruHlICsDgjsQS>__duk33kbCGEvlb_BJHQ1W*8e5%~) zrpV+*yHo(HJHvyN0#1NmL5}cZ{I61sB>7c^w5sJGZ0~C)!2Z4vC)%D>(wQLS&HPi! zGA1`jij;7=Mb}Hc*eJ(Bs>;1+iw)y^OMc7@Pp}NjFgR2!O54U-Mq@VysVpqlQT^m- z%mteZUNrYGrRFeOY7gHX%yo^%Ub~v>=KE{etlDSWa@>>dKIEJjrsv<;i%7qNyOeYJ zt|e`CWQqTrvS53fs{x$LTRj^4&Q*PIE3}!@Yj3Shad)=m-cCx-hYhMv%sJR&074z4 z#(oFSy7=1r+WrQeEV29s?fM*{7vWt5c!NTQeHC8jDA~5ePtfK=3WML5l%x;(Xzak7 z^a<(EGrxy2N?-%@8X9pDd|3oY=$|I8FC~{A^HO^x)AiRom#lp7;m4kM?1^1_=-;t- z!#(HE)4lEY(AS%%}Pggb$ZCKgtp4>_b8;1yb zyP>rhza#e&;j_4w(a46;5|N>6w&M;!{PSC*F;Ol1Zb9SFyAON{z6QK24i)NrrE$ph zK$Dw;M(q#L(O8-CZUMb_YBV-QsZw)PBFBc6b#C7JCBEn5?cE2GIZ_punnO?=@bAuT zbzJ$Nnplq_SDJEJh2cFzA+VZ0l0 zlRzBn60ESShw#p--(OTypT`YL6Ri8A@!0VMhY@%t`Z31a0=oGOaW8bDbo_bH*jXL- z5zb%QaH8@yb`YT+q|-dOXQvqU$pxe!4j<+JNvpuufXmE6?k=u~>4}5>==lzXi*tRB z3FF-5ZK_R4!mSGAxpO>uZnMnt8gZg0H%!mH(tzW1>zP)wb?=%C>+-dHzT;9wIp!F2 z|E}O@>>0#GK}O7I$N;Xo;=I_e%lL@){n^C*!F(~bAr#9UEE4^v{q4lg}I2GZD*ovCijIg-1S z_J}Etg<0$Z>-{>aEwL(5jrujG*4g^kC^V4BnNz!|^+J@^!xgbT)EeaOkQTXd&w`cB zr#C}eMdpYO@AQs{6Y9G@Lh_APJy!lM+;O0TE|Z>YaXz!n9ALv4wkctASMGv* z$&bAf&GoWcs^BXq&#Uiw5q`Xuz3O{*M8GMI;OUK~G-N@`nB^h1GZEYr1N)mlgp(e3 zC&8Vlzd3Zo@W1;@cz4}rQ5o(30wH-@1%;(8f;|sfy9=$;j<=4GR5!Fm9+Oz?r{4(f zSYW|JDA!stey+1Ql!y(D>HR6frKqKK0CS3-^HA8djvqqTzX9RL2u~r5#@-HczBx8( z1E>#cddxOsINvrYO!b=Ivc)6&eObWhXNi^g>F9rRxRc zrac;s?G6&b>w`BnJgBMvG{rsjoF0umKKxO%7V}_k8KrR^cN=XP!`YtvB7SLEPOf^( z3?DvA11xv+PjpP;xuTn3p^1Cprr%frpF7?n=GMn!-yWTTQz_;pjr`vuwU?Uih5zFk z2Iuyg%xo9cn$mjV;U&L4M)Gl#6^qNo{XDW`E0wcZOVn zAKwUq5~cSD(R2FGK$}CrSAHi;GP6Lx2n!G%LFh!t3S{LoSS7!mVD@sN$FFng7wGE? z#yzuHlEg?nW_pWa^6!4vr%{$I(go5Y1~zUp0*k|y+Po8^R z^ViPJ=13g^SEPe>%3E^~a+9TySjJ)x9KpA`gW2(!JA6pTp&^}1a0B0uhx8vx2J8UN0Y&(09m2U(djxW1oWBxtFH64S+sTZTZg=liYc(ynmqN%_D4SdL&1s=AVqP z@<+gHJmyQpV3LJ~UWf`mI=VO{Ve$*=(`B~!7)xxix0De@{7I>+(U@( ze&kz+v}<$XVdOu6kOe+gMNcmmz}EhrEH}L$VO3t^MZT8DTrmrGx2(>~2$zVdxF3Nd z@z~8HR44WsZb7s74M<~=|eGXyHvoEL4{!Kea)+4Nk}0c4AE(NMTgJ z63kgS@~o0#an8?=Sbd~48*3YDVf*zAQ+vn!+>dVwGUYov;iKn0ywvJr%B^0jkCra4 zrR4)CACBbvC-=@7*C7iV z1>Yx%!K}AlT#8=9r*M*0@Lqeqm?L=mnz}G6+r0u>sJCd5BU2t@ahmZ}KEZpqEe@RV z6-S)E@1d~kRM?kMhWiTc#PR%HfI{o(1MG`SGmQLP83D#_U%fYvK>bD)<@>QgS>LLGtk)Sr3_VAln_ws$a z^S0%&wZC@GyR!7Pv7&ib7Qe<-tR8Pk;w${nmb?ia%EhI9IkdkP9}Ayk3(|PYa(|Da zhb`Uea8WHU_m2ranwo_^{#2O(t*=Ag?X|a&qDA2fcxf&RTYc;RYkF(`yepGlV~RA9 zb!{yC{eIz03}wB>&I{#+I@yDoeiQ8Y^{w!q8ry!PtPL2qv&Ga$ac$dPCwuA_POt3u zGO+6G^#07*-q|g`>P3FLKA+|sv(3Bm<*T66ibE>3?(DRB58{coDWx}wJuRd#+{y?H zy^53mc|%KHOU@3=rf$=KmOBEBy#H#3PgBhF=qz&d2Scv!GyQ3pPmPy;a_hSJL#LPc zG`4}$NcZIAcspC?_n(GGMC(Q;6W-(eyhkHwz=f0anE8zn&G7Xty^v!tR;yG)F?*Zu z8eWrhG$VR=6|o(Iu9)Z>Ws|W{zAnYT>YfqbC1aeu#PqWUc<9-8=h5+6|EdL+{kHKD z6TBLQ>qyorc(*OT2KU-{p&Z8Rv^rkx>Ud>gylCq9cv+|&32GYL>pamTL=E}hivGeG zKS{@;DQXYA>%ZhD1^4AW>C~Q?04w>-9?it>wLR-hi#+GdI8E+$`I#zjC%nBX4|JMw zqV}9qdp65!@6z1O%$xyVb-GuKMIj4`#0q~5>Wjhh;07llvr>P4kAT8p4*5Y;WidYlg zp=_{E^6yY~gA(tL{88C&=WSB>kIFNMS5gd{wkT}3ZlFz@{=34-=_k^Emww`>7j!ts z){!lWz59>K3-;#bKPoTT4>Y5`d#TsUab?=^7nFj^p!Dm+AQXKzUnygjXami@^R-V^5h{;o>Mn47xcL4>Px`` zEiWi8J0zQROyLVSWo&M-tYpM3%G{>rm1@t?YpPcy!NOKW^}Nu*no0@i;F|)^yc=;U zxRGj>rd4(;#g)f=8(YbxX<~|>DdxiG*TY_vtaBrQA@k;Rx_qKx@3QKu2pFn5)Tw)KVn!^6==N zS1p->Q%hS>$cTO}wxA9R`fD!tA6T_)3R_eZN0(RX579l^^%A zvtY#zj`Ev`1}SBB(2UxKqwo#85=KdEJ(XFjXgTvPg}&W~{5!%**Dj@u?5=w%in~jqoG%0WQ6PqR%8 zn{ArNv4`L*AKC1C4it=?hIO-VBSy!s6cp@rUWufvC$Jr0)PDRC@V*Qm0In`VqE~mI z8yHwao$uM&rV*Gje|&I|!yOjy<-XVXmnii%*siuifX;IZa6`w#UP(}-2U z=h`Ta4vv}q2Uc_b-E~xsvQrPZ$>|@YAE)7II`?k%lO|T=P z`+X8x33-oo?`z@wId$~ih4*!VM>?s*)(4Gb)#2+Gu^TEL+Uqo(B=Dl9=^rL!*m>rv zyU^*<<$m-Q zF$;xA&y^`0w~vK~Qf7}6zv-vEzQ=uzOM@9c=dKW&>&)Hj)b!|UcRMQ~n^DUwwf}_k zW!hSCkHsBf9((aA&_mRQTf3TUqmdikM}23v?sdi@+&0!W6nWG~eIM^p@ACaJ%nW40 z_C^?~IwGN!)37UtF0+@?#<>Vx#}csyDxC&-+=f7Lv@n#{@b5mYmtrbQ>V`bI1ixu^ zbD0r)lINlQlGdJujM5z`7VToP%({@*2VZqnFZ_DgfqE`s{{?H&1m&WF_vL7^O%v2M z9SG}HSU*lkYd?-se6%4b0oXVm*5KCi35|2rTg%63L&{t**V6%L17qF6a(K@Oo+VPV zCl!|B6guZkbvqP(9?6f#el$Xga&U78-%Ba)EU3C4vxNGqCC87}L+R+r5Y8SE#{$=j z%=R>Kho5=oem_nfaoa2N(rB#VYL5SA@ukiV+~vZ|%q|^_P#b%>%Os9Ojo1%P#Gdqq zF5J?ygLy_Pe!XNVN^1LSIi~ViZ?dFatn^SyqPl9%x5a0k^F)V6G}`i2eyep@l7IKr z5%?H-Az|6i){yodg*QvkYp=RW_E3+>_izWF-aw`^`+ninoywY#c^bE)#lBRizCwNs z`_n^Y8gtWPQQ!Y48IARhPPqa8ZnL7%sW>?wjlDBEMUA^g`yXO$pW$8)n)=4*x#;zH zQei;fbK)&_!*#BCC5;y|C*+H}a7R1?JMG63Y-#e@jJ%21!wIG|&6P~KRyGlPAjDx+ z_|J%QgT{4qu$#>np_XlRl7>PkV9mXm=;oY0$p428@d||4(i20v}a%?T?=` zXI^`b@lT3&M0p%ez&qKoGWfEG1wv&(y%s?LFB!LiY4WKyG+KZwVq*xT& zB4{O0S|f#^wzt}9J5y~N#J040JBnHd5zgc}zwg>-CNHt=y`TR-uxHPlv!83Pz4qE` zt-Us8M>L?EI=H5bXwm(_C0)8j>5}%td%?#zAvKv!{XR?S1E-^KzG(^bWH=~C4c4$6 zO_1T~7A*u$>R6rtX6N~HknOWN1j|8tB;?hJDElD%kx)4;r=v>whsnz|k5f8>@;?SD zy0nWl@EOBDUIUNBwBw>VzUv%eq>|?tQCkDQB+98aYMES3(CQkZsIl80!dD0j`>B-3!dC*sKoBP6#opB;GZERz?KSr z5%X)W<_WV>mP!#vQHELVe>+gOJ>GAQN$^a%62V_W9eR`=iPE14#z6|9Hy;AM0(WtY za^j77^22r89|RY31fOZ(6yAUy5ps&->U~Gtkdl~>*xv{wc#^vQj$etQe%}#C%PII1 z0M%BD-*V2x(@b$KKC{HN_DK&VZjXEz_SL~7j!9QE{F?2sQNs7fJ7#p`UVfQ>yW`;Y z+{>ys_>L4g6YrnFQ-9DG18<1Sue+MZKZvtP?_vdu-j^+@k43-_Jnh@!Kv@oB6rMzQ z4&fBSPY_5Nnge*hFm$+6k%jX9hI8iA_k(^!!`l-{JJtRQSV!=HkJ?P@mhcF9Fx6q5 zah~3dbm3Gh0z@khQ=21-AO{J_ zd@>~R)ZQ;Y*!K}UV(2VJX$JHf?qNEe@)l&Nzk}R^2g2K1$(Pw{HHE*KH&i^h}xDWAVT?@mvg@o!!}O}exIaD!CO z{}ixF0BoZH+sQfn+@QQT_)j05A16=RizR*@bhD8}nQ2dRCU4FK_=m+je&YiHXVPZ} zPr&Pi-n^na@46;!UDDU`zLv}1+H>-KU*2`qlzn*tFMnJ(wiI#^H9T{x;3=8<^3ovZ z&mH8_giB`uP0sY0XR;*&aHAFN!y)SbLgZlnWL82xdX}C?1dsR>4>Md3!Bw25z?I-P z7lCB>od1zQ4nE~0l6n8T0S)%!YFI2Q<@O9Ivgl-_#a$d0eP{&!G^BzKM{CjIx8ft@ zx6DUKD$?EYnu??JQxV^KI`8@qA;09zkruT?J}>z+{+I*pgb$Dkcqtt=cB@Bv;b!Mt zzn+M8B0qSV#B$uRM zWK)X5Qgxoo#>mzMh$F$7hhZ*t_NCoM0pm)z`mQelUdefk=ZnK6w^f_tiXi7M#$2cg zOW9T2LX@yHK)9SgoFc*Fa7whr%<$DbG^?9hC0J(Fuya+ZDx3wKg|-u{9}U5}1~I{9 z3FPf+=}31DIHDE9HaE?+qyb}>mO-0lynd(#?-s+?IGxE|i8Hx0PPZaogh?%#v4*3B_=k0WFBF@DBV88whe=w>2Dm>|P{eoh!S@Zv zT&&K!eQMNO(>7M>v#%Ky-x0r_x?f~KIhl9Uk=YX_Bzwrs+ z>tFTm?BFwg>E-u;&cq+cJMX=X<-qvEV{pvy3%;dgqO<_`avZyXE)SQofKiv94_tPi zymsF`ksenU?x?aTb7Mg<(eOUl26Aj~_m$v&-=;l$MuaE5DBWTj87)e4VED&-_$-|# zrN|JpetE_y}FLiB}x?;3FVW`){fLtAeDZ1eLA&`WyPHtjfqh5q5 z7&F3`=dr?eA)G{@6_-|9nm0H1*Nm*TKYJ0tC*5P&zV`)g&k6py`w(N+Z8f`Jz`UcI zA2|O}_|jT(O3{r7e)nKD_=Q+=T&B*mJ5%Q+ii10hFiyV>(y0g$eA(vVNu}BDNx-m4 zMe}EVte>xjmmI)PHLPc;HIMwmXGUAzA2xTs27IrW3H=A!{0{ojfc8^=a2G;I<3{_} zXM4cK^-vm>1?_Xq>?EF=ev^Ft{u7;O=OcXzz0gW+p4&=qvwR$`S;NnRKkMUqc+Q1h zG(c+<*&}|<`)BMg-o{BZA!1cPd(a|9T~Vv^?G3)U{Aja()yLz`-i_A1O~B3K%g1 z-yWKVJ3tmnZ~LMQ|MW$}^NGgDc@0XgeZ2ph0sdeP(*5^PG)qVI)eXUeP38gbAANl4 zWuMLnYY8dZ@H-!^0q(+Pb->cnO>|=hYX1{#eMS3p(t_2rA=rfcs5Am{|IkK z-*eBge}DE{K7KCAcz^E`=FY-7N=R$w-X_5oRwN1iyG%ae-$4>nMITIUZJ!~)wi~D9 z1OfEvrvcS5($sw$J`RP0iS42DK9B`E;e$E02zr)bXZPfi{7(gKGU0`bR+839mYpDLf5F>=LX^B@@z&3zrcPoIK`jVtx`)5zb|l`rCs>sQf6R1 z=llyoyuupbq=b2sH;20tBf!@|Olo;DX5lG~P(mK*i+zWO@G#`~(I(kvK0#pc?F)!gpMP3apK1qTgs=*LG&Bg7ww6L zU;J`^q+UOuzWT$H7uOxn(|Gtr3GktTbX(Myh@aVnazFEstOYp2$`IW7-8*MRngR9Y zN!>dEb+YLpxKq1>@+ZMHT`BG;%sIVRpQ2iDc$VP5(5Jv1l0d-SeEL3|BIo=GV<0n4 zfs8Zel5j|rG*=|-)&2zkoti5dJW*tv=r#I0fEq{k@$ts*_e2`jJl4EaNjZ@S*Y5{18>DT5^`sIZuE4M1r)5jd-juO@b_XwhG=d_QSi_B!FeczK`oyBhl=b;L5_eS|3d|Mt`y*Y*?RqHy|A=|erE;%! zMtf){t%Aq0=K_&Aw8!QAjX}~}{<=RN<3Q!|DEA(W&YRxRT5m?Je(wtmSNCF`{s7@L z!adN3gR6)|X|bCm)iYY~=xl#u=Jo+jfXw?Or8@=x1|_7)9+VRX*qs7uL7H4ldyhW( z$NguaBP4%)m6rux@I(~T(<6AQ7H2}wO~3X*%T05MXztTQ&pdT6&>-raLu*^B?R?=#9&0^%(H| zhn=w*U-BHmtx|t;)6Vg~(0|gKk}jog2kmE;Wo-1U&iL4S(fykHuxmOb6w?h4z{6CO zWY`guw=qudhyA6NGEl^_aTIZJ|KB^f43F1aTr-DXR4cUu`b3mM-ZbyS}W=E7`RSO4SqZ^+uz21=w3oN8j z(msg(Jm#CxVc32E<<5|fp=Gy!W_^B8PVCoOA||XBBteSJ>64%CrZIJ6ENOhdg7^e* zYXbu86mj;Pc0U2|2>NdLH#i$-cGqU=7A zFn1yRX7fi?{>0$nJ%)C3DLh~2be>e3Xoqr}N8h`4jw&PWf~h?UlKKaOv`^N+`&k|A z81ucru^NH_(wcF)`1T)M)ly_n|cGfnV-@7dnX^)VI7lishoU4gNix|Kp2hX@z~V zZ))h<3s{S(pX8_f$!ndthtU@ri9IJbOPweC<==spB=%@RQfIO~6N~no=$Ahka(2yG zg*#@7$rdq54NjMFezOBYst7-y=Cl3sRru1a>6&VpS~NYhH%fsNjQFg`!0yx!eb_Gy zKt5C;9Me2g@~IBeu^*tezk2y+G)Mb!hXsG|kXyq>pMFONX(j#cfX{cOSFvxRafzKJ zaFqx!N;BS%b$l}XWZxv2dI|Sm8eVcrI7aLBUhqsBv`YsJ<)0ByS`T(A^!c--Ozi zclOKshu;U+{tt``mF+~oNG248l2`TaX{UazM*ad1>c|7-5;1CsRglW^4=1@*`-Ee} zDNPS*j1EaSI>p;B??YdYb{)Q^%~vgtGR^3XGEHY1mxO84rbW!f$Fym4`{jFwKlJTJ zI|*O8`Td@B1x}&@zBm_8elDR!*wubKPwU;)aZo3C^X*aH zOe%2@J|2;R&TtVA$oXU7gO2yRf`kbl1Qhx4u>ATt+zniY_i2WX<9U;MX;vCKk2tYT z;2g_6`Gy@wIt=gzf5hcHTicOd@Y+e*6E5oG7t`1jgxW)MCAVW2I5J4(rG>DjjqI!G z#$DHz^&JaFBmz7afaFgQrAvm6rzovRI^=`2@|a-*uvcf&vk^(r;V(sAkV1bjDQAfb1DgEH$`EK0STRt~nrYgnu#KaLKpJ9g%%d|Bi1r z?yppOK~&?2D+bap+)#Td+%tk#_`M46b?iMSe(IzCeTK0l`X^&NZ=Ef0Ie139lrNRP z1kXzv%nZ)(C8@%`18YV!-K0=sYKJ%9&PaG*PcW_WM3`228#=hmm0r%c(nI!Tw7Xaw zB>C3^-6Z?*-;Y~m;fF3-bz}v&B?$%SZA6gQuIE68EL6#{-r>xH3ZFH>zl@+6z+(D7e z%fqi=ZsAU@)NY?z`k7C!P(fG~&l`>`X<4U8x<+NG0r?zG1@ep4^WnEach37X!$X40 z2Ec=0Lok_Tkxz3eb0pLbugt;d=y|b{Za`H(yYrB9S0Lj2lO6oRWWT_xGoEw_SE2ze8=}aP#R__;sN5mHc5QfFi;I#Pge*c+*#Vt6<@BXD`+cSSG}t2`1A_ z4a#@m*Q;HJan@(Ib8|<~G}D^~9Vh31D;PA|UFoz3YcW9+zM0Jp(~jdEN1Ze~j=SQ- z#7o%M<-Lp3OY!hG!RZ~)oo1ph_XRt<6F~hpbxa*M6QYJllIh<;@`d+(YUt!rd128n zu0E(f=WMUJjoIp{J^Cz__i0Xh+r8j=eDFo7+$=_YCAiZVyodhM-Pc#4X%5PXjJjyB zqa(gvBf(x5RKklj=x8_L-HSuKl!N&*7xTwFG_7Phq$Sfsa`Oy{EL;QfuLh@Gda|8T zzZpCVIZiy%LY7em3z~g27SY9uHpnEAJ}4k}4+_b8#@pk1>ujpgDE-1mZTs;Y1wYmx zCb;8n6lkiZO8f;KBn+{r;TyPNEdaktM6DklGIrhT)O0F3$v4kxM50{;bG3vU5u`{j zc=@~f4UJl=cUMAey_HuU(Oxk55QiX`Pb~1mz`C# z##FA7R?%Dc%eP`D4IerzfB4ya_Keag^*T={_7uzlHugMyl1u%;$>4k@RcO;*A{g|` zQ*rAXXZ#er9o8T4T2aN3WpwTfx!cszv+%7U;tkPoIxi7`d}0B_sVWqkP!(kz>|d?)%)c%VNPN zbIA!Qq)QZHRsK}mNd~^nO#L9fjXe0^_Ti(Gt_Xq}J4J0p5a*+exEW0l7qkz{hhR@H zaGmfq1sw#|8{WSY9H}Df9+q7{UjPh49QfGB*4m!GpdAwIxyerCNRJb`tiw2;@&v;7 z;H@<%7Y=lSBK&b+VM+F?Y+!Bn7;R5LZX6(vi)1rrhANQmD~T;_>zQGGw?1U z^zJ;~m1Azv+dTu(u=b9}+ex9fUB1|m>@^0bst}yY$}@z!XD8#=4}Gs=j;NCbF775} zo-9XfL--ED3kZKlcn5HK58)ER2#nYXLOr|ZL*J{TQ}6H|6z?SbqrDQ{iB4&0Y-x>6*aPtECxUE-e94apC9+r^>JDn>3<7jm;q)D&5J3JA|1W z94D&>D9?3ZHQ^GZ4)8=gAivWeS&B1b#oQwTsL!Z;JRslQFQom|r%(GcaGBcuIt8MO zBJSHoAQ}n!4|(?v@Jrcfs~dMia;C47Oa|@D8Q{{?SbbDgs^gk{>SMxjE%`}%l>D0O zjK!2{>lsLZgUkG&gK6};<$HPay+;buJwJjinnvVA@}0nYAQ3!4vRmHsD%NUk*R7rW z!6@85#T`~;*{Xxb^HO_`z{g!x;cY$hq{p!v$EmCVSRNdsI)id@|LZ=D_$QnQtnZH~ zRo39qz8a)}JkTfLy+-^4?EBti<3xR39qQ+j)4;z{xk&F=#53yO&r(~4!N$!E9! zYJhi3&T>ZbejV_=3V0EI5pMZG5uq1w56eFtGPKupMl2UhBICzYX^S0o9k|(URh<2f zu1nx_a4x9kORJuA$92A2Gx-vEkRk8rmae6ir`$V_O`w?4kqWCS?a&bA;U2&jOOg9giQ(DjftJG_rPkg3Trm`vSZ2Pgi+1{)0 z7oYkx!?%xsYlJJ*f9gBIf^hIq2nWexvjq|vM>p+F-Wh@JE^8 z%@pEsRtM}^thl7y;_r|*K$gL z*Br*Z@6auuZ0hUfpQ;QP;HUX#msQ-*2P$qeWGZ80`u;_s1!;Q_Iw2*yFudEy11j;} zn&O&OQTD^`lt4VF``SE}Uk7U_ov@~-DlZC_2jCuaIsYp!#2ba)uUKBmxv2Z;Tguab z{Ql1c$hdyod#_v3CG-A*VIJ5*w^r>BKIJPZ%Le8>;k8&Sr6uJh#bMo_pwE$Hc|!RnI@YBFvp3kN{Uxqd1Bj9%t zc#@YmJ@-Do6Mhh$ti-eL0xwP?yo1n>a1Zl;%VXC5*N`q`fkpRV>xge0AeoV>opdZy zahsP9C-|q}kS+b2#$~a1C0EVWa(8pz<$l0*b1&oB8|*oy>E&|Vn@fk}tpl4aDIJ?J zTAM8&>#G7O=1r@(ee>akQ55Ukg*dY&%byODHYUeyMSAOi)v_L`>-O;bQaZkFp&Z=4 zudS+cQw~MXOnKfLe$Q7`R1KSiQTrE?h?;X``P8{id%rw0Xt7jc{#eHB#J+TCr9~>L z?I4Sn?QJ7EZVB+{~gROZrF&0{3kn_3hc=1WOwFmJsUO zUSFIgwrIUOIh68SA_9M`)1v{DHQ@kCl^h& ztancy$*DrlbFfFEv)qXx`Ym9mlnuLh!K0M+B1%*A(o~)mbkceH&mX9(?OnB9>$=nf zn(L3{>3SD;Wp4EO-IW{6HE@mj*}yMaee+({@v65J2laPT6YApD__#ZjO9D5QFy zfHN@INoV>Y&K8iYYj2le-_@04cXkESqeCe>hnIBK*eO>!G@(nNgJ?WQw;A|z-I7*H z><(g`rTsP46Y%8Y6Fyhw1yfJihj6#bCl{RXjM^s`;#PX=f8}%sGxa^0()=WTabe-# zJ^Za7`hu|42&VS=l)dR0P>lCZKAR`M`I+yVSmo|P*o}Z2Fvw;}QhA4DRln$@J26Px zF)aU2AZ(?{`M2RItsP-X^vwaBqQJgNvFpLvR>;R=aTa2%B`5FSJTTFc)5|P5$p(d_ zyfMVfG7e@oc30H{YR17tSirmF%z%6?8s0L<;%;&cP9j$f$#3-$|MNV`AU@_!(6D<> z(^*}$S%5}VYtG*Wd3$WUUmcSG+g(_xqJ`1mD;`6RFbzwv+)viMuoKk4rt)}SoF!$> z4D96SOy!V#q_1wy+Pt;7(af@QNIuvX?lGj9qdl%bxxm~_tT)t-bqH$_FnTLfEHTU~ zYcI;L!wKM}@Y+kZPDAon`*^AS)U432)p&<{FrDSNw4n230=(StkdLV%hT)${E8$im zW1OcSwhVL+x(auvjpe0fdG+7|#(@_G^C7`2#&_Tf_MDYH^joHzB!)uv}wZ5n3PreaoYQC`TiAU_FH z3Yw<^tSy*-7SN2buvi0lFn$E}k_{VS_P0(%M)TO+2tL2SALTAK2J}VKY zx0b@;587m^29mJcswb&zet+ur-;UGUv^^ItqP z4!Y#cz>Ch4!?FZ9Eic7*_ICBl!vk|lZvy;p3c=sNWahH`=m5!#6m1p1zaoX*jC~*q z^$USTn^pVxD~W=3pJkSAU)+L8p>__j^R7R_sJ=N6QA%>bh%u!S<=Ql$Pks|{B-r_} zUelOu3ys-D#EON+Amm!OBh_2orR4KuzmrXzI(3I4gV;tw&ae( zZt@ZO67I%(4gNmw99|SqTWNlf_Ko+q_NfqpR!|s_(CUjy*Z`4WY-UCICTOJ?5ID*oz z`&s+$Pe-Y#!FPO`V>)oy!|-#&!3X}4Z(h*7{Riz6j|B?MZ|nF!EV|__-%?3?MS|z; zUQp-j-rxB4V`Sq7c9n6Ds-&GoN8GzY5i1Vv?4QzhHkUVx4 zIB?1xd`o@g1hfdpe3*O*Ob_R4K<-PU*Yj(Xwj8DP}NW_lP|i5cH$P0 zA;?IT-J=@!-I%?&33&gI{OM3dA?*Di>%Fh@uYomB@@UBrR-?zE6{j}M33kHrh-UcA zq42YWAnr6adU5wiilj>(mcKK!L#lv>;#aX|Q0^`8r^@R;@x6e%)pr{wGpkNztiKu1 zjc8h@Re=5vzU%9k?fqHhiy-AtN%KQC>L!V-)MZ)UuiUco&p{40c|qAQL~y$uw}#Tp zE*YNY%j?L6hE7l!rStztwRE~?w8MHD7(#bM>YqOhEc^y$HO2*eHH|_Tu5bT*Dzg>F zX&>BUM%YK^Af^EaXH}g2$FTfFe-7aC7<`cE##!RZ@{jt|Y+v^D;8Lj^bB^X3(W`W$ zz#Tv!S{9KmaE~Dn4XsB^^K#88RlCZ+Q|QF~J1<{V#jA1hN#*}kSZJE<$!*`&ejsl~ zuQq-9g;@Arf2kdKAjEmOZTY&%Z|U=SUDR7|>Ns$b!dr^<5~NvS@5GR7IZsa|Nk3T( zVI+S8Y2=WcJT%vNxYGt3PUqQS*@KlhykZZ^>BF>Q(|Wo9{0-?ZC*f8hqbDwXu4i`1 z9A!_MPJ7Z6uS!Z{oTw~kq2~*wNgwjq;jKGMp3I4C^o^Ql8{90I&fW+-$&$>Ki2 z&4X`^tx0qj>~m_#Ezw!YCTTZ5QzR`LiB9wv{%v-{zey1H&K#I&CyM><;NdHAg0d>Z zrxU0*e7y`sT9$>rzc$1@p3dn0-9bezfjg%c!%r-N731}F1fnu$dKgX2*GPL#JS6Q0 zocS}i!^f;Tj4ZxSv@w*R0%v zxr>{(Dr8x?U?|+qOq>}Yo?=kmJ`|TJ_UbZKz0qgpN-His4ViOYd5j@cqp-7AJ-EUQB8xOIrb z-B(=95zn%abnPF*hk)}0r=S^aF$Z znT0ulTYiQBjM5uVLkiMAkE-B57Ga#xZMbJ%W0nZ17I5XEs@TT z7}^UjpVt`t5yI^JH0Ki3v}X{~yQ{f^f&F@f{n{D&^?j80LN}$_0!jELP%Sg)=%)TP z-Tc9QfdWhfoQXkhb-cj|DKPj%qjcTJi=VMu&}eo13}^T+;jVVYdlKwrf`_p0H?$kO z_vJ^UO|UlxCkvlENGG&w!5Qm3@up}%KHS$8=XTh0+~Hq)&*4^kdw*9BC{*SkFJ08NqPd^JaS`6|aB8kE}yaqklQu6QYO{yf3-iHFYU5uX1~K*iBG&hA%XpM`S= zCD4-(#S}q~F+_K;ybJv~d=Nl3nh3w&6ZyF7@=Z9IKs~3krBn`;86H!ji-aG<$C0ki zJ3w}~N~>W1&(70uDN3u-etx6&sB!Kl5?X}FkZzhZ9c$qoNoPsHeGMtwX5OX3eH@?o zbRwOz4CCb@;3j8?lxCpi$>)w@ze4B9evClYS?dvQLs)^pe9Pp5uAErXCAjY}>q+ zsyGp+if4Khs!(O>_nJ#zc7F)@?lrIJo1E!WSUWxoF8rUK%?_2wQspMD+=*L|AMbq6 zmuA`FejN5y>{PMqnlHKZL_pnn+`Yf>kKWzeR9Uc1+(Tvk&bw>7db!HuqBzBX{8>kwO`5}+X`JD_Riqi!`Mj*kT6jD4`B zOn{u~h!+|vV6+@~!k6>u5NL4%_LI0D8!#c==o^73SZ>9b1xQs@W)U=7ZJq>=NE(iA zQr3&)@j6o6RPZ3q=&2vx@8*xeI|)wv)xhGKEFA??Vo$WF?2M>PXe#|doVg@VUutPh zcNb`81-_Ya(uo(>;pRS-*e9O^7R8>W^#0RH*h{INRY?LkyfmDWy3;;a68>8cPc(}p z*_(1I!7|0Zwia{#t^=JoKfWchJ9gFD+Q~(nzbdf5n}DCq#ml79@?N%e@ngH$gCSyMC1Z|>ve>JG$@(`2%X$~WwP#k5CJ)LyQVvjndU$B3r z-Z0Yx1CnwP#d+>0V!M@Hx`fBn8fV)YyXxW=}u<9|`1=c%*U4{5#ALc;M z-6+2uA+Zad3u{O##q2kG=$ZcXfV^S=_pxA3oee5?O%KTSGc*q=U+if&IBpTRV3#=m z2k^m2BgDbBS-YIWZIh<szpxBhL625#b)V_fPT4h-wN(8+2TAKgA;@}J5&@t z0ZEo$*X4+zKl-%ECw-da6F!2;R}rZ1L?`Y=co<`)KTTd5u{Q?hgwEQXqqMOYvp57g z!xvF(hYaJ&AirPVO?21u0iDU&yE3tho_{jwZ7s)Gf z^4^t{x_9uZ?_Q+STOPNk(48!wb*g68u=^1KxA1Lp#ZfNO+DCEq;dLhe4x@X$+LS<1N$}69qQGQ!{{h7ovK24MsJ4q%TXG~^# zzvICK%t9fDP7Ol0j1vAb5L-A}I?-L{vs31|vfLw*~N-mwRe3<_?5f1T)UCCE=X)K-ZMg zMX7Y#I%$GbIYHSEJ7e-$(1)|$s)L-#?-7nFW2`*;%%_1ZYFtQi`iB?dAS>p29za`O z%@QD^j+WqG4E~lLfX)#22V@uGW*OcP2?>%KP|?C`qShdar2i*Rl{H;`@}$8P7Uf*+ zsPyr={5^P(qx{0Y6nH4-pUDvwFON^KJXZ(ImWANK%p+1%niV^dhZj@8;quQ=UaAv* zpjeK#2MiWENt8M+hlACk%1(jL=@WJQGf(0sU>ZYe*GmJ_ElJ2ReO!);0p7r+p^iuS zXAX;~Wi@I+Un-f!Q6KdG5f;*gjh^(QmMtDILDNBU^~naps~Y%c{W<38UW^UR**_vq znJ;in2t5d-1Jl|`zh|*O0Zh&|wvi<0jtH3{y{6jsiZ-4KnGbPj>YTFcyXD)&Z zfyVcHh%LaKn{ZbW&89wJO0uK^rg-~dgoks*{C)*flxGU2sDUZ5IoIX$J!;UGODLo2 zvMRdP1L=t6RR6APb2wek$^MZ{r))H8BS> z6RTAK{cOKk;0|A@6=vXmdU1(!<>4#2%6BuQzv++n@J?QA_GfW4m)CYhw%?Nx*~@jQ zYPjTznXrqEBMu$%VVqr1Qhi}r|Dt}CWu5(?JtCQIC8+^Fx#?6)hVwN1;4Zt_gZsHY zR7LZbzE_y)`HnP8!p*ZLoSTW-n|ICAIn#L-cQQxM!rhx{Sj}oZ{IY-e)XUTvkfcg~ zy+9|oCfhak({wAIpvKL3e$QJzYHLmV69HbN{2b0|y$yW2S3*fbJW5LR-Ybb2QEy`G zbzScVbcYe1x+1E?4Egtfr%s)rd-D$17s30=@~3bzP>tst&S#=!%Q*yoS)aECb=)g) z8S_1{)HV;EC-KYXdSu^gbXRyX-4`xqOnH;aMLj|k_Ck}e*NnlAcaL=V{eD4QHbAur z;=(A8Iz#g&YD-ct)8KpG@0HR9SS>h3##0?}9^Bw-;xY`Z#>mjGS?re(`ZX2!?Bu{n z;LhL9?23Te^7Mx)P1dila#my^oo9W1J5ab zD-{13dVKm_lBmSD;d~DLJ^}p{#rDu|?k45;KVTC}&t2eGDE=s2iQ8E{9QQ~l{+~yb zK0O!e>!j}~zYm~~^w*}Md>q%MR^n$_e>m<1#BR{q7l8YnsaVSq&f|L`ORapobgxnd z{R&R_8%_2{Ud!X+t$G!=+NR>3MBG;EYPB{rZ?vwjt=nvCs^{{QxJBI1(AHwN)pNB@ zCki-f#C`#>5qwM1x&_O#7c_EdEhWtxTf}--v(ss-7maE4>1i#KBDth>=0@(ew3aW4 zX)VjJ7fv%TY{!Xo5o+DEI=n@0Bw+EvP@El#7lq=*q4<_id}|}Owbs?-Xxhj*nl?0Z z^|tkG8>wH>7~>3tj{u{Eh?gPcA*@2EL|BVJe}6~39$^zgGs2|FF|lz|;uCOR9S@M; zlTs<4=&^NuTWf1`6UXfb+@;#q+6K|)ay7fSs%U`1B)Y4kpRA&=w8(g;9`fYgNXm!*!I67?gS(IYg_$RD@(1);Os24O9 zf5G5i&Oi5;VSdgPii3#F3l?TCT71i`OP1#5BFdB{~ zK;M`yZgsTU#VxfBZ8p)|p4JXZjnwnMgY)xEkeZ9--XtAPs8=GwP z*$a&=uDbM*$5f1?$-2I|t*O4nNM&S-NRTNaZ#v4scP`n8A7Yvqu3t@1hm|E8|7fer(K;a&;Rg+QEXS!4 z5lW^%s^TIL`anBYd{@PN4BGJqzIze=fZ*KfvNmpPWZBLGSJ!~&A>N1bw=}z28ypzl zvP#KXwK_k)u&RoEFRZLAue4TuIp128TUJm~SZOUSuBs|7TRHY^xl~Xe03$pXH3G<@`BYR3h;}|imQtOoVDWsR=T>naE+DTS*6_K@q?qhD=E*ne9^nr zW&i3eT3PT#MJw&fEvYQbEx3~<`h44}s>>^LR~A~O@nFlXC}!AHTv}05SXu}S8jBfH zVQ%&6$}hyXa%)9lS;2TLEvWpmwfZZ?R$#QX{LA=UJ$6LKzRfMm&9{sJ@7Q+*6W#&S zt;H2p71qi%)(T6twHn3d1N+7{b|g(c=1^H-i8Tz6!ZpQJ)nf;8BxOl)nZ;UATtz5Q znEwUERTN@6Ru-;O60C08+|<0aNm+cvy5@Qt<~98t0#8Bo;TgoV^8X4kt#t1rrnx_W zSc5ovvcOg*5wQ-xmmr2bkgGr(f!K~X67deiQHT#9#;v5>3B;2S{{r!3#D7E_gZO_C zgFJD4h~p5)#$b*_zv08n%I@7|qxMUQVnfKE>JG)MBHu z>KYuVFqAoq8$qot?5V4{QC#0(v(|5D3o$>5+k{22k*eBS+tk`Z4Ps0beJPMuhk*9E#I+3#$Y1{j z$;e9jBK}isskgQ?Z)mM&<7id#TUmba(BK7#F)SNf5IPKQ zni!`qthKQg>>9YqkvgmGHWAnhwzD40CzT7}5{FmYw9!@%)~gx+8*O4s+xnI|m%~Xt zWiV}OZgp%3b-hKzcz_YCANgI^+}2PpB8|A-M&L)+0ox4#0F9_s89y4djV*PJ*cPAx z*826~T7U>KbZ+rUw}Y^`lBu!!I<#jSQnon36PkCbaiDjTq3OnD3oSb;4z7tJ7R zs2gAn0ZSn2ghD5@hvk=umlQX&H8c>$g?qs|z(6#y6Qh+*=tY|o5VidWHICL&TX$ER z!(~(Y1axY(iEZc#c1X1wTe8IBraG|q7$G9`Yvyp0=#|A1iOh&c?LC0Fsv&2eUZ7Vh+PE04FBnsF?pgUF3 zWNU97J4Z3sZS78l60OXwuBJKB+Qvo?Sidne6~?!Kp<+8%+SbtOa3U4$?!<7CS`alC zI7>%e2(vQ*5k?MC`v!-rrIqN*NS&Y07V0JT3mdULp|XL~gpHyZI~1D@Of4fAF6+j+ zM&g8nK@e;F(VFM1Z?Up8G&ig)+l281TB6DHhRs+7?ZUH1fjc1?6(Tx_I-^qH`Dmfe zR@7{3olxwJ5VHXJYcZqjD5}*?`#hp`4rf~f;Ymd)m=>S`V=}?q67;QDka9~H!mFn-*%}DR#QQ8!z`dxf%d{< zDOna*4d{mwgSJ(#xw&$U=p##Cs z8=s+NVusI=?<}?>4dV|tO7ZG}Y`|VNKM1T@;s(sQ4VY9A7|^S+)iO|qr<2uD&q(iR zS))P^BA6iJG%djkC}p~A8$m~Gu89SLAdXP^e_aB-{a3l!6jIg*tnaJ|;i~JJUG>)O zEWzCh#(d**B{3j`do>RGK!!MHBTdc?K>JaO!ALh-WU*4Z9GFHTcC@0BE(`P@TjDUm~N2-CCK5%cg`r8><9__;oiQojXHA+~< zf-aLaI1Kg*BK*Y#R39;C<6s!7qaKhC500bWy1``|hxCBQ*y6bfn6aMZaUn_E2y9T? zL}Vqf-YDhz|1f1s+_UkB2Y(3 z0L>(u12f50OS>qxHY$ZMqK|#o1Y{jIIHTn#vz(Qp6ymDgdLs_viw75L5XpM!++V08 zEg_mn#DJhdvBKcl>e^g{H4{P6BvzGHuvNaftu?ftq+OW8tRR!4bz7L1qitiBIJ%jn zG_3RyW_`>mfkkj+lQte8;pK0X#|O*vZ`#TD5oL=&i@-z{n`TdavrU;k_F4>1EwOcA zXExig8U1&qkM9IQfld8T5%gABsmUCdROWC9v6uMR9! zQ)mgmMjQ(ny`T*ycH4wmSojI6L?gp3WhqOir5%iEEkYBp7w_3lOF`c(u7WZ!w8ZwL ziE$SI0tOI0!f4ROQrWPLWTujo+~7O&M>;BE)d#*{{d6_6T{J}OV}L}AQI<^miV^$$H{&>dGqxPN1Y=nD%N?OC`a#=X>I z-&|J*VF7h++qkxbDrC3;e7a#}qn*tKMN<%BWIV%0^Fmr*pYugfKLM z5KlEWgR7+PB+(e1Ib0sNT`G|!Q=l`FDj!XD0p&=eL-HMbG&i&nig1P4d2eH~k8lZG zMXiJOd|YvpLW(Lel~55xB$&jt4P2-+j$u!DkExJSXz`$T#<{>(5q^j84niM-7JA=! zgj9q@2wy_5Ago2$i*N|xC_)=TCxRPcbjeYOPMcG#-9US+&@ho0ih4XUpOxk4->^EL zldFtnlW)LnGLr3R!fu4>qBZh0mzl6NQ8uj5QHA%bOrnw*;`Bh3YMT@kZ);*QKU%41p$yU7 z@Zy0LW9&dQH$spB1hkEy%~L(vtAM zABVAB2{Xu$^lS}N(i@ERn9eIq`;9Q*2K$14-N*5Br=_ueWMjbAFJ&OYOm8hf3`r>j z)XMTkE7SQ#<=?K>op7?ox-@iC(=1pZb<7U+N+9-<=Rf}qo2d-7^KW*1V}9qY%uWumFtdI*GC z9Zb&G1Tj^XIH8KhHn34x$UttK%m#tk9?($al~}6^tE-{AtAc(PdclfHXk+rLSD1+{ zBW&IpZpe+RVuFg6dOOMgbg8iQ$V4DLRsrJb(06)9zv+2sHrH*~I8hkJq}JFYhvcV3 z7|{lRVN`ybFRg^6u405({jWb?C}Mw6VCU1(Fd*9aB0HRSXj?Md3gsy9#;~ zMIQ#@##9?@^eHifv@QtVNDRPuC{j-`K@-M`;w-MTw%yU#*2rWlEikEJ^pEjSp*%oj zC1nT~Y)wRX$8U=i2^bKImN;7f13H`!fc*sF5Seq(tCr?E_Ka*R=y^UuMR`^68pLAw z&u+wD_{V5m6g&R!-jTo1^BwFDMo6FgQxfcCf2te&(R-28;a<1tDqjDU*qlzZ=c6nE zmo-2KyZ|<;ZB1M$*re(<8}}7ha#h>gILYPUs%n|J2)C-XiIZ&W0ZA8_H5cM-+$!W* z)z-k}!n~@=25Z1N(q?S|Us#9IIS!^76{U!cC_nW-2;)uBU>{``xJS^w!-#)^_DQ5epn3C4f>|Lc8ZBI#xl`EdE+I5G6+#`sPQ6&67a!#n&v zw56_U@yFF09>jMFWQl+&Y+bM*3;h3-Z}E`@dVWfdo{wELQ?)}Saz@U~EqV57Aum-g zOcAR+PrdXy_lR`-`TGOU{POFTi3=(#FU9y6&Y5uIm}{ z6xHiVkFEMr{l$w9wU2M~$MFxJC36J|lMqPdvjI|stW7P=P1`3$5&=jFKTKIBh90rU zV`$X)H|#Cc229Y7S1BP-;89AZQYIy#zZ8IHVlq5R8BO&K